]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
[grub2.git] / ChangeLog
CommitLineData
22815526
RM
12009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2
3 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
4 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6 (led_status): New variable.
7 (keyboard_controller_led): New function.
8 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
9 update led status for caps lock, num lock and scroll lock.
10
0ad46fd7
FZ
112009-12-25 Felix Zielcke <fzielcke@z-51.de>
12
13 * util/hostdisk.c (open_device): Fix a comment.
14
d0e158c2
RM
152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16
17 * util/grub-install.in (host_os): New variable.
18 * util/i386/efi/grub-install.in (host_os): Likewise.
19
401c0ad6
RM
202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21
22 * util/mkisofs/write.c (padblock_write): Abort when given an
23 excedingly large embed image, instead of silently truncating it.
24
d14d3370
RM
252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26
27 * include/multiboot.h: Indentation fixes.
28
eeed10b4
RM
292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30
31 * include/multiboot.h (struct multiboot_aout_symbol_table)
32 (struct multiboot_elf_section_header_table): New structure
33 declarations (stolen from GRUB Legacy).
34 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
35 table information.
36
37 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
38 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
39 type aliases.
40
681c70ab
RM
412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
42
43 * include/multiboot.h: Make comments src2texi-friendly.
44
e4d47d8d
RM
452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
46
47 For consistency with [multiboot]/docs/boot.S.
48
49 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
50 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
51 (MULTIBOOT_MAGIC2): Rename from this ...
52 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
53
a0b70bda
RM
542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
55
56 * include/multiboot.h: Remove `<grub/types.h>'.
57 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
58 types. Update all users.
59
61ba42be 602009-12-25 Carles Pina i Estany <carles@pina.cat>
61
62 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
63 `couldn't' and `can not' by `cannot'.
64 * commands/i386/pc/drivemap.c: Likewise.
65 * disk/ata.c: Likewise.
66 * disk/ieee1275/nand.c: Likewise.
67 * fs/affs.c: Likewise.
68 * fs/fat.c: Likewise.
69 * fs/hfs.c: Likewise.
70 * fs/hfsplus.c: Likewise.
71 * fs/iso9660.c: Likewise.
72 * fs/jfs.c: Likewise.
73 * fs/minix.c: Likewise.
74 * fs/reiserfs.c: Likewise.
75 * fs/sfs.c: Likewise.
76 * fs/udf.c: Likewise.
77 * fs/ufs.c: Likewise.
78 * fs/xfs.c: Likewise.
79 * loader/powerpc/ieee1275/linux.c: Likewise.
80 * loader/sparc64/ieee1275/linux.c: Likewise.
81 * util/grub-probe.c: Likewise.
82 * util/misc.c: Likewise.
83
7fd0baee 842009-12-24 Carles Pina i Estany <carles@pina.cat>
85
86 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
87 grub_errno calls.
88 * commands/acpi.c: Likewise.
89 * commands/blocklist.c: Likewise.
90 * commands/efi/loadbios.c: Likewise.
91 * commands/i386/pc/drivemap.c: Likewise.
92 * commands/loadenv.c: Likewise.
93 * commands/memrw.c: Likewise.
94 * commands/password.c: Likewise.
95 * commands/videotest.c: Likewise.
96 * disk/ata.c: Likewise.
97 * disk/ata_pthru.c: Likewise.
98 * disk/dmraid_nvidia.c: Likewise.
99 * disk/ieee1275/nand.c: Likewise.
100 * disk/ieee1275/ofdisk.c: Likewise.
101 * disk/loopback.c: Likewise.
102 * disk/lvm.c: Likewise.
103 * disk/mdraid_linux.c: Likewise.
104 * disk/raid.c: Likewise.
105 * disk/raid6_recover.c: Likewise.
106 * disk/scsi.c: Likewise.
107 * efiemu/main.c: Likewise.
108 * efiemu/mm.c: Likewise.
109 * efiemu/pnvram.c: Likewise.
110 * efiemu/symbols.c: Likewise.
111 * font/font.c: Likewise.
112 * fs/cpio.c: Likewise.
113 * fs/hfsplus.c: Likewise.
114 * fs/iso9660.c: Likewise.
115 * fs/jfs.c: Likewise.
116 * fs/minix.c: Likewise.
117 * fs/ntfs.c: Likewise.
118 * fs/ntfscomp.c: Likewise.
119 * fs/reiserfs.c: Likewise.
120 * fs/ufs.c: Likewise.
121 * fs/xfs.c: Likewise.
122 * gettext/gettext.c: Likewise.
123 * include/grub/auth.h: Likewise.
124 * kern/elf.c: Likewise.
125 * kern/file.c: Likewise.
126 * kern/ieee1275/init.c: Likewise.
127 * kern/ieee1275/mmap.c: Likewise.
128 * kern/ieee1275/openfw.c: Likewise.
129 * kern/powerpc/dl.c: Likewise.
130 * kern/sparc64/dl.c: Likewise.
131 * lib/arg.c: Likewise.
132 * loader/i386/bsd.c: Likewise.
133 * loader/i386/bsdXX.c: Likewise.
134 * loader/i386/efi/linux.c: Likewise.
135 * loader/i386/efi/xnu.c: Likewise.
136 * loader/i386/ieee1275/linux.c: Likewise.
137 * loader/i386/linux.c: Likewise.
138 * loader/i386/multiboot.c: Likewise.
139 * loader/i386/pc/linux.c: Likewise.
140 * loader/i386/pc/multiboot2.c: Likewise.
141 * loader/i386/xnu.c: Likewise.
142 * loader/ieee1275/multiboot2.c: Likewise.
143 * loader/macho.c: Likewise.
144 * loader/machoXX.c: Likewise.
145 * loader/multiboot2.c: Likewise.
146 * loader/multiboot_loader.c: Likewise.
147 * loader/powerpc/ieee1275/linux.c: Likewise.
148 * loader/sparc64/ieee1275/linux.c: Likewise.
149 * loader/xnu.c: Likewise.
150 * loader/xnu_resume.c: Likewise.
151 * mmap/i386/pc/mmap.c: Likewise.
152 * normal/menu_viewer.c: Likewise.
153 * partmap/acorn.c: Likewise.
154 * partmap/amiga.c: Likewise.
155 * partmap/apple.c: Likewise.
156 * script/lexer.c: Likewise.
157 * term/gfxterm.c: Likewise.
158 * term/i386/pc/serial.c: Likewise.
159 * term/i386/pc/vga.c: Likewise.
160 * term/ieee1275/ofconsole.c: Likewise.
161 * term/terminfo.c: Likewise.
162 * video/bitmap.c: Likewise.
163 * video/efi_gop.c: Likewise.
164 * video/efi_uga.c: Likewise.
165 * video/fb/video_fb.c: Likewise.
166 * video/i386/pc/vbe.c: Likewise.
167 * video/readers/tga.c: Likewise.
168 * video/video.c: Likewise.
169
0ad46fd7 1702009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
171
172 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
173 * commands/lspci.c: Likewise.
174 * commands/probe.c: Likewise.
175 * commands/xnu_uuid.c: Likewise.
176 * conf/i386-coreboot.rmk: Likewise.
177 * conf/i386-efi.rmk: Likewise.
178 * conf/i386-ieee1275.rmk: Likewise.
179 * conf/i386-pc.rmk: Likewise.
180 * conf/powerpc-ieee1275.rmk: Likewise.
181 * conf/sparc64-ieee1275.rmk: Likewise.
182 * conf/x86_64-efi.rmk: Likewise.
183 * fs/i386/pc/pxe.c: Likewise.
184 * gettext/gettext.c: Likewise.
185 * include/grub/efi/graphics_output.h: Likewise.
186 * include/grub/i386/pc/memory.h: Likewise.
187 * kern/env.c: Likewise.
188 * kern/i386/qemu/startup.S: Likewise.
189 * lib/i386/pc/biosnum.c: Likewise.
190 * lib/i386/relocator.c: Likewise.
191 * lib/i386/relocator_asm.S: Likewise.
192 * lib/relocator.c: Likewise.
193 * loader/i386/bsd.c: Likewise.
194 * loader/i386/multiboot.c: Likewise.
195 * loader/i386/pc/chainloader.c: Likewise.
196 * loader/i386/xnu.c: Likewise.
197 * loader/xnu.c: Likewise.
198 * normal/main.c: Likewise.
199 * normal/menu_text.c: Likewise.
200 * util/getroot.c: Likewise.
201 * util/grub-mkconfig_lib.in: Likewise.
202 * util/grub.d/00_header.in: Likewise.
203 * util/i386/pc/grub-mkimage.c: Likewise.
204 * util/mkisofs/eltorito.c: Likewise.
205 * util/mkisofs/exclude.h: Likewise.
206 * util/mkisofs/hash.c: Likewise.
207 * util/mkisofs/iso9660.h: Likewise.
208 * util/mkisofs/joliet.c: Likewise.
209 * util/mkisofs/mkisofs.c: Likewise.
210 * util/mkisofs/mkisofs.h: Likewise.
211 * util/mkisofs/multi.c: Likewise.
212 * util/mkisofs/name.c: Likewise.
213 * util/mkisofs/rock.c: Likewise.
214 * util/mkisofs/tree.c: Likewise.
215 * util/mkisofs/write.c: Likewise.
216 * video/efi_gop.c: Likewise.
217
009ec743
VS
2182009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
221 size counting.
222
0ad46fd7 2232009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
224
225 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
226 * genmk.rb (class SCRIPT): Modify the target file instead of source.
227
d3d30ea0
VS
2282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
231 (GRUB_MOD_INIT(memrw)): Update help line.
232
a34f5c70
VS
2332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
236 Use grub_extcmd_t. All users updated.
237 (options): New variable.
238 (grub_cmd_read): Restructure for readability. Support "-v" option.
239 (grub_cmd_write): Restructure for readability.
240
0ad46fd7 2412009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
242
243 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
244
0ad46fd7 2452009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
246
247 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
248 with the actual contents of the correspondending make variable.
249 * util/grub-mkrescue.in (pkglib_DATA): New variable.
250 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
251 specifying `*.lst' and `efiemu??.o'
252
0ad46fd7 2532009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
254
255 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
256 after function name.
257 Noticed by Rene Engelhard <rene@debian.org>.
258
dc77a799
VS
2592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
262 (options): New variable.
263 (iospace): Likewise.
264 (grub_lspci_iter): List IO spaces if "-i" was given.
265 (grub_cmd_lspci): Parse options.
266 (GRUB_MOD_INIT(lspci)): Use extcmd.
267 (GRUB_MOD_FINI(lspci)): Likewise.
268
0ad46fd7 2692009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
270
271 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
272 `function' keyword.
273 Patch by Tony Mancill <tmancill@debian.org>.
274
b5d5993b
VS
2752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
278 (grub_uhci_portstatus): Likewise.
279 (grub_uhci_portstatus): Add necessary delay.
11d18281 280 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 281
941903f2 2822009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 283
941903f2 284 * commands/acpi.c (options): Fix capitalizations and/or full stops.
285 (GRUB_MOD_INIT): Likewise.
286 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 287 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
288 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 289 * commands/efi/loadbios.c (enable_rom_area): Likewise.
290 (enable_rom_area): Likewise.
291 (GRUB_MOD_INIT): Likewise.
292 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
293 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
294 * commands/handler.c (GRUB_MOD_INIT): Likewise.
295 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
296 * commands/hexdump.c (options): Likewise.
297 * commands/i386/cpuid.c (options): Likewise.
298 (GRUB_MOD_INIT): Likewise.
299 * commands/i386/pc/drivemap.c (options): Likewise.
300 (GRUB_MOD_INIT): Likewise.
301 * commands/i386/pc/halt (options): Likewise.
302 (GRUB_MOD_INIT): Likewise.
303 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
304 * commands/i386/pc/pxecmd.c (options): Likewise.
305 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
306 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
307 * commands/keystatus.c (options): Likewise.
308 (GRUB_MOD_INIT): Likewise.
309 * commands/loadenv.c (options): Likewise.
310 * commands/ls.c (options): Likewise.
311 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
312 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
313 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
314 * commands/parttool.c (helpmsg): Likewise.
315 * commands/probe.c (options): Likewise.
316 * commands/read.c (GRUB_MOD_INIT): Likewise.
317 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
318 * commands/search.c (options): Likewise.
319 * commands/sleep.c (options): Likewise.
320 * commands/test.c (GRUB_MOD_INIT): Likewise.
321 * commands/true.c (GRUB_MOD_INIT): Likewise.
322 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
323 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
324 * lib/arg.c (help_options): Likewise.
e9bbb4e7 325 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
326 `$(XGETTEXT)'.
98a50553 327 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 328
0ad46fd7 3292009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 330
ef3c2c3a 331 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
332 instead of specifying them explicit.
333
7922f68b
RM
3342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
335
336 * NEWS: Add grub-probe support for GNU/Hurd.
337
537ce47f
RM
3382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
339
340 * NEWS: gettext was added after 1.97.
341
9b214e3a
RM
3422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
343
344 * util/mkisofs/msdos_partition.h: New file (based on
345 include/grub/msdos_partition.h).
346 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
347 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
348 (ld_options, main): Recognize --protective-msdos-label.
349 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
350 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
351 (padblock_write): If `use_protective_msdos_label' is set, patch a
352 protective DOS-style label in the output image.
353
354 * util/grub-mkrescue.in: Use --protective-msdos-label.
355
e9309813
RM
3562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
357
358 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
359 boot.
360
0ae56929
RM
3612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
362
363 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
364 variables.
365 (ld_options, main): Recognize `--embedded-boot'.
366 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
367 declarations.
368 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
369 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
370 (padblock_write): Likewise. Rewrite to support embedded boot image.
371
372 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
373 for BIOS-based disk boot instead of only ElTorito.
374
b15937b1
RM
3752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
376
377 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
378 build (not needed for bootstrap).
379
52cc3ce0
RM
3802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
381
382 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
383 from i386-pc build (not needed for bootstrap).
384 Rewrite a pair of strings.
385
36f5ff04
RM
3862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
387
388 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
389
973c6c85 3902009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
391
392 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
393
05d21547
AB
3942009-12-21 Andreas Born <futur.andy@googlemail.com>
395
396 * kern/env.c (grub_env_context_open): Mark exported variable for
397 reexport.
398
0175d51f
AB
3992009-12-21 Andreas Born <futur.andy@googlemail.com>
400
401 * kern/env.c (grub_env_export): Create nonexistent variables before
402 exporting.
403
7f39d92f 4042009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 405
7f39d92f 406 * include/grub/auth.h: Include `<grub/i18n.h>'.
407 (GRUB_GET_PASSWORD): Gettextizze string.
408 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
409 menu_text.c.
410 (grub_utf8_to_ucs4_alloc): Fix indentation.
411 (grub_print_ucs4): Likewise.
412 (grub_getstringwidth): Likewise.
413 (print_message_indented): New declaration.
414 * normal/auth.c: Include `<grub/i18n.h>'.
415 (grub_auth_check_authentication): Gettexttize string.
416 * normal/cmdline.c: Include `<grub/i18n.h>'.
417 (grub_cmdline_get): Gettextizze.
418 * normal/color.c: Include `<grub/i18n.h>'.
419 (grub_parse_color_name_pair): Gettexttize strings.
420 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
421 string (use `print_message_indented').
422 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
423 `include/grub/normal.h'.
424 (print_message_indented): Renamed to ...
425 (grub_print_message_indented): ... this. Remove `static' qualifer (now
426 used in normal/main.c).
427 (print_message): Use `grub_print_message_indented' instead of
428 `print_message_indented'.
429 (print_timeout): Likewise.
430 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
431 (grub_normal_print_device_info): Gettexttize strings.
432 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
433
3041d898
VS
4342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
437 of arguments. Return number of tokens and not arguments. All users
438 updated.
439
de15bf8e
VS
4402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
443 non-MSDOS paritions.
444
e0a6ca52
VS
4452009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * include/grub/types.h (UNUSED): Removed since it conflicts with
448 NetBSD headers. All users changed to direct __attribute__ ((unused)).
449 Reported by Grégoire Sutre.
450
b99518d1 4512009-12-19 Carles Pina i Estany <carles@pina.cat>
452
453 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
454 (grub_print_ucs4_alloc): Likewise.
455 (grub_getstringwidth): Likewise.
456 * normal/main.c (grub_normal_init_page): Gettextize version string.
457 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
458 (getstringwidth): Renamed to ...
459 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
460 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
461 (grub_print_ucs4): Remove `static' qualifer (now used in
462 normal/main.c).
463 * po/POTFILES: Add normal/main.c.
464
bfd5e52b 4652009-12-19 Carles Pina i Estany <carles@pina.cat>
466
467 * normal/menu_text.c (STANDARD_MARGIN): New macro.
468 (print_message_indented): Add `margin_left' and `margin_right'
469 parameters.
470 (print_message): Update `print_message_indented' calls. Adds '\n' to the
471 strings.
472 (print_timeout): Use `print_message_indented' to print the message.
473 Deletes `second_stage' parameter.
474 (run_menu): Update `print_timeout' calls.
475
5a1ad2b9
VS
4762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Fix console palette on OpenFirmware.
479
480 * term/ieee1275/ofconsole.c (MAX): Removed.
481 (colors): Redone based on VGA palette.
482 (grub_ofconsole_setcolor): Discard brightness bit since only 8
483 colors are supported.
484 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
485
b045f00a
VS
4862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Fix potential EfiEmu double prepare.
489
490 * efiemu/main.c (prepared): New variable
491 (grub_efiemu_unload): Set prepare to '0'.
492 (grub_efiemu_prepare): Return if already prepared. Set prepared.
493
494 set_virtual_address_map support.
495
496 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
497 prototype.
498 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
499 prototype.
500 (grub_efiemu_crc32): Likewise.
501 (grub_efiemu_crc64): Likewise.
502 (grub_efiemu_set_virtual_address_map): Likewise.
503 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
504 New definition.
505 (grub_autoefi_set_virtual_address_map): Likewise.
506 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
507 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
508 Restructure flow to accomodate it.
509 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
510 (grub_efiemu_crc): Recompute CRC32.
511 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
512 (efiemu_ptv_relocated): ... this. Made global. All users updated.
513 * efiemu/symbols.c (relocated_handle): New variable.
514 (grub_efiemu_free_syms): Free relocated_handle.
515 (grub_efiemu_alloc_syms): Allocate relocated_handle.
516 (grub_efiemu_write_sym_markers): New function.
517 (grub_efiemu_set_virtual_address_map): Likewise.
518
519 Newer XNU parameters.
520
521 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
522 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
523 (grub_xnu_fill_devicetree): New prototype.
524 (grub_xnu_heap_real_start): New variable.
525 * loader/xnu.c (get_name_ptr): New function.
526 (grub_xnu_load_driver): Fill namelen and name.
527
528 64-bit xnu support.
529
530 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
531 and 'loader/macho64.c'.
532 * conf/i386-pc.rmk: Likewise.
533 * conf/x86_64-efi.rmk: Likewise.
534 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
535 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
536 * include/grub/macho.h (grub_macho_segment64): New structure.
537 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
538 (grub_macho_size32): ... to this.
539 (grub_macho32_get_entry_point): Renamed from ...
540 (grub_macho_get_entry_point32): ... to this.
541 (grub_macho_contains_macho64): New prototype.
542 (grub_macho_size64): Likewise.
543 (grub_macho_get_entry_point64): Likewise.
544 (grub_macho32_load): Renamed from ...
545 (grub_macho_load32): ... to this.
546 (grub_macho32_filesize): Renamed from ...
547 (grub_macho_filesize32): ... to this.
548 (grub_macho32_readfile): Renamed from ...
549 (grub_macho_readfile32): ... to this.
550 (grub_macho_filesize64): New prototype.
551 (grub_macho_readfile64): Likewise.
552 (grub_macho_parse32): Likewise.
553 (grub_macho_parse64): Likewise.
554 * loader/macho.c: Split into ...
555 * loader/machoXX.c: ... and this. Replace 32 with XX.
556 * loader/macho32.c: New file.
557 * loader/macho64.c: Likewise.
558 * loader/xnu.c (grub_xnu_is_64bit): New variable.
559 (grub_cmd_xnu_kernel): Make 32-bit only.
560 (grub_cmd_xnu_kernel64): New function.
561 (grub_xnu_load_driver): Support Mach-O 64.
562 (grub_cmd_xnu_mkext): Likewise.
563 * util/grub.d/30_os-prober.in (osx_entry): New function.
564 Generate entries for 64-bit boot too.
565
566 Eliminate ad-hoc tree format in XNU and EfiEmu.
567
568 * efiemu/main.c (grub_efiemu_prepare): Update comment.
569 * efiemu/pnvram.c: Rewritten to use environment variables.
570 All users updated.
571
572 Inline utf16_to_utf8.
573
574 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
575 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
576 All users updated.
577 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
578
579 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
580 * commands/usbtest.c (grub_usb_get_string): ... move here.
581 (usb_print_str): Fix error handling.
582 * include/grub/usb.h (grub_usb_get_string): Remove.
583
584 UTF-8 to UTF-16 transformation.
585
586 * conf/common.rmk (pkglib_MODULES): Add charset.mod
587 (charset_mod_SOURCES): New variable.
588 (charset_mod_CFLAGS): Likewise.
589 (charset_mod_LDFLAGS): Likewise.
590 * include/grub/utf.h: New file.
591 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
592
593 Support for device properties.
594
595 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
596 (grub_xnu_devprop_device_header): Likewise.
597 (grub_xnu_devprop_device_descriptor): Likewise.
598 (grub_xnu_devprop_add_device): New prototype.
599 (grub_xnu_devprop_remove_device): Likewise.
600 (grub_xnu_devprop_remove_property): Likewise.
601 (grub_xnu_devprop_add_property_utf8): Likewise.
602 (grub_xnu_devprop_add_property_utf16): Likewise.
603 (grub_cpu_xnu_init): Likewise.
604 (grub_cpu_xnu_fini): Likewise.
605 (grub_cpu_xnu_unload): Likewise.
606 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
607 (property_descriptor): Likewise.
608 (devices): New variable.
609 (grub_xnu_devprop_remove_property): New function.
610 (grub_xnu_devprop_add_device): Likewise.
611 (grub_xnu_devprop_remove_device): Likewise.
612 (grub_xnu_devprop_add_property): Likewise.
613 (grub_xnu_devprop_add_property_utf8): Likewise.
614 (grub_xnu_devprop_add_property_utf16): Likewise.
615 (hextoval): Likewise.
616 (grub_cpu_xnu_fill_devprop): Likewise.
617 (grub_cmd_devprop_load): Likewise.
618 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
619 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
620 (cmd_devprop_load): New variable.
621 (grub_cpu_xnu_init): New function.
622 (grub_cpu_xnu_fini): Likewise.
623 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
624 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
625 (grub_cmd_xnu_devtree): Likewise.
626 (hextoval): New function.
627 (unescape): Likewise.
628 (grub_xnu_fill_devicetree): Likewise.
629
630 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
631 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
632
0945f181
VS
6332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
634
635 Workaround for broken ATI VBE.
636
637 * video/i386/pc/vbe.c (last_set_mode): New variable.
638 (grub_vbe_set_video_mode): Set 'last_set_mode'.
639 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
640 (grub_video_vbe_setup): Don't check for reserved flag.
641
0ad46fd7 6422009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
643
644 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
645 the `find' command.
646
c179ebe4
VS
6472009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
648
649 UUID support for HFS.
650
651 * fs/hfs.c (grub_hfs_uuid): New function.
652 (grub_hfs_fs): New value .uuid.
653 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
654
0ad46fd7 6552009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
656
657 Fix a segfault with parsing unknown long options.
658
659 * util/grub-mkrelpath.c (options): Zero terminate it.
660
c4a3e41a
CPE
6612009-12-13 Carles Pina i Estany <carles@pina.cat>
662
663 * include/grub/misc.h (grub_puts): New declaration.
664 (grub_puts_): Likewise.
a22008a6 665 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
666 (grub_puts_): Likewise.
667
2e8a7602
RM
6682009-12-13 Robert Millan <rmh.grub@aybabtu.com>
669
670 * util/grub-probe.c (probe): Improve error message.
671
b50b77b9
RM
6722009-12-13 Robert Millan <rmh.grub@aybabtu.com>
673
674 * loader/i386/multiboot_elfxx.c
675 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
676 initialization.
677
6782009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Relocator framework
681
682 * loader/i386/xnu_helper.S: Removed. All users updated.
683 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
684 (relocator_mod_SOURCES): New variable.
685 (relocator_mod_CFLAGS): Likewise.
686 (relocator_mod_LDFLAGS): Likewise.
687 (relocator_mod_ASFLAGS): Likewise.
688 * conf/x86_64.rmk: Likewise.
689 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
690 (grub_multiboot_payload_entry_offset): Likewise.
691 (grub_multiboot_forward_relocator): Likewise.
692 (grub_multiboot_forward_relocator_end): Likewise.
693 (grub_multiboot_backward_relocator): Likewise.
694 (grub_multiboot_backward_relocator_end): Likewise.
695 (grub_multiboot_payload_eip): New variable.
696 (grub_multiboot_payload_orig): Likewise.
697 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
698 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
699 * include/grub/i386/memory.h
700 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
701 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
702 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
703 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
704 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
705 * include/grub/i386/relocator.h: New file.
706 * include/grub/x86_64/relocator.h: Likewise.
707 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
708 (XNU_RELOCATOR): New macro.
709 (grub_xnu_launcher_start): Remove.
710 (grub_xnu_launcher_end): Likewise.
711 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
712 (grub_xnu_heap_real_start): Remove.
713 (grub_xnu_heap_start): Change to void *. All users updated.
714 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
715 * lib/i386/relocator.c: New file.
716 * lib/i386/relocator_asm.S: Likewise.
717 * lib/i386/relocator_backward.S: Likewise.
718 * lib/mips/relocator.c: Likewise.
719 * lib/mips/relocator_asm.S: Likewise.
720 * lib/relocator.c: Likewise.
721 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
722 (entry): Removed.
723 (playground): Likewise.
724 (grub_multiboot_payload_orig): New variable.
725 (grub_multiboot_payload_dest): Likewise.
726 (grub_multiboot_payload_size): Likewise.
727 (grub_multiboot_payload_eip): Likewise.
728 (grub_multiboot_payload_esp): Likewise.
729 (grub_multiboot_boot): Use grub_relocator32_boot.
730 (grub_multiboot_unload): Free relocators.
731 (grub_multiboot): Setup stack. Use relocators.
732 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
733 (grub_multiboot_load_elfXX): Use relocators.
734 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
735 (grub_multiboot_payload_size): Likewise.
736 (grub_multiboot_payload_dest): Likewise.
737 (grub_multiboot_payload_entry_offset): Likewise.
738 (grub_multiboot_forward_relocator): Likewise.
739 (grub_multiboot_backward_relocator): Likewise.
740 (grub_multiboot_real_boot): Likewise.
741 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
742 (grub_xnu_entry_point): Likewise.
743 (grub_xnu_arg1): Likewise.
744 (grub_xnu_stack): Likewise.
745 (grub_xnu_launch): Removed.
746 (grub_xnu_boot_resume): New function.
747 (grub_xnu_boot): Use relocators.
748 * loader/i386/xnu_helper.S: Removed.
749 * loader/xnu.c (grub_xnu_heap_start): New variable.
750 (grub_xnu_heap_size): Likewise.
751 (grub_xnu_heap_malloc): Use relocators.
752 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
753
29eb90c6
VS
7542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
757 anything.
758
31027430
CPE
7592009-12-13 Carles Pina i Estany <carles@pina.cat>
760
761 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
762 GRUB_ERR_NONE before calling grub_env_set.
763
dc0c71d9
RM
7642009-12-12 Robert Millan <rmh@aybabtu.com>
765
766 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
767 * genmk.rb (video): New variable.
768 (CLEANFILES, VIDEOFILES): Add #{video}.
769 (#{video}): New target rule.
770 * genvideolist.sh: New file.
771 * Makefile.in (pkglib_DATA): Add video.lst.
772 (video.lst): New target rule.
773 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
774 `video.lst'.
775 * util/grub.d/30_os-prober.in: Replace `vbe' with
776 ${GRUB_VIDEO_BACKEND}.
777
2a4bfcf0
RM
7782009-12-11 Robert Millan <rmh.grub@aybabtu.com>
779
780 * THANKS: Add David Miller.
781
2a3aa4d5
RM
7822009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
783
784 libpciaccess support.
785
786 * Makefile.in (LIBPCIACCESS): New variable.
787 (enable_grub_emu_pci): Likewise.
788 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
789 util/pci.c and commands/lspci.c.
790 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
791 * configure.ac (grub-emu-pci): New option.
792 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
793 (grub_pci_device_unmap_range): Likewise.
794 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
795 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
796 (grub_pci_address_t) [!GRUB_UTIL]: New type.
797 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
798 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
799 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
800 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
801 * include/grub/pciutils.h: New file.
802 * util/pci.c: Likewise.
803
0ad46fd7 8042009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
805
806 * util/misc.c: Don't include <errno.h> twice.
807
0ad46fd7 8082009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
809
810 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
811 name in an error message.
812 (grub_biosdisk_rw): Likewise.
813
2e59983c
VS
8142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Eliminate NTFS 4Gib barrier.
817
818 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
819 (read_run_data): Likewise.
820 (grub_ntfs_read_run_list): Likewise.
821 (grub_ntfs_read_block): Likewise.
822 (grub_ntfs_iterate_dir): Likewise.
823 (read_mft): Likewise.
824 (read_data): Likewise.
825 Use COM_LOG_LEN.
826 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
827 to avoid 64-bit division
828 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
829 (grub_ntfs_rlst): Use grub_disk_addr_t.
830
71ee178a
VS
8312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
832
833 Eliminate grub-fstest 4Gib barrier.
834
835 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
836 (read_file): Fix error reporting.
837
2520d4b8
VS
8382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Eliminate hexdump 4Gib barrier.
841
842 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
843 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
844
e1f27065
VS
8452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
848 Fixes amarsh bug.
849
1a0f7f45
RM
8502009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
851
852 Remove miscellaneous files in distclean target.
853
854 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
855
c631d9fb
CW
8562009-12-09 Colin Watson <cjwatson@ubuntu.com>
857
858 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
859 if they're already set. This resolves the conflict between my
860 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
861 fixing the --grub-probe option again.
862 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
863 change on 2009-10-06, so that we now once again source
864 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
865
7c7b6106
RM
8662009-12-08 Robert Millan <rmh.grub@aybabtu.com>
867
868 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
869 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
870 `util/devicemap.c'.
871
e3069ec1
CPE
8722009-12-08 Carles Pina i Estany <carles@pina.cat>
873
874 * include/grub/misc.h (grub_printf_): New declaration.
875 * kern/misc.c (grub_printf_): New definition.
876 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
877 instead of `grub_printf' and `_'.
878 * normal/menu_entry.c (store_completion): Likewise.
879 (run): Likewise.
880 (grub_menu_entry_run): Likewise.
881 * normal/menu_text.c (grub_wait_after_message): Likewise.
882 (notify_booting): Likewise.
883 (notify_fallback): Likewise.
884 (notify_execution_failure): Likewise.
885
d6ceebf1
CW
8862009-12-07 Colin Watson <cjwatson@ubuntu.com>
887
888 * configure.ac: Check for vasprintf.
889 * util/misc.c (asprintf): Move allocation from here ...
890 (vasprintf): ... to here. New function.
891 (xasprintf): New function.
892 * include/grub/util/misc.h (vasprintf, xasprintf): Add
893 prototypes.
894 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
895 * util/grub-mkfont.c (write_font): Likewise.
896 * util/grub-probe.c (probe): Likewise.
897 * util/hostdisk.c (make_device_name): Likewise.
898
de6daa8b
DM
8992009-12-06 David S. Miller <davem@sunset.davemloft.net>
900
901 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
902 anything even prefixed with 'cdrom' as a cdrom.
903
0ad46fd7 9042009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
905
906 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
907 mount points.
908
98d3dc02
CPE
9092009-12-05 Carles Pina i Estany <carles@pina.cat>
910
911 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
912 grub_gettext_msg_list.
913 (grub_gettext_gettranslation_from_position): Return const char *
914 and not char *.
a2c1332b 915 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
916 returns from the list if existing there.
917 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
918 (grub_gettext_delete_list): Delete the list.
919 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
920 lang environment variable is changed.
921 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
922
b283f108
VS
9232009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Rename kernel.mod to kernel.img.
926
927 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
928 (kernel_mod_EXPORTS): Rename to ...
929 (kernel_img_EXPORTS): ... this.
930 (kernel_mod_SOURCES): Rename to ...
931 (kernel_img_SOURCES): ... this.
932 (kernel_mod_HEADERS): Rename to ...
933 (kernel_img_HEADERS): ... this. All users updated.
934 (kernel_mod_CFLAGS): Rename to ...
935 (kernel_img_CFLAGS): ... this.
936 (kernel_mod_ASFLAGS): Rename to ...
937 (kernel_img_ASFLAGS): ... this.
938 (kernel_mod_LDFLAGS): Rename to ...
939 (kernel_img_LDFLAGS): ... this.
940 * conf/x86_64-efi.rmk: Likewise.
941 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
942 (read_kernel_image): ... this. All users updated.
943 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
944
69055f8a
CPE
9452009-12-05 Carles Pina i Estany <carles@pina.cat>
946
947 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
948 (print_spaces): New function.
949 (grub_print_ucs4): New function.
950 (getstringwidth): New function.
951 (print_message_indented): New function.
952 (print_message): Gettexttize strings using print_message_indented.
953 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
954 width.
955 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 956 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
957 Gettextize.
958 * normal/menu_entry.c (store_completion): Cleanup the gettextized
959 string.
960 (run): Likewise.
961 (grub_menu_entry_run): Likewise.
962 * PO/POTFILES: Add normal/menu_entry.c.
963
f616f51c
VS
9642009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
967
57bbe3be
CPE
9682009-12-05 Carles Pina i Estany <carles@pina.cat>
969
970 * util/grub-install.in: Install gettext .mo files.
971 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
972
013d67a1
CPE
9732009-12-05 Carles Pina i Estany <carles@pina.cat>
974
975 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
976 grub_dprintf.
977
fb954db0
RM
9782009-12-05 Robert Millan <rmh.grub@aybabtu.com>
979
980 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
981 non-firmware-dependant one in realmode.S takes precedence.
982
6b8474f8
RM
9832009-12-04 Robert Millan <rmh.grub@aybabtu.com>
984
985 * commands/halt.c: Replace misc arch-specific headers with
986 `<grub/misc.h>'.
987 * commands/reboot.c: Likewise.
988 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
989 `<grub/misc.h>'.
990 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
991 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
992 (kernel_img_SOURCES): ... to here.
993
994 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
995 * include/grub/i386/pc/init.h: Likewise.
996 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
997 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
998
999 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1000
1001 * include/grub/i386/halt.h: Remove.
1002 * include/grub/i386/reboot.h: Likewise.
1003
1004 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1005
4b2e6ca2
DM
10062009-12-03 David S. Miller <davem@sunset.davemloft.net>
1007
1008 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1009 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1010 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1011 "progname.h"
1012 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1013 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1014 (usage): Add missing comma in printf.
1015
5239348f
RM
10162009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1017
1018 Use the same reboot approach on i386 coreboot and qemu as we do on
1019 BIOS.
1020
1021 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1022 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1023 * kern/i386/reboot.c: Remove.
1024 * include/grub/i386/reboot.h (grub_reboot): Export function.
1025 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1026 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1027 0xf000:0xfff0 instead of 0xffff:0x0000.
1028 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1029 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1030
ef34cbd4
RM
10312009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1032
1033 Fix $srcdir != $objdir build.
1034
1035 * Makefile.in (po/%.po): Rewrite as ...
1036 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1037
dc9837ea
ST
10382009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1039
1040 Fix GNU/Hurd grub-install crash.
1041 * util/grub-probe.c (probe): Try to access `path' only when it is not
1042 NULL.
1043
2f857f98
VS
10442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Correct module naming.
1047
1048 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1049 (GRUB_MOD_INIT(efi_uga)): ... to this
1050 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1051 (GRUB_MOD_FINI(efi_uga)): ... to this
1052 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1053 (GRUB_MOD_INIT(efi_gop)): ... to this
1054 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1055 (GRUB_MOD_FINI(efi_gop)): ... to this
1056
c5448046
RM
10572009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1058
1059 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
1060 translatable.
1061 (usage): Translate `arg' strings using gettext().
1062 Thanks to Jordi Mallach for the suggestion.
1063
c85184ad
VS
10642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 GOP support. Based on patch from Bean
1067 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1068
1069 * video/efi_gop.c: New file.
1070 * include/grub/efi/graphics_output.h: Likewise.
1071 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
1072 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1073 variables.
1074 * conf/x86_64-efi.rmk: Likewise.
1075
8a4c48d8
VS
10762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Rename efi_fb to efi_uga.
1079
1080 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1081 'efi_uga.mod'.
1082 (efi_fb_mod_SOURCES): Rename this ...
1083 (efi_uga_mod_SOURCES): ... to this.
1084 (efi_fb_mod_CFLAGS): Rename this ...
1085 (efi_uga_mod_CFLAGS): ... to this.
1086 (efi_fb_mod_LDFLAGS): Rename this ...
1087 (efi_uga_mod_LDFLAGS): ... to this.
1088 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1089 'efi_uga.mod'.
1090 (efi_fb_mod_SOURCES): Rename this ...
1091 (efi_uga_mod_SOURCES): ... to this.
1092 (efi_fb_mod_CFLAGS): Rename this ...
1093 (efi_uga_mod_CFLAGS): ... to this.
1094 (efi_fb_mod_LDFLAGS): Rename this ...
1095 (efi_uga_mod_LDFLAGS): ... to this.
1096 * video/efi_fb.c: Move this ...
1097 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
1098
fb6c1a7b
RM
10992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1100
1101 * po/README: New file. Explain our PO file workflow.
1102
3bc7896c
RM
11032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1104
1105 * po/ChangeLog: Remove. Move relevant entries back to ...
1106 * ChangeLog: ... here.
1107 * po/ca.po: Remove (now handled by TLP).
1108 * po/id.po: Likewise.
1109 * po/zh_CN.po: Likewise.
1110 * Makefile.in (LINGUAS): Initialize in a way that supports
1111 empty set.
1112
9ed4841d
RM
11132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1114
1115 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
1116 reliing on po/LINGUAS.
1117 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
1118 (po/%.po): ... this.
1119
0ad46fd7 11202009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
1121
1122 * util/i386/efi/grub-mkimage.c: Include "progname.h".
1123 (main): Use `program_name' instead of nonexistent `progname'.
1124
e30dd392
FZ
11252009-11-26 Felix Zielcke <fzielcke@z-51.de>
1126
1127 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1128 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
1129
7656de4f
RM
11302009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1131
1132 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
1133 commit.
1134 * conf/i386-efi.rmk: Likewise.
1135 * conf/i386-ieee1275.rmk: Likewise.
1136 * conf/powerpc-ieee1275.rmk: Likewise.
1137 * conf/sparc64-ieee1275.rmk: Likewise.
1138 * conf/x86_64-efi.rmk: Likewise.
1139
db77c4d4
FZ
11402009-11-26 Felix Zielcke <fzielcke@z-51.de>
1141
1142 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
1143
a755bb04
FZ
11442009-11-26 Felix Zielcke <fzielcke@z-51.de>
1145
1146 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
1147
8a4c07fd
RM
11482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1149
1150 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
1151 (grub_mkdevicemap_SOURCES): New variable.
1152 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
1153 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
1154 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
1155 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
1156 (grub_mkdevicemap_SOURCES): Remove.
1157 * conf/i386-efi.rmk: Likewise.
1158 * conf/i386-ieee1275.rmk: Likewise.
1159 * conf/i386-pc.rmk: Likewise.
1160 * conf/powerpc-ieee1275.rmk: Likewise.
1161 * conf/sparc64-ieee1275.rmk: Likewise.
1162 * conf/x86_64-efi.rmk: Likewise.
1163 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
1164 (usage): Fix strings to use `program_name'.
1165 (main): Initialize gettext.
1166 * util/grub-editenv.c: Likewise.
1167 * util/grub-emu.c: Likewise.
1168 * util/grub-fstest.c: Likewise.
1169 * util/grub-mkdevicemap.c: Likewise.
1170 * util/grub-mkfont.c: Likewise.
1171 * util/grub-mkrelpath.c: Likewise.
1172 * util/grub-pe2elf.c: Likewise.
1173 * util/grub-probe.c: Likewise.
1174 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1175 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1176 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1177
1178 * util/misc.c: Include `"progname.h"'.
1179 (progname): Remove variable.
1180 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
1181
6f61ed55
FZ
11822009-11-25 Felix Zielcke <fzielcke@z-51.de>
1183
1184 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
1185 printf and print a newline after the menuentry header line.
1186 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1187
f022876b
FZ
11882009-11-25 Felix Zielcke <fzielcke@z-51.de>
1189
1190 autoconf >= 2.60 support $(localedir).
1191
1192 * INSTALL: Note that autoconf 2.60 is required.
1193 * configure.ac (AC_PREREQ): Bump to 2.60.
1194 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
1195 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1196
6717926e
YB
11972009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
1198
1199 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
1200 aclocal is run.
1201
08806a54
RM
12022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1203
1204 * normal/main.c (grub_normal_read_line): Fix off-by-one
1205 buffer overflow.
1206
13b33fba
RM
12072009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1208
1209 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
1210 "parser.grub" in grub_command_execute() call.
1211
4a8572e9
CPE
12122009-11-24 Carles Pina i Estany <carles@pina.cat>
1213
1214 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
1215 * conf/i386-efi.rmk: Likewise.
1216 * conf/i386-ieee1275.rmk: Likewise.
1217 * conf/i386-pc.rmk: Likewise.
1218 * conf/powerpc-ieee1275.rmk: Likewise.
1219 * conf/sparc64-ieee1275.rmk: Likewise.
1220 * conf/x86_64-efi.rmk: Likewise.
1221 * gettext/gettex.c: Include <grub/i18n.h>.
1222 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
1223 here ...
1224 * include/grub/i18n.h: ... to here
1225 * include/grub/i18n.h: ... to here.
1226 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 1227 (grub_gettext_dummy): Move above user.
4a8572e9 1228
bee48093
FZ
12292009-11-24 Felix Zielcke <fzielcke@z-51.de>
1230
1231 * util/Makefile.in (install-local): Convert a `for' into a normal
1232 shell expansion.
1233
a031e91c
RM
12342009-11-24 Robert Millan <rmh.grub@aybabtu.com>
1235
1236 * autogen.sh: Add automake call.
1237 * config.guess: Remove.
1238 * config.sub: Likewise.
1239 * install-sh: Likewise.
1240
26bec39d
FZ
12412009-11-24 Felix Zielcke <fzielcke@z-51.de>
1242
1243 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
1244
8e2532fd
FZ
12452009-11-24 Felix Zielcke <fzielcke@z-51.de>
1246
1247 * util/Makefile.in (install-local): Convert a make `$(foreach)'
1248 function to a normal shell `for'.
1249
fefa1b7d
FZ
12502009-11-24 Felix Zielcke <fzielcke@z-51.de>
1251
1252 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1253
4501250b
FZ
12542009-11-24 Felix Zielcke <fzielcke@z-51.de>
1255
1256 * util/grub-mkrelpath.c: New file.
1257 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
1258 (grub_mkrelpath_SOURCES): New variable.
1259 * include/grub/util/misc.h: New function prototype.
1260 * util/misc.c (make_system_path_relative_to_its_root): New function.
1261
1262 * util/grub-mkconfig_lib.in (bindir): New variable.
1263 (grub_mkrelpath): Likewise.
1264 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
1265
1266 * util/probe.c (probe): Make the file path relative to its root.
1267 Change a info message to use the GRUB path. Enable again the
1268 check if we can read the file with GRUB facilities.
1269
1270 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
1271 to its root.
1272
11d9778b
FZ
12732009-11-24 Felix Zielcke <fzielcke@z-51.de>
1274
1275 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
1276 platform.
1277
4465287d
FZ
12782009-11-24 Felix Zielcke <fzielcke@z-51.de>
1279
1280 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
1281 strncmp().
1282
62b47f22
FZ
12832009-11-24 Felix Zielcke <fzielcke@z-51.de>
1284
1285 * util/getroot.c (grub_util_is_dmraid): New function.
1286 (grub_util_get_dev_abstraction): Treat dmraid and multipath
1287 devices as normal ones, not as LVM.
1288
1eafb9b9 12892009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
1290
1291 * conf/common.rmk: Add grub-gettext_lib target and updates
1292 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
1293 LDFLAGS.
1294 * gettext/gettext.c: New file. (Reads mo files).
1295 * include/grub/file.h (grub_file_pread): New prototype.
1296 * include/grub/i18n.h (_): New prototype.
1297 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
1298 prototypes.
1299 * kern/misc.c (grub_gettext_dummy): New function.
1300 * normal/menu_text.c: Include <grub/i18n.h>.
1301 * normal/menu_text.c (print_timeout): Gettexttize string.
1302 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
1303 * po/POTFILES: Add `normal/menu_text.c'.
1304 * po/ca.po: Add new translations.
c3ea6bd4
CPE
1305 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
1306 gettext module and defines locale_dir and lang in grub.cfg.
1307 * NEWS: Add gettext support.
1308
0fdb2568
RM
13092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1310
1311 * util/hostdisk.c: Include `<grub/i18n.h>'.
1312 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
1313 (make_device_name): Rewrite using asprintf.
1314 (convert_system_partition_to_system_disk): Replace 0 with NULL.
1315 (find_system_device): If a device is not found, generate one just
1316 by reusing the OS path name.
1317 (read_device_map): Make it permissible for device.map not to exist.
1318
f515aa62
RM
13192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1320
1321 * script/sh/execute.c: Move from here ...
1322 * script/execute.c: ... to here. Update all users.
1323 * script/sh/function.c: Move from here ...
1324 * script/function.c: ... to here. Update all users.
1325 * script/sh/lexer.c: Move from here ...
1326 * script/lexer.c: ... to here. Update all users.
1327 * script/sh/main.c: Move from here ...
1328 * script/main.c: ... to here. Update all users.
1329 * script/sh/parser.y: Move from here ...
1330 * script/parser.y: ... to here. Update all users.
1331 * script/sh/script.c: Move from here ...
1332 * script/script.c: ... to here. Update all users.
1333
f84b481b
RM
13342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1335
1336 * configure.ac: Detect all `emu' platforms. Define
1337 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
1338 --enable-grub-emu logic. Disable include/grub/machine
1339 symlink on `emu' platforms.
1340
1341 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
1342 * gensymlist.sh.in: Likewise.
1343
1344 * include/grub/i386/coreboot/machine.h: Remove file.
1345 * include/grub/i386/efi/machine.h: Likewise.
1346 * include/grub/i386/ieee1275/machine.h: Likewise.
1347 * include/grub/i386/pc/machine.h: Likewise.
1348 * include/grub/i386/qemu/machine.h: Likewise.
1349 * include/grub/powerpc/ieee1275/machine.h: Likewise.
1350 * include/grub/sparc64/ieee1275/machine.h: Likewise.
1351 * include/grub/x86_64/efi/machine.h: Likewise.
1352
1353 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
1354 * commands/halt.c: Likewise.
1355 * commands/reboot.c: Likewise.
1356 * include/grub/autoefi.h: Likewise.
1357 * include/grub/i386/at_keyboard.h: Likewise.
1358 * include/grub/i386/kernel.h: Likewise.
1359 * include/grub/i386/loader.h: Likewise.
1360 * include/grub/i386/pc/memory.h: Likewise.
1361 * kern/dl.c: Likewise.
1362 * kern/i386/coreboot/init.c: Likewise.
1363 * loader/i386/bsd.c: Likewise.
1364 * loader/i386/linux.c: Likewise.
1365 * loader/multiboot_loader.c: Likewise.
1366 * term/i386/pc/serial.c: Likewise.
1367 * term/usb_keyboard.c: Likewise.
1368
1369 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
1370 `<grub/machine/machine.h>'
1371 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
1372 * util/misc.c: Remove `<grub/machine/machine.h>' and
1373 `<grub/machine/time.h>'.
1374
1375 * Makefile.in (enable_grub_emu): Remove variable.
1376 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
1377
1378 * conf/any-emu.rmk: New file.
1379 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
1380 (grub_emu_init.c): Move from here ...
1381 * conf/any-emu.rmk: ... to here.
1382
1383 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
1384 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
1385 * conf/any-emu.rmk: ... to here.
1386
4efeab03
RM
13872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1388
1389 * include/grub/parser.h (grub_parser_register): Document need
1390 of `name' parameter.
1391 * normal/main.c (grub_normal_read_line): Simplify prompt string.
1392 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
1393 "sh" to "grub".
1394
ea1dd8bf
RM
13952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1396
1397 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
1398 `$(XGETTEXT)'.
1399 * include/grub/i18n.h (N_): New macro.
1400 * util/mkisofs/mkisofs.h: Likewise.
1401 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
1402 around N_().
1403 (usage): Use gettext() to translate help strings when printing them.
1404
0c140626
RM
14052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1406
1407 Based on patch from Bean
1408 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1409
1410 * video/efi_fb.c: New file.
1411 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
1412 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1413 variables.
1414 * conf/x86_64-efi.rmk: Likewise.
1415
87d58298
RM
14162009-11-22 Robert Millan <rmh.grub@aybabtu.com>
1417
1418 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
1419 * util/i386/pc/grub-setup.c: Likewise.
1420
994cc3a3
ST
14212009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1422
1423 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
1424 <hurd/fs.h>
1425 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
1426 file_get_storage_info to implement grub_guess_root_device.
1427
26a61d6a
FZ
14282009-11-21 Felix Zielcke <fzielcke@z-51.de>
1429
1430 * Makefile.in (target): Use make's builtin $(shell) function
1431 instead of calling directly $(SHELL) to create the locale directories,
1432 inside the $(foreach) function.
1433
74ff1dd5
FZ
14342009-11-21 Felix Zielcke <fzielcke@z-51.de>
1435
1436 * util/grub-mkrescue.in: Print an error and usage if output option
1437 has not been given.
1438
0b787d0e
FZ
14392009-11-21 Felix Zielcke <fzielcke@z-51.de>
1440
1441 Patch from Loïc Minier <loic.minier@ubuntu.com>.
1442 * util/grub.d/30_os-prober.in: Cope with Linux entries where
1443 root and /boot are on different devices.
1444
1164b270
RM
14452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1446
1447 Fix build for srcdir != objdir.
1448
1449 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
1450 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
1451 $(srcdir).
1452 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
1453 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
1454 reference for input.
1455
13774a2f
RM
14562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1457
1458 * util/grub-mkrescue.in: Use source directory direcly (without copiing
1459 or hardlinking it). Remove -J option, Joliet is not compatible with
1460 multiple source directories.
1461
efda854e
RM
14622009-11-21 Carles Pina i Estany <carles@pina.cat>
14632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1464
1465 * util/grub-mkrescue.in: Recognize `--override-directory' option.
1466 (process_input_dir): New function. Process an arbitrary input
1467 directory.
1468 Misc adjustments to support both "override mode" and system-wide mode.
1469
6c09890c
FZ
14702009-11-20 Felix Zielcke <fzielcke@z-51.de>
1471
1472 * configure.ac (UNIFONT_BDF): Rename to ...
1473 (FONT_SOURCE): ... this. Update all users.
1474
a797824f
FZ
14752009-11-20 Felix Zielcke <fzielcke@z-51.de>
1476
1477 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
1478 to the list of unifont files to look for.
1479
cd4f42b0
RM
14802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1481
1482 Patch from Joe Auricchio <jauricchio@gmail.com>
1483 * commands/minicmd.c (grub_mini_cmd_clear): New function.
1484 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
1485 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
1486
393c783d
FZ
14872009-11-19 Felix Zielcke <fzielcke@z-51.de>
1488
1489 * Makefile.in (install-local): Add a missing backslash.
1490
b2f1e327
FZ
14912009-11-19 Felix Zielcke <fzielcke@z-51.de>
1492
1493 * include/grub/x86_64/io.h: New file.
1494
f577f7a0
RM
14952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1496
1497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
1498 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
1499 Include `"progname.h"'.
1500 (main): Initialize gettext.
1501 * util/i386/pc/grub-setup.c: Gettexttize.
1502 * util/i386/pc/grub-mkimage.c: Likewise.
1503
1504 * Makefile.in (po/*.po): Redefine as ...
1505 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
1506
3bc7896c
RM
1507 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
1508
c37943b6
RM
15092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1510
1511 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
1512 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
1513 (program_name): Remove.
1514 (main): Initialize gettext support.
6323f705
RM
1515 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
1516 Include `<libintl.h>'.
1517 (_): New macro.
c37943b6
RM
1518
1519 * util/mkisofs/eltorito.c: Gettexttize.
1520 * util/mkisofs/joliet.c: Likewise.
1521 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
1522 * util/mkisofs/multi.c: Likewise.
1523 * util/mkisofs/rock.c: Likewise.
1524 * util/mkisofs/tree.c: Likewise.
1525 * util/mkisofs/write.c: Likewise.
1526
3bc7896c
RM
1527 * po/POTFILES: Update with new files.
1528
5ce77c6e
RM
15292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1530
1531 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
1532 * util/mkisofs/iso9660.h: Likewise.
1533 * util/mkisofs/joliet.c: Likewise.
1534 * util/mkisofs/mkisofs.c: Likewise.
1535 * util/mkisofs/mkisofs.h: Likewise.
1536 * util/mkisofs/rock.c: Likewise.
1537 * util/mkisofs/tree.c: Likewise.
1538 * util/mkisofs/write.c: Likewise.
1539
1540 * util/mkisofs/eltorito.c (rcsid): Remove.
1541 * util/mkisofs/hash.c: Likewise.
1542 * util/mkisofs/joliet.c: Likewise.
1543 * util/mkisofs/name.c: Likewise.
1544 * util/mkisofs/rock.c: Likewise.
1545 * util/mkisofs/tree.c: Likewise.
1546 * util/mkisofs/write.c: Likewise.
1547
1dabbc77
RM
15482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1549
1550 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
1551 instead of static allocation.
1552 * util/mkisofs/match.h: Likewise.
1553
633877cb
RM
15542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1555
3bc7896c
RM
1556 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
1557 and `util/grub.d/10_linux.in'.
633877cb
RM
1558 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
1559 translatable Shell files.
1560
af1c0c85
RM
15612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1562
1563 * Makefile.in ($(srcdir)/aclocal.m4): New target.
1564
769ae37b
RM
15652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1566
1567 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 1568 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
1569 * util/grub.d/10_kfreebsd.in (bindir): New variable.
1570 Add gettext initialization.
1571 (kfreebsd_entry): Make menuentry output translatable.
1572
15732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1574
1575 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
1576 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
1577 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
1578 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
1579 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 1580 * po/LINGUAS: New file.
769ae37b
RM
1581
15822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1583
1584 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
1585 other things).
1586 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
1587 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
1588 bindtextdomain() calls for gettext initialization.
1589
15902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1591
1592 * gnulib/progname.c: New file (imported from Gnulib).
1593 * gnulib/progname.h: Likewise.
1594 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1595 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
1596 (usage): Replace `progname' with `program_name'.
1597 (main): Use set_program_name() for program name initialization.
1598
15992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1600
1601 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
1602 from here ...
1603 * Makefile.in (CPPFLAGS): ... to here.
1604
16052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1606
1607 * aclocal.m4: Move from here ...
1608 * acinclude.m4: ... to here.
1609 * autogen.sh: Add call to `aclocal'.
1610 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
1611
16122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1613
1614 * Makefile.in (CLEANFILES): Add `po/*.mo'.
1615 (LINGUAS): New variable.
1616 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
1617 (install-local): Install MO files.
1618 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
1619 * include/grub/i18n.h: New file.
3bc7896c
RM
1620 * po/POTFILES: New file.
1621 * po/ca.po: New file.
769ae37b
RM
1622 * util/grub.d/10_linux.in (bindir): New variable.
1623 Add gettext initialization.
1624 (linux_entry): Make menuentry output translatable.
1625 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
1626 (usage): Make --help output translatable.
1627 (main): Initialize gettext.
1628
02c0a6ad
RM
16292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1630
1631 * import_gcry.py: New file (written by Vladimir with minor
1632 adjustments).
1633 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
1634 ciphers.
1635 * INSTALL: Document that Python is required for bootstrap.
1636
16372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1638
1639 Import ciphers from libgcrypt 1.4.4.
1640
1641 * lib/libgcrypt/cipher/ChangeLog
1642 * lib/libgcrypt/cipher/ac.c
1643 * lib/libgcrypt/cipher/arcfour.c
1644 * lib/libgcrypt/cipher/bithelp.h
1645 * lib/libgcrypt/cipher/blowfish.c
1646 * lib/libgcrypt/cipher/camellia-glue.c
1647 * lib/libgcrypt/cipher/camellia.c
1648 * lib/libgcrypt/cipher/camellia.h
1649 * lib/libgcrypt/cipher/cast5.c
1650 * lib/libgcrypt/cipher/cipher.c
1651 * lib/libgcrypt/cipher/crc.c
1652 * lib/libgcrypt/cipher/des.c
1653 * lib/libgcrypt/cipher/dsa.c
1654 * lib/libgcrypt/cipher/ecc.c
1655 * lib/libgcrypt/cipher/elgamal.c
1656 * lib/libgcrypt/cipher/hash-common.c
1657 * lib/libgcrypt/cipher/hash-common.h
1658 * lib/libgcrypt/cipher/hmac-tests.c
1659 * lib/libgcrypt/cipher/md.c
1660 * lib/libgcrypt/cipher/md4.c
1661 * lib/libgcrypt/cipher/md5.c
1662 * lib/libgcrypt/cipher/primegen.c
1663 * lib/libgcrypt/cipher/pubkey.c
1664 * lib/libgcrypt/cipher/rfc2268.c
1665 * lib/libgcrypt/cipher/rijndael-tables.h
1666 * lib/libgcrypt/cipher/rijndael.c
1667 * lib/libgcrypt/cipher/rmd.h
1668 * lib/libgcrypt/cipher/rmd160.c
1669 * lib/libgcrypt/cipher/rsa.c
1670 * lib/libgcrypt/cipher/seed.c
1671 * lib/libgcrypt/cipher/serpent.c
1672 * lib/libgcrypt/cipher/sha1.c
1673 * lib/libgcrypt/cipher/sha256.c
1674 * lib/libgcrypt/cipher/sha512.c
1675 * lib/libgcrypt/cipher/tiger.c
1676 * lib/libgcrypt/cipher/twofish.c
1677 * lib/libgcrypt/cipher/whirlpool.c
1678
af2f93ac
RM
16792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1680
1681 Fix build for systems without error().
1682
1683 * gnulib/error.c: New file (imported from Gnulib).
1684 * gnulib/error.h: Likewise.
1685 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
1686 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
1687 (this variable is now used by error()).
1688
73fb3dd5
FZ
16892009-11-16 Felix Zielcke <fzielcke@z-51.de>
1690
814f5e96
FZ
1691 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
1692 instead of relying that char is signed.
73fb3dd5 1693
a691ca33
VS
16942009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
1697 blocksize different from specified.
1698 (grub_pxefs_read): Likewise.
1699
2af8f0f4
FZ
17002009-11-16 Felix Zielcke <fzielcke@z-51.de>
1701
1702 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
1703
1704 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
1705 (grub_ata_readwrite): Likewise. Update 2 format strings.
1706 (grub_atapi_read): Likewise.
1707
1708 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
1709 * conf/i386.rmk (pkglib_MODULES): ... to here ...
1710 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
1711 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
1712 (ata_mod_LDFLAGS): Move from here ...
1713 * conf/i386.rmk: ... to here ...
1714 * conf/x86_64-efi.rmk: ... and here.
1715 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
1716 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
1717
83bdecaf
RM
17182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1719
1720 Relicense multiboot.h, with RMS' blessing.
1721
1722 * include/multiboot.h: Change to X11 license.
1723
fd6fd3d7
RM
17242009-11-15 Robert Millan <rmh.grub@aybabtu.com>
1725
1726 Support --version in grub-mkisofs.
1727
1728 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
1729 (OPTION_VERSION): New macro.
1730 (ld_options): Recognize --version.
1731 (usage): Move `program_name' from here ...
1732 (program_name): ... to here. Add `static' qualifier.
1733 (main): Recognize `OPTION_VERSION'.
1734
16a88c49
FZ
17352009-11-15 Felix Zielcke <fzielcke@z-51.de>
1736
1737 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
1738 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
1739
a4158476
RM
17402009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1741
1742 Fix help2man generation for mkisofs.
1743
1744 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
1745 (usage): Send output to stdout (rather than stderr).
1746
fc2208b0
RM
17472009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1748
1749 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
1750 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1751 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
1752 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1753 (bin_SCRIPTS): Add `grub-mkfloppy'.
1754 (grub_mkfloppy_SOURCES): New variable.
1755
1756 * util/grub-mkrescue.in: New file.
1757 * util/i386/pc/grub-mkfloppy.in: New file.
1758
1759 * util/i386/coreboot/grub-mkrescue.in: Remove.
1760 * util/i386/pc/grub-mkrescue.in: Remove.
1761
8d0edf4a
RM
17622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1763
1764 * include/grub/multiboot.h (struct grub_multiboot_header): Move
1765 from here ...
1766 * include/multiboot.h (struct multiboot_header): ... to here. Update
1767 all users.
1768 * include/grub/multiboot.h (struct grub_multiboot_info): Move
1769 from here ...
1770 * include/multiboot.h (struct multiboot_info): ... to here. Update
1771 all users.
1772 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
1773 from here ...
1774 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
1775 Update all users.
1776 * include/grub/multiboot.h (struct grub_mod_list): Move
1777 from here ...
1778 * include/multiboot.h (struct multiboot_mod_list): ... to here.
1779 Update all users.
1780
a73f5969
RM
17812009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1782
1783 * include/multiboot2.h (multiboot_word): Rename from this ...
1784 (multiboot2_word): ... to this. Update all users.
1785 (multiboot_header): Rename from this ...
1786 (multiboot2_header): ... to this. Update all users.
1787 (multiboot_tag_header): Rename from this ...
1788 (multiboot2_tag_header): ... to this. Update all users.
1789 (multiboot_tag_start): Rename from this ...
1790 (multiboot2_tag_start): ... to this. Update all users.
1791 (multiboot_tag_name): Rename from this ...
1792 (multiboot2_tag_name): ... to this. Update all users.
1793 (multiboot_tag_module): Rename from this ...
1794 (multiboot2_tag_module): ... to this. Update all users.
1795 (multiboot_tag_memory): Rename from this ...
1796 (multiboot2_tag_memory): ... to this. Update all users.
1797 (multiboot_tag_unused): Rename from this ...
1798 (multiboot2_tag_unused): ... to this. Update all users.
1799 (multiboot_tag_end): Rename from this ...
1800 (multiboot2_tag_end): ... to this. Update all users.
1801
1c8927f0
RM
18022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1803
1804 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
1805 this platform we should support Multiboot1 first.
1806
1807 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1808 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
1809 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
1810
6e1e0d89
RM
18112009-11-12 Robert Millan <rmh.grub@aybabtu.com>
1812
1813 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
1814 of write calls (converting them to fwrite() if they aren't already).
1815 (get_torito_desc): Likewise.
1816 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
1817
7f2b34d8
RM
18182009-11-12 Robert Millan <rmh.grub@aybabtu.com>
1819
1820 * util/i386/pc/grub-install.in: Move from here ...
1821 * util/grub-install.in: ... to here. Update all users.
1822
c0ef3311
CW
18232009-11-11 Colin Watson <cjwatson@ubuntu.com>
1824
1825 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
1826
e1f240ff
RM
18272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
1828
1829 Support for El Torito without floppy emulation.
1830
1831 * util/mkisofs/eltorito.c: Include `<errno.h>'.
1832 (init_boot_catalog): Improve error handling.
1833 (get_torito_desc): Don't use floppy emulation unless requested by
1834 user. Patch boot information table when requested via
1835 `-boot-info-table'.
1836 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
1837 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
1838 (use_boot_info_table): New variables.
1839 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
1840 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
1841 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
1842 `--eltorito-emul-floppy'.
1843 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
1844 and `OPTION_ELTORITO_EMUL_FLOPPY'.
1845 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
1846 (use_boot_info_table, get_731): New prototypes.
1847 * util/mkisofs/write.c (get_731): New function.
1848
af7d4de5
FZ
18492009-11-11 Felix Zielcke <fzielcke@z-51.de>
1850
1851 Fix the generation of the man page.
1852
1853 * util/pc/i386/grub-install.in: Source
1854 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1855
2c55dbc0
RM
18562009-11-11 Robert Millan <rmh.grub@aybabtu.com>
1857
1858 Large file support for grub-mkisofs.
1859
1860 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
1861 * util/mkisofs/mkisofs.c (next_extent, last_extent)
1862 (session_start): Upgrade type to `uint64_t'. Update all users.
1863 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
1864 (struct directory_entry): Upgrade type of `starting_block' and
1865 `size' to `uint64_t'. Update all users.
1866 (struct deferred): Remove unused structure.
1867 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
1868 Update all users.
1869 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
1870 file is larger than `UINT32_MAX'.
1871 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
1872 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
1873 return value.
1874 (struct deferred_write): Upgrade type of `extent' and `size' to
1875 `uint64_t'. Update all users.
1876 (last_extent_written): Upgrade type to `uint64_t'. Update all
1877 users.
1878 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
1879 Update all users. Upgrade type of `remain' to `int64_t' and
1880 `use' to `size_t'. Use error() to handle fread() errors.
1881 (write_files): Rely on write_one_file() rather than calling
1882 xfwrite() directly.
1883
6a9cead5
FZ
18842009-11-09 Felix Zielcke <fzielcke@z-51.de>
1885
1886 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
1887
4825d790
RM
18882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1889
1890 * util/mkisofs/fnmatch.c: Remove.
1891 * util/mkisofs/getopt1.c: Likewise.
1892 * util/mkisofs/getopt.c: Likewise.
1893 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
1894 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
1895 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
1896 `gnulib/getopt1.c' and `gnulib/getopt.c'.
1897 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
1898
1899 * configure.ac: Detect `mingw32msvc' host_os.
1900 Check for lstat(), getuid() and getgid().
1901
1902 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
1903 instances of `u_char' with `uint8_t'.
1904
1905 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
1906 [!HAVE_GETUID] (getuid): New function (stub).
1907 [!HAVE_GETGID] (getgid): Likewise.
1908 [!HAVE_LSTAT] (lstat): Likewise.
1909 [!S_IROTH] (S_IROTH): New macro (dummy).
1910 [!S_IRGRP] (S_IRGRP): Likewise.
1911
84b860d8
RM
19122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1913
1914 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
1915 conditional expression).
1916
66e9b712
RM
19172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1918
1919 Import from Gnulib.
1920
1921 * gnulib/fnmatch.c: New file.
1922 * gnulib/fnmatch.h: Likewise.
1923 * gnulib/fnmatch_loop.c: Likewise.
1924 * gnulib/getopt.c: Likewise.
1925 * gnulib/getopt.h: Likewise.
1926 * gnulib/getopt1.c: Likewise.
1927 * gnulib/getopt_int.h: Likewise.
1928 * gnulib/gettext.h: Likewise.
1929
34f4a5b0
RM
19302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1931
1932 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
1933 * normal/handler.c (read_handler_list): Likewise.
1934
ac451143
RM
19352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1936
1937 Misc cleanup.
1938
1939 * kern/command.c (grub_register_command_prio): Use
1940 grub_zalloc() instead of explicitly zeroing data.
1941 * kern/list.c: Include `<grub/mm.h>'.
1942 (grub_named_list_find): Replace `0' with `NULL'.
1943 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
1944 (fs_module_list): Change type to `grub_named_list_t'. Update all
1945 users.
1946 * normal/dyncmd.c (read_command_list): Add space between function
1947 call and parenthesis.
1948 * normal/handler.c (read_handler_list): Likewise.
1949
4089b167
RM
19502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1951
1952 * normal/auth.c (punishment_delay): Moved from here ...
1953 (grub_auth_strcmp): ... to here (inside function).
1954
325f5037
RM
19552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1956
1957 * include/grub/list.h (struct grub_named_list): Remove `const'
1958 qualifier from `name'.
1959 (struct grub_prio_list): Likewise.
1960
7aea29a3
RM
19612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1962
1963 * normal/auth.c: Include `<grub/time.h>'.
1964 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
1965
3fd6f044
RM
19662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1967
1968 * normal/auth.c (punishment_delay): New variable.
1969 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
1970 (grub_auth_check_authentication): Punish failed login attempts with
1971 an incremental (2^N) delay.
1972
a4cd68e4
RM
19732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1974
1975 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
1976 path with $(srcdir).
1977
7ad12f43
VS
19782009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
1981
c1129f03
RM
19822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1983
1984 * util/i386/coreboot/grub-mkrescue.in: New file.
1985 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
1986 variables.
1987
1988 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
1989 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
1990 * configure.ac: Add header and function checks to satisfy grub-mkisofs
1991 requirements.
1992 * util/mkisofs/defaults.h: New file.
1993 * util/mkisofs/eltorito.c: Likewise.
1994 * util/mkisofs/exclude.h: Likewise.
1995 * util/mkisofs/fnmatch.c: Likewise.
1996 * util/mkisofs/getopt.c: Likewise.
1997 * util/mkisofs/getopt1.c: Likewise.
1998 * util/mkisofs/hash.c: Likewise.
1999 * util/mkisofs/include/fctldefs.h: Likewise.
2000 * util/mkisofs/include/mconfig.h: Likewise.
2001 * util/mkisofs/include/prototyp.h: Likewise.
2002 * util/mkisofs/include/statdefs.h: Likewise.
2003 * util/mkisofs/iso9660.h: Likewise.
2004 * util/mkisofs/joliet.c: Likewise.
2005 * util/mkisofs/match.c: Likewise.
2006 * util/mkisofs/match.h: Likewise.
2007 * util/mkisofs/mkisofs.c: Likewise.
2008 * util/mkisofs/mkisofs.h: Likewise.
2009 * util/mkisofs/multi.c: Likewise.
2010 * util/mkisofs/name.c: Likewise.
2011 * util/mkisofs/rock.c: Likewise.
2012 * util/mkisofs/tree.c: Likewise.
2013 * util/mkisofs/write.c: Likewise.
2014
ec8bb77d
VS
20152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2018 being insecure.
2019
3716b12c
RM
20202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2021
2022 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2023 `grub-mkimage' (and use $0 when possible).
2024
b97b7b91
RM
20252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2026
2027 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2028 error message for excessively large memory map.
2029
04114812
RM
20302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2031
2032 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2033 executable bit.
2034
e4eb2373
RM
20352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2036
2037 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2038 message for coreboot users.
2039
c926e1d5 20402009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2041
2042 Fix build with GNU gold.
2043
2044 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2045 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2046 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2047 link addresses.
2048 * aclocal.m4: Likewise.
2049
86e5b1db 20502009-11-04 Felix Zielcke <fzielcke@z-51.de>
2051
2052 * configure.ac (AC_PREREQ): Bump to 2.59d.
2053 * INSTALL: Make it more clear when Autoconf and Ruby are
2054 needed and when to run `./autogen.sh'.
2055
246cd78f 20562009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2057
2058 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
2059 OSes.
2060
4f9dfb37 20612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2062
2063 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
2064
b82bd5e1 20652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2066
2067 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
2068 giving it to GNU Mach.
2069
ff1a9bca 20702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2071
2072 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
2073 GNU partition number to get internal GRUB partition number.
2074
61697d9c 20752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2076
2077 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
2078 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
2079
a50569e1 20802009-11-01 Robert Millan <rmh.grub@aybabtu.com>
2081
2082 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
2083 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
2084 case.
2085
5b153867 20862009-11-01 Felix Zielcke <fzielcke@z-51.de>
2087
2088 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
2089
d9e2cd70 20902009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2091
2092 Fix build problem.
2093
2094 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
2095 `-isystem=$(srcdir)/include'.
2096
805111a4 20972009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2098
2099 * util/i386/pc/grub-install.in: Remove hint that device.map should be
2100 checked (grub-install doesn't currently rely on it).
2101
fa6e945f 21022009-10-29 Robert Millan <rmh.grub@aybabtu.com>
2103
2104 Revert SVN r2660.
2105
2106 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
2107 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2108 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
2109 * conf/i386-ieee1275.rmk: Likewise.
2110 * conf/i386-pc.rmk: Likewise.
2111 * conf/powerpc-ieee1275.rmk: Likewise.
2112 * conf/sparc64-ieee1275.rmk: Likewise.
2113 * conf/x86_64-efi.rmk: Likewise.
2114
cee15086 21152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2116
2117 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
2118
95b9239e 21192009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2120
2121 * include/grub/misc.h: Stop checking for APPLE_CC.
2122
2ed19dfd 21232009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2124
2125 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
2126 doesn't cause an infinite call loop.
2127
fdcdde19 21282009-10-28 Felix Zielcke <fzielcke@z-51.de>
2129
2130 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
2131 strings.
2132
cefabfe1 21332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2134
2135 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
2136 variable.
2137 * Makefile.in: Likewise.
2138
ed96ab6d 21392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2140
2141 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
2142
0579b753 21432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2144
2145 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
2146
478df409 21472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2148
2149 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
2150
083d1679 21512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2152
2153 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
2154 from here ...
2155 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
2156
5947ae32 21572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2158
2159 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
2160 in $(MAKEINFO) invocation. This makes it clear in output that
2161 errors are being ignored.
2162
94180ff6 21632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2164
2165 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
2166 from here ...
2167 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2168 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
2169 * conf/i386-ieee1275.rmk: Likewise.
2170 * conf/i386-pc.rmk: Likewise.
2171 * conf/powerpc-ieee1275.rmk: Likewise.
2172 * conf/sparc64-ieee1275.rmk: Likewise.
2173 * conf/x86_64-efi.rmk: Likewise.
2174
9031b03a 21752009-10-26 Colin Watson <cjwatson@ubuntu.com>
2176
2177 * util/grub-editenv.c (main): If only a command is given, use
2178 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
2179 (usage): FILENAME is now optional and has a default.
2180
e4f6809b 21812009-10-26 Colin Watson <cjwatson@ubuntu.com>
2182
2183 Improve grub-mkconfig performance when there are several menu
2184 entries on a single filesystem.
2185
2186 * util/grub.d/10_linux.in (linux_entry): Cache the output of
2187 prepare_grub_to_access_device.
2188 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2189 * util/grub.d/30_os-prober.in: Likewise.
2190
67937d4d 21912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2192
2193 * util/grub.d/10_freebsd.in: Remove.
2194 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
2195 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
2196
ee3756cc 21972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2198
5c35048e 2199 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 2200
4dea1c6f 22012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2202
2203 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
2204 grub_util_error() call.
2205
042484d7 22062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2207
2208 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
2209 `reserved_first_sector' member.
2210 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
2211 `reserved_first_sector' to 1.
2212 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
2213 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
2214 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
2215 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
2216 filesystems which begin at first sector.
2217 (options): New option --skip-fs-probe.
2218 (main): Handle --skip-fs-probe and pass it to setup().
2219
d64448a7 22202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2221
2222 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
2223 (memset): Fix function prototype.
2224
508d42ec 22252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22262009-10-25 Vasily Averin <vvs@parallels.com>
2227
2228 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
2229 `dirent.direntlen == 0'.
2230
b240e30c 22312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2232
2233 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
2234 `cpio'.
2235 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
2236
346e7fbe 22372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2238
2239 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
2240 `__trampoline_setup' and `__ucmpdi2'.
2241 * include/grub/powerpc/libgcc.h: Only export symbols for functions
2242 that libgcc provides.
2243
cdb308b0 22442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2245
2246 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
2247 * include/grub/sparc64/libgcc.h (memset): Likewise.
2248 * include/grub/misc.h (memset, memcmp): New function prototypes.
2249
fb26abc2 22502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2251
2252 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
2253 `cpio'.
2254 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
2255
f6693890 22562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2257
2258 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
2259 * docs/grub.cfg: Compensate for recent change in multiboot
2260 loader (since 2009-08-14 it won't pass filename to payload).
2261 * util/grub.d/10_hurd.in: Likewise.
2262
0933cdc0 22632009-10-21 Felix Zielcke <fzielcke@z-51.de>
2264
2265 * config.guess: Update to latest version from config git
2266 repository.
2267 * config.sub: Likewise.
2268
3b2fe8c2 22692009-10-20 Robert Millan <rmh.grub@aybabtu.com>
2270
2271 Fix build on sparc64.
2272
2273 * configure.ac: Perform checks for libgcc symbols before
2274 adding `-nostdlib' to LDFLAGS.
2275
46695a62 22762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 Let user specify OpenBSD root device.
2279
2280 * loader/i386/bsd.c (openbsd_root): New variable.
2281 (openbsd_opts): New option 'root'.
2282 (OPENBSD_ROOT_ARG): New macro.
2283 (grub_openbsd_boot): Use 'openbsd_root'.
2284 (grub_cmd_openbsd): Fill 'openbsd_root'.
2285
d2b6b7fc 22862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2287
2288 * NEWS: Misc adjustments.
2289
421bd7ac 22902009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
2293
f1d29d87 22942009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2295
2296 * configure.ac: Bump version to 1.97.
2297
6f3cd880 22982009-10-16 Colin Watson <cjwatson@ubuntu.com>
2299
2300 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
2301 -mno-3dnow on x86 architectures. Some toolchains enable these
2302 features by default, but they rely on registers that aren't enabled
2303 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
2304
035f7122 23052009-10-15 Robert Millan <rmh.grub@aybabtu.com>
2306
2307 Make entry text a bit more readable.
2308
2309 * util/grub.d/10_linux.in: Add `with' before `Linux'.
2310
44998e58 23112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
2314
cd2851b3 23152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
2318 operations.
2319
c6f3b249 23202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * configure.ac: Add missing dollar.
2323
6b5886ba 23242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
2327
2328 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
2329 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
2330 exports.
2331 * include/grub/sparc64/libgcc.h: Likewise. Use
2332 preprocessor conditionals.
2333
e9d66f6d 23342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2335
2336 * conf/common.rmk (grub-dumpbios): Remove rule.
2337 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
2338 * util/grub-dumpbios.in: Remove file.
2339
9155bc17 23402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2341
2342 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
2343 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
2344
2345 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
2346 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
2347 users.
2348
2349 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
2350 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
2351 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
2352 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
2353 users.
2354
bf7f7a18 23552009-10-12 Robert Millan <rmh.grub@aybabtu.com>
2356
2357 * term/tparm.c: Switch to GPLv3.
2358
86564c26 23592009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2360
2361 * include/grub/i386/cpuid.h: Add header protection.
2362
5c936493 23632009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2364
2365 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
2366
2367 * include/grub/i386/cpuid.h: New file.
2368 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
2369 (has_longmode): Rename to ...
2370 (grub_cpuid_has_longmode): ... this. Update all users. Remove
2371 `static' attribute.
2372 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
2373 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
2374 on a CPU that doesn't implement AMD64 instruction set.
2375
186e7cf2 23762009-10-06 Colin Watson <cjwatson@ubuntu.com>
2377
2378 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
2379 that version.texi is rebuilt on version number changes.
2380
83b65c4a 23812009-10-06 Colin Watson <cjwatson@ubuntu.com>
2382
2383 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
2384 Fixes bug #27602.
2385
d244281c 23862009-10-06 Colin Watson <cjwatson@ubuntu.com>
2387
2388 * util/i386/pc/grub-install.in: Source
2389 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
2390 that the --grub-probe option will work.
2391 * util/sparc64/ieee1275/grub-install.in: Likewise.
2392
da25306d 23932009-10-05 Robert Millan <rmh.grub@aybabtu.com>
2394
2395 * configure.ac: Bump version to 1.97~beta4.
2396
e8ee83c0 23972009-10-03 Robert Millan <rmh.grub@aybabtu.com>
2398
2399 Resync grub-mkdevicemap in x86_64-efi.
2400
2401 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
2402 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
2403 `util/devicemap.c'.
2404
50dcabcf 24052009-10-01 Colin Watson <cjwatson@ubuntu.com>
2406
2407 * util/grub-editenv.c (create_envblk_file): Write new block with a
2408 .new suffix and then rename it into place, to ensure atomic
2409 creation.
2410
0e51c3a7 24112009-09-28 Robert Millan <rmh.grub@aybabtu.com>
2412
2413 Do not automatically install headers.
2414
2415 * Makefile.in (include_DATA): Remove. Update all users.
2416
31299a95 24172009-09-26 Robert Millan <rmh.grub@aybabtu.com>
2418
2419 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
2420 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
2421
2422 * util/osdetect.lua: Remove.
2423 * script/lua/lauxlib.c: Likewise.
2424 * script/lua/ldebug.c: Likewise.
2425 * script/lua/grub_main.c: Likewise.
2426 * script/lua/lauxlib.h: Likewise.
2427 * script/lua/ldebug.h: Likewise.
2428 * script/lua/ltablib.c: Likewise.
2429 * script/lua/liolib.c: Likewise.
2430 * script/lua/lstrlib.c: Likewise.
2431 * script/lua/lualib.h: Likewise.
2432 * script/lua/ldo.c: Likewise.
2433 * script/lua/ldump.c: Likewise.
2434 * script/lua/ldo.h: Likewise.
2435 * script/lua/loslib.c: Likewise.
2436 * script/lua/lundump.c: Likewise.
2437 * script/lua/grub_lib.c: Likewise.
2438 * script/lua/ldblib.c: Likewise.
2439 * script/lua/lundump.h: Likewise.
2440 * script/lua/lmem.c: Likewise.
2441 * script/lua/grub_lib.h: Likewise.
2442 * script/lua/lmathlib.c: Likewise.
2443 * script/lua/lstate.c: Likewise.
2444 * script/lua/ltm.c: Likewise.
2445 * script/lua/lvm.c: Likewise.
2446 * script/lua/lmem.h: Likewise.
2447 * script/lua/lstate.h: Likewise.
2448 * script/lua/ltm.h: Likewise.
2449 * script/lua/ltable.c: Likewise.
2450 * script/lua/lvm.h: Likewise.
2451 * script/lua/llex.c: Likewise.
2452 * script/lua/lgc.c: Likewise.
2453 * script/lua/grub_lua.h: Likewise.
2454 * script/lua/loadlib.c: Likewise.
2455 * script/lua/lfunc.c: Likewise.
2456 * script/lua/lopcodes.c: Likewise.
2457 * script/lua/lparser.c: Likewise.
2458 * script/lua/ltable.h: Likewise.
2459 * script/lua/llex.h: Likewise.
2460 * script/lua/lgc.h: Likewise.
2461 * script/lua/lfunc.h: Likewise.
2462 * script/lua/lbaselib.c: Likewise.
2463 * script/lua/lopcodes.h: Likewise.
2464 * script/lua/lparser.h: Likewise.
2465 * script/lua/lzio.c: Likewise.
2466 * script/lua/linit.c: Likewise.
2467 * script/lua/lobject.c: Likewise.
2468 * script/lua/llimits.h: Likewise.
2469 * script/lua/lstring.c: Likewise.
2470 * script/lua/lzio.h: Likewise.
2471 * script/lua/lapi.c: Likewise.
2472 * script/lua/lcode.c: Likewise.
2473 * script/lua/lua.h: Likewise.
2474 * script/lua/lobject.h: Likewise.
2475 * script/lua/lstring.h: Likewise.
2476 * script/lua/lapi.h: Likewise.
2477 * script/lua/lcode.h: Likewise.
2478 * script/lua/luaconf.h: Likewise.
2479
cb8a2c38 24802009-09-26 Colin Watson <cjwatson@ubuntu.com>
2481
2482 * docs/grub.texi (Command-line and menu entry commands): Document
2483 date and echo commands.
2484
6b9b6276 24852009-09-24 Pavel Roskin <proski@gnu.org>
2486
2487 * include/grub/kernel.h (struct grub_module_header): Remove
2488 `grub_module_header_types'. Make `type' unsigned. Make `size'
2489 32-bit on all platforms.
2490 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
2491 8-bit field. Use grub_host_to_target32() for `size'.
2492 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
2493 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
2494 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
2495
4e5a02a7 24962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2497
2498 Fix "lost keypress" bug in at_keyboard.
2499
2500 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
2501 Checks for readyness of input buffer (without flushing it).
2502 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
2503 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
2504
c6dcedf6 25052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2506
2507 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
2508 size check within GRUB_MACHINE_PCBIOS section.
2509
74c958b1 25102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2511
2512 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
2513 return value.
2514 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
2515 KEYBOARD_ISREADY check.
2516 (grub_at_keyboard_checkkey): Rename to ...
2517 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
2518 Remove gratuitous cast.
2519
ff420223 25202009-09-23 Colin Watson <cjwatson@ubuntu.com>
2521
2522 * configure.ac: Call AC_PROG_MKDIR_P.
2523 * Makefile.in (docs/stamp-vti): Create docs directory. Create
2524 version.texi in $(builddir) rather than $(srcdir).
2525 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
2526 to makeinfo's @include search path.
2527
d96875df 25282009-09-23 Felix Zielcke <fzielcke@z-51.de>
2529
2530 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
2531
9b3f8365 25322009-09-23 Felix Zielcke <fzielcke@z-51.de>
2533
2534 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
2535 for `*.dpkg-new'.
2536
c44c90db 25372009-09-21 Colin Watson <cjwatson@ubuntu.com>
2538
2539 Build info documentation. Some code borrowed from Automake.
2540
2541 * configure.ac: Check for makeinfo.
2542 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
2543 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
2544 docs/version.texi.
2545 (MOSTLYCLEANFILES): Add vti.tmp.
2546 (docs/version.texi, docs/stamp-vti): Update automatically.
2547 (docs/grub.info): Build info documentation. Use --force and ignore
2548 errors for now.
2549 (all-local): Add $(INFOS).
2550 (install-local): Install info files.
2551 (uninstall): Uninstall info files.
2552 * docs/version.texi: Remove from revision control. This file is
2553 automatically generated on build now.
2554 * gendistlist.sh: Add `*.info'.
2555
e0b37bb5 25562009-09-21 Felix Zielcke <fzielcke@z-51.de>
2557
2558 * kern/term.c: Fix indentation.
2559
5a78865b 25602009-09-21 Felix Zielcke <fzielcke@z-51.de>
2561
2562 * util/hostdisk.c: Fix a comment.
2563
dace7e8a 25642009-09-20 Robert Millan <rmh.grub@aybabtu.com>
2565
2566 Fix regression introduced in r2539.
2567
2568 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
2569 to 0xA1.
2570
a83d079b 25712009-09-19 Colin Watson <cjwatson@ubuntu.com>
2572
2573 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 2574 os-prober. Under normal operation, it does not print anything to
2575 stderr; if it does, we need to debug it, and throwing away stderr
2576 makes that excessively difficult.
a83d079b 2577
be94a509 25782009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
2581
63f745e8 25822009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2583
2584 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
2585 AC_LANG_PROGRAM from autoconf.
2586 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
2587 prototypes (fixes warning).
2588
2589 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
2590 `--disable-werror' was used.
2591
bbb2a70f 25922009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2593
2594 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
2595 uninitialized `lastaddr'.
2596
77c24f1d 25972009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2598
0f0b8c87 2599 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 2600
07197f23 26012009-09-14 Colin Watson <cjwatson@ubuntu.com>
2602
2603 * commands/test.c (get_fileinfo): Return immediately if
2604 grub_fs_probe fails.
2605
dabf1798 26062009-09-14 José Martínez <xosemp@gmail.com>
2607
2608 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
2609
d52109a7 26102009-09-14 Colin Watson <cjwatson@ubuntu.com>
2611
2612 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
2613 output.
2614
56532179 26152009-09-13 Robert Millan <rmh.grub@aybabtu.com>
2616
2617 * configure.ac: Remove --enable-grub-pe2elf. Only build
2618 grub-pe2elf when needed by the build system itself.
2619 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
2620
8ef070f5 26212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2622
2623 * configure.ac: Bump version to 1.97~beta3.
2624 * docs/version.texi: Likewise.
2625
61229557 26262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2627
2628 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
2629 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
2630 from here ...
2631 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
2632 (grub_linux_setup_video): ... to here (with some adjustments).
2633
5c9f8d84 26342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2635
2636 Fix memory corruption issue (spotted by Colin Watson).
2637
2638 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
2639 causing returned size to be stored in an incorrect memory location.
2640 Fix use of uninitialized value when storing the returned size.
2641
e8f5d6e9 26422009-09-12 Yves Blusseau <blusseau@zetam.org>
2643
2644 Change clean rules to properly remove files
2645
2646 * genmk.rb: add new clean rules
2647 * Makefile.in (clean): add the new targets
2648 (mostlyclean): likewise
2649
cda2a409 26502009-09-11 Colin Watson <cjwatson@ubuntu.com>
2651
2652 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
2653 to grub_uint64_t.
2654 * fs/ntfs.c (init_file): Understand 64-bit sizes for
2655 non-resident files.
2656
86695375 26572009-09-11 Colin Watson <cjwatson@ubuntu.com>
2658
2659 * configure.ac: Don't look for help2man when cross-compiling. Fixes
2660 part of bug #27349.
2661
8aa1541a 26622009-09-10 Felix Zielcke <fzielcke@z-51.de>
2663
2664 * util/grub-mkconfig.in: Make the created config mode 400 and
2665 print a warning if it fails.
2666
48d9bb0a 26672009-09-10 Robert Millan <rmh.grub@aybabtu.com>
2668
2669 * util/grub.d/40_custom.in: Ask user to type custom entries below
2670 comment, rather than below 'exec tail' line.
2671
3b0521be 26722009-09-10 Colin Watson <cjwatson@ubuntu.com>
2673
2674 * util/grub.d/40_custom.in: Make sure that the explanatory text is
2675 visible in grub.cfg.
2676
50051d55 26772009-09-10 Colin Watson <cjwatson@ubuntu.com>
2678
2679 * util/grub.d/40_custom.in: Make it a little clearer how to use this
2680 file.
2681
c0d34387 26822009-09-10 Felix Zielcke <fzielcke@z-51.de>
2683
2684 * docs/grub.cfg: Add an example menu entry for memtest86+.
2685
80a608f3 26862009-09-09 Felix Zielcke <fzielcke@z-51.de>
2687
a2094832 2688 * config.guess: Update to latest version from config git.
80a608f3 2689 * config.sub: Likewise.
2690
99423078 26912009-09-08 Colin Watson <cjwatson@ubuntu.com>
2692
2693 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
2694 unknown-command case. Fixes bug #27320.
2695
44454e4c 26962009-09-08 Felix Zielcke <fzielcke@z-51.de>
2697
2698 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
2699 `help' if the command exists.
2700
e30d87ad 27012009-09-06 Robert Millan <rmh.grub@aybabtu.com>
2702
2703 * INSTALL: Require GCC 4.1.3 or later.
2704
9a86f1ec 27052009-09-06 Yves Blusseau <blusseau@zetam.org>
2706
2707 * Makefile.in (RMKFILES): add i386-qemu.rmk
2708 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
2709 $(srcdir)/stamp-h.in
2710
7f26d466 27112009-09-05 Robert Millan <rmh.grub@aybabtu.com>
2712
2713 * util/grub-probe.c (probe): Comment out buggy codepath, which
2714 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
2715 should be re-enabled after 1.97.
2716
3a613259 27172009-09-05 Felix Zielcke <fzielcke@z-51.de>
2718
2719 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
2720 find searches for.
2721
197f76c7 27222009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
2725 unnecessary calls to grub_error.
2726
70ba68ce 27272009-09-04 Colin Watson <cjwatson@ubuntu.com>
2728
2729 * NEWS: Mention `keystatus' and Unicode fonts.
2730
4ff0d7a4 27312009-09-04 Robert Millan <rmh.grub@aybabtu.com>
2732
2733 * configure.ac: Bump version to 1.97~beta2.
2734 * docs/version.texi: Likewise.
2735
77c55a87 27362009-09-03 Colin Watson <cjwatson@ubuntu.com>
2737
2738 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
2739 containing unwind information in some cases where it previously did
2740 not. Use -fno-dwarf2-cfi-asm if available to restore the old
2741 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
2742 discussion.
2743
f79572cd 27442009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
2745
2746 Embedding loadenv module into grub-emu
2747
2748 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
2749 commands/loadenv.c
2750 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
2751 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
2752 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
2753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
2754 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
2755 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
2756
93a81088 27572009-09-03 Magnus Granberg <zorry@ume.nu>
2758
2759 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
2760 include -fPIE in the default specs.
2761 * configure.ac: Check if pie_possible is yes and add -fno-PIE
2762 to TARGET_CFLAGS.
2763
160034b2 27642009-09-03 Felix Zielcke <fzielcke@z-51.de>
2765
2766 * INSTALL: Note that GNU Bison 2.3 or later is required.
2767
087c07c4 27682009-09-03 Colin Watson <cjwatson@ubuntu.com>
2769
2770 * kern/i386/pc/startup.S: Fix typo.
2771
cbf978c0 27722009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
2775 according to GCS.
2776
27772009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 2778
2779 * docs/grub.texi (Naming convention): Describe one-based partition
2780 numbering.
2781 (Device syntax): Likewise.
2782 (File name syntax): Likewise.
2783 (Block list syntax): Likewise.
2784 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
2785 menu.lst.
2786 (File name syntax): Likewise.
2787 (Command-line and menu entry commands): Document acpi, blocklist,
2788 crc, export, insmod, keystatus, ls, set, and unset commands.
2789
f3e8cdfd 27902009-09-02 Colin Watson <cjwatson@ubuntu.com>
2791
2792 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
2793 to avoid implying that only one of --shift, --ctrl, or --alt may be
2794 used.
2795
c0bc232b 27962009-09-02 Colin Watson <cjwatson@ubuntu.com>
2797
2798 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
2799 rather than comparing against S_IFREG, which will almost never work.
2800
aa0f752d 28012009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
2804 (write_blocklists): Likewise.
2805
ecb3166a 28062009-09-01 Colin Watson <cjwatson@ubuntu.com>
2807
2808 * script/lua/grub_lua.h (fputs): Supply a format string as the first
2809 argument to grub_printf.
2810
c403a125 28112009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 2812
2813 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 2814 non GNU test.
31aba781 2815
b5e7312c 28162009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * kern/file.c (grub_file_read): Spelling fix
2819
fe00f472 28202009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
2823 loading of headers in some cases.
2824
cc55302e 28252009-08-30 Robert Millan <rmh.grub@aybabtu.com>
2826
2827 * configure.ac: Bump version to 1.97~beta1.
2828 * docs/version.texi: Likewise.
2829
5c90cdd2 28302009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 2831
2832 * include/grub/i386/xnu.h: Add license header.
2833 include grub/err.h explicitly.
2834
c90edae4 28352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
2836
2837 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
2838 to `ufs' in the vfs.root.mountfrom kernel parameter.
2839
d8888b5c 28402009-08-29 Robert Millan <rmh.grub@aybabtu.com>
2841
2842 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
2843
2844 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
2845 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
2846
2847 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
2848 `ARRAY_SIZE' macro.
2849
6f07b921 28502009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * kern/file.c (grub_file_read): Check offset.
2853 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
2854 * fs/jfs.c (grub_jfs_read_file): Likewise.
2855 * fs/ntfs.c (grub_ntfs_read): Likewise.
2856 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
2857 * fs/minix.c (grub_minix_read_file): Correct offset check.
2858 * fs/ufs.c (grub_ufs_read_file): Likewise.
2859
b4f34077 28602009-08-28 Colin Watson <cjwatson@ubuntu.com>
2861
2862 * term/i386/pc/console.c (bios_data_area): Cast
2863 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2864
e7c69859 28652009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 1-bit optimised blitters.
2868
2869 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
2870 prototype.
2871 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2872 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2873 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2874 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2875 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2876 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2877 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
2878 function.
2879 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2880 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2881 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2882 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2883 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2884 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2885 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
2886 when possible.
2887 * video/video.c (grub_video_get_blit_format): Return
2888 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2889
a57da43f 28902009-08-28 Colin Watson <cjwatson@ubuntu.com>
2891
2892 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
2893 the first argument to grub_printf.
2894
4cbe67e5 28952009-08-28 Colin Watson <cjwatson@ubuntu.com>
28962009-08-28 Robert Millan <rmh.grub@aybabtu.com>
2897
2898 Add `getkeystatus' terminal method. Add a new `keystatus' command
2899 to query it.
2900
2901 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
2902 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
2903 modifier key bitmasks.
2904 (struct grub_term_input): Add `getkeystatus' member.
2905 (grub_getkeystatus): Add prototype.
2906 * kern/term.c (grub_getkeystatus): New function.
2907
2908 * include/grub/i386/pc/memory.h
2909 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
2910 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
2911 Data Area layout.
2912 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
2913 (grub_console_term_input): Set `getkeystatus' member.
2914 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
2915 constants.
2916 (grub_usb_keyboard_getreport): Likewise.
2917 (grub_usb_keyboard_checkkey): Likewise.
2918 (grub_usb_keyboard_getkeystatus): New function.
2919 (grub_usb_keyboard_term): Set `getkeystatus' member.
2920
2921 * commands/keystatus.c: New file.
2922 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
2923 (keystatus_mod_SOURCES): New variable.
2924 (keystatus_mod_CFLAGS): Likewise.
2925 (keystatus_mod_LDFLAGS): Likewise.
2926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
2927 commands/keystatus.c.
2928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2929 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2930 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2933 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 2934
6e2a9085 29352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Split befs.mod and afs.mod into *_be.mod and *.mod
2938
2939 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
2940 (grub_fstest_SOURCES): Likewise.
2941 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
2942 (afs_be_mod_SOURCES): New variable.
2943 (afs_be_mod_CFLAGS): Likewise.
2944 (afs_be_mod_LDFLAGS): Likewise.
2945 (befs_be_mod_SOURCES): Likewise.
2946 (befs_be_mod_CFLAGS): Likewise.
2947 (befs_be_mod_LDFLAGS): Likewise.
2948 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
2949 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2951 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2952 (grub_emu_SOURCES): Likewise.
2953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2954 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2955 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2956 * fs/afs_be.c: New file.
2957 * fs/befs_be.c: New file.
2958 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
2959 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
2960 (U16): Replaced with ...
2961 (grub_afs_to_cpu16): ...this. All users updated.
2962 (U32): Replaced with ...
2963 (grub_afs_to_cpu32): ...this. All users updated.
2964 (U64): Replaced with ...
2965 (grub_afs_to_cpu64): ...this. All users updated.
2966 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
2967 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 2968 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 2969 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2970 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2971 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2972 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2973 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2974 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2975 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2976 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2977
32a71655 29782009-08-26 Bean <bean123ch@gmail.com>
2979
2980 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
2981 64-bit number.
2982 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2983 (grub_xfs_inode_block): Change return type to grub_uint64_t.
2984 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
2985
552bf6c5 29862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 NetBSD memory map support.
2989
2990 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
2991 (grub_netbsd_btinfo_mmap_header): New structure.
2992 (grub_netbsd_btinfo_mmap_entry): Likewise.
2993 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2994
1ae2078c 29952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Enable bsd.mod on coreboot.
2998
2999 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3000 (bsd_mod_SOURCES): New variable.
3001 (bsd_mod_CFLAGS): Likewise.
3002 (bsd_mod_LDFLAGS): Likewise.
3003 (bsd_mod_ASFLAGS): Likewise.
3004 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3005 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3006
beefc598 30072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 Cleanup NetBSD root support.
3010
3011 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3012 grub_bsd_get_device.
3013 Fix typo.
3014
3b76e68b 30152009-08-25 Felix Zielcke <fzielcke@z-51.de>
3016
3017 * util/grub.d/00_header.in: Move check for the video backend of
3018 gfxterm from here ...
3019 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3020 a suitable video backend.
3021
aea664ea 30222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Fix breakage in grub-setup.
3025
3026 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3027 "msdos_partition_map".
3028
ff747d50 30292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Fix breakage in normal/auth.c.
3032
3033 * normal/auth.c (grub_iswordseparator): New function.
3034
e7e1f93f 30352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 Authentication support.
3038
3039 * commands/password.c: New file.
3040 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3041 (password_mod_SOURCES): New variable.
3042 (password_mod_CFLAGS): Likewise.
3043 (password_mod_LDFLAGS): Likewise.
3044 (normal_mod_SOURCES): Add normal/auth.c.
3045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3046 normal/auth.c.
3047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3052 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3053 * include/grub/auth.h: New file.
3054 * include/grub/err.h (grub_err_t): New enum value
3055 GRUB_ERR_ACCESS_DENIED.
3056 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3057 'users'.
3058 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
3059 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
3060 users updated.
3061 * normal/auth.c: New file.
3062 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
3063 (grub_cmdline_run): Don't allow to go to command line without
3064 authentication.
3065 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
3066 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
3067 menuentry without superuser rights.
3068 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
3069 user isn't a superuser.
3070
70f1161d 30712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Save space by inlining misc.c functions.
3074
3075 * kern/misc.c (grub_iswordseparator): Made static.
3076 * kern/misc.c (grub_strcat): Moved from here ...
3077 * include/grub/misc.h (grub_strcat): ... here. Inlined.
3078 * kern/misc.c (grub_strncat): Moved from here ...
3079 * include/grub/misc.h (grub_strncat): ... here. Inlined.
3080 * kern/misc.c (grub_strcasecmp): Moved from here ...
3081 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
3082 * kern/misc.c (grub_strncasecmp): Moved from here ...
3083 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
3084 * kern/misc.c (grub_isalpha): Moved from here ...
3085 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
3086 * kern/misc.c (grub_isdigit): Moved from here ...
3087 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
3088 * kern/misc.c (grub_isgraph): Moved from here ...
3089 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
3090 * kern/misc.c (grub_tolower): Moved from here ...
3091 * include/grub/misc.h (grub_tolower): ... here. Inlined.
3092
48e40bff 30932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * script/sh/function.c (grub_script_function_find): Cut error message
3096 not to flood terminal.
3097 * script/sh/lexer.c (grub_script_yylex): Remove command line length
3098 limit.
3099 * script/sh/script.c (grub_script_arg_add): Duplicate string.
3100
c385bfc3 31012009-08-24 Colin Watson <cjwatson@ubuntu.com>
3102
3103 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
3104 `report' grub_uint8_t *.
3105 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
3106 Use a 50-millisecond timeout rather than just repeating
3107 grub_usb_keyboard_getreport 50 times.
3108 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
3109
2d21e3e8 31102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 Rename *_partition_map to part_*
3113
3114 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
3115 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
3116 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
3117 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
3118 All users updated.
3119 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
3120 All users updated.
3121 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
3122 * util/grub-probe.c (probe_partmap): Don't transform partition name
3123 to get module name.
3124
dd103c4e 31252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Fix OpenBSD and NetBSD support.
3128
3129 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
3130 memory address conflict.
3131 (OPENBSD_MMAP_ACPI): New definition.
3132 (OPENBSD_MMAP_NVS): Likewise.
3133 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
3134 and OPENBSD_MMAP_NVS.
3135 Add memory map terminator
3136 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 3137 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 3138
16c84d74 31392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Let user specify NetBSD root device.
3142
3143 * loader/i386/bsd.c (netbsd_root): New variable.
3144 (netbsd_opts): New option 'root'.
3145 (NETBSD_ROOT_ARG): New macro.
3146 (grub_netbsd_boot): Use 'netbsd_root'.
3147 (grub_bsd_unload): Free 'netbsd_root'.
3148 (grub_cmd_netbsd): Fill 'netbsd_root'.
3149
adb29902 31502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 Support for 64-bit NetBSD.
3153
3154 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
3155 point when booting non-FreeBSD.
3156
f5ae9f74 31572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 Support --no-smp and --no-acpi for NetBSD.
3160
3161 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
3162 (NETBSD_AB_NOACPI): Likewise.
3163 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
3164 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
3165
de74f136 31662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
3169 errors.
3170 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
3171 errors. Call grub_error when needed.
3172
e9a925da 31732009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * commands/search.c (search_fs): Try searching without autoload first.
3176 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3177 filesystem module explicitly for faster booting.
3178
5174302b 31792009-08-23 Colin Watson <cjwatson@ubuntu.com>
3180
3181 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
3182
c8c80635 31832009-08-23 Colin Watson <cjwatson@ubuntu.com>
3184
3185 * util/grub.d/30_os-prober.in: Disable os-prober if
3186 `GRUB_DISABLE_OS_PROBER' was set to true.
3187
71acf5e5 31882009-08-23 Robert Millan <rmh.grub@aybabtu.com>
3189
3190 * partmap/pc.c: Rename to ...
3191 * partmap/msdos.c: ... this. Update all users.
3192 (grub_pc_partition_map): Rename to ...
3193 (grub_msdos_partition_map): ... this. Update all users.
3194
3195 * parttool/pcpart.c: Rename to ...
3196 * parttool/msdospart.c: ... this. Update all users.
3197
3198 * include/grub/pc_partition.h: Rename to ...
3199 * include/grub/msdos_partition.h: ... this. Update all users.
3200 (grub_pc_partition_bsd_entry): Rename to ...
3201 (grub_msdos_partition_bsd_entry): ... this. Update all users.
3202 (grub_pc_partition_disk_label): Rename to ...
3203 (grub_msdos_partition_disk_label): ... this. Update all users.
3204 (grub_pc_partition_entry): Rename to ...
3205 (grub_msdos_partition_entry): ... this. Update all users.
3206 (grub_pc_partition_mbr): Rename to ...
3207 (grub_msdos_partition_mbr): ... this. Update all users.
3208 (grub_pc_partition): Rename to ...
3209 (grub_msdos_partition): ... this. Update all users.
3210 (grub_pc_partition_is_empty): Rename to ...
3211 (grub_msdos_partition_is_empty): ... this. Update all users.
3212 (grub_pc_partition_is_extended): Rename to ...
3213 (grub_msdos_partition_is_extended): ... this. Update all users.
3214 (grub_pc_partition_is_bsd): Rename to ...
3215 (grub_msdos_partition_is_bsd): ... this. Update all users.
3216
3217 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
3218 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
3219 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
3220 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
3221 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
3222 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
3223 (gpt_mod_LDFLAGS): Rename to ...
3224 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
3225 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
3226 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
3227 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
3228 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
3229 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
3230 (part_gpt_mod_LDFLAGS): ... this.
3231 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
3232 `pcpart.mod' to `msdospart.mod'.
3233 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
3234 to ...
3235 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
3236 (msdospart_mod_LDFLAGS): ... this.
3237
c11fded5 32382009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
3241 (openbsd_opts): Likewise.
3242 (netbsd_opts): Likewise.
3243 (freebsd_flags): Added 0 terminator.
3244 (openbsd_flags): Likewise.
3245 (netbsd_flags): Likewise.
3246 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
3247 (grub_cmd_freebsd): Transformed into extended command.
3248 (grub_cmd_openbsd): Likewise.
3249 (grub_cmd_netbsd): Likewise.
3250 (cmd_freebsd): Changed type to grub_extcmd_t.
3251 (cmd_openbsd): Likewise.
3252 (cmd_netbsd): Likewise.
3253 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
3254 grub_cmd_openbsd as extended commands.
3255 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
3256 cmd_netbsd and cmd_openbsd
3257
11d1c769 32582009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
3261
7a9094e5 32622009-08-21 Pavel Roskin <proski@gnu.org>
3263
5496c37e 3264 * Makefile.in (install-local): When checking if a file is in the
3265 build directory, use "test -e" to detect symlinks.
3266
7a9094e5 3267 * Makefile.in (install-local): Remove all files in
3268 $(DESTDIR)$(pkglibdir) before installing new files there.
3269
e53cea11 32702009-08-18 Felix Zielcke <fzielcke@z-51.de>
3271
3272 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
3273 grub-mkelfimage.
3274
9aced544 32752009-08-18 Felix Zielcke <fzielcke@z-51.de>
3276
3277 * util/grub-mkconfig.in: Don't use gfxterm by default if not
3278 explicitly specified by the user.
3279
b7da6bab 32802009-08-18 Pavel Roskin <proski@gnu.org>
3281
3282 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
3283 grub_uint8_t pointer for data.
3284 * include/grub/fbutil.h (struct grub_video_fbblit_info):
3285 Likewise.
3286 * video/fb/fbutil.c: Remove unnecessary casts.
3287
19f1b335 32882009-08-17 Michal Suchanek <hramrach@centrum.cz>
3289
3290 VBE cleanup.
3291
3292 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
3293 (grub_vbe_set_video_mode): Save active mode info
3294 only after setting the mode.
3295 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
3296 second argument.
3297
2f467aa9 32982009-08-17 Michal Suchanek <hramrach@centrum.cz>
3299
3300 Rename variables for clarity.
3301
3302 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
3303 (active_vbe_mode_info): ... this. All users updated.
3304 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
3305 All users updated.
3306 (initial_mode): Rename to ...
3307 (initial_vbe_mode): ... this. All users updated.
3308 (mode_in_use): Rename to ..
3309 (vbe_mode_in_use): ... this. All users updated.
3310 (mode_list): Rename to ..
3311 (vbe_mode_list): ... this. All users updated.
3312 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
3313 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
3314 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
3315 'mode_list_size' to 'vbe_mode_list_size'.
3316 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
3317 'best_mode_info' to 'best_vbe_mode_info' and
3318 'best_mode' to 'best_vbe_mode'
3319
6025fcd7 33202009-08-17 Michal Suchanek <hramrach@centrum.cz>
3321
3322 Remove duplicate grub_video_fb_get_video_ptr.
3323
3324 * include/grub/fbutil.h (get_data_ptr): Rename to ...
3325 (grub_video_fb_get_video_ptr): ... this.
3326 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
3327 * video/fb/fbutil.c: Add comment about addressing.
3328 (get_data_ptr): Rename to ...
3329 (grub_video_fb_get_video_ptr): ... this. All users updated.
3330 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
3331
cc8c6faf 33322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3333
3334 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
3335 grub_dprintf() that was just added.
3336
08aa61f0 33372009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3338
3339 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
3340 (DEFAULT_VIDEO_MODE): Remove macros.
3341 (grub_linux_boot): Remove assumption that Linux has FB support,
3342 and use "text" as default video mode.
3343
7cef4f75 33442009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
3347 grub_dprintf.
3348 * fs/fat.c (grub_fat_read_data): Likewise.
3349
e1f39873 33502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
3353 payload.
3354 (grub_module): Likewise.
3355
c166d79e 33562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
3359 mbi->cmdline but free playground.
3360
c60cee8e 33612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 Handle group offset on UFS1.
3364
3365 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
3366 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
3367
c0d8b5d4 33682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Split ufs.mod into ufs1.mod and ufs2.mod.
3371
3372 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
3373 (grub_fstest_SOURCES): Likewise.
3374 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
3375 (ufs_mod_SOURCES): Remove.
3376 (ufs_mod_CFLAGS): Likewise.
3377 (ufs_mod_LDFLAGS): Likewise.
3378 (ufs1_mod_SOURCES): New variable.
3379 (ufs1_mod_CFLAGS): Likewise.
3380 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 3381 (ufs2_mod_SOURCES): New variable.
3382 (ufs2_mod_CFLAGS): Likewise.
3383 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 3384 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
3385 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3386 Likewise.
3387 (grub_emu_SOURCES): Likewise.
3388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3389 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3390 (grub_setup_SOURCES): Likewise.
3391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3392 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
3393 (grub_setup_SOURCES): Likewise.
3394 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3395 Likewise.
3396 * fs/ufs2.c: New file.
3397 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
3398
d3539132 33992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 Framebuffer split.
3402
3403 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
3404 subsystem at the end.
3405 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
3406 (video_fb_mod_SOURCES): New variable.
3407 (video_fb_mod_CFLAGS): Likewise.
3408 (video_fb_mod_LDFLAGS): Likewise.
3409 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
3410 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
3411 * video/i386/pc/vbeblit.c: Moved from here ...
3412 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
3413 * video/i386/pc/vbefill.c: Moved from here ...
3414 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
3415 * video/i386/pc/vbeutil.c: Moved from here ...
3416 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
3417 * include/grub/i386/pc/vbeblit.h: Moved from here ...
3418 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
3419 * include/grub/i386/pc/vbefill.h: Moved from here ...
3420 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
3421 * include/grub/i386/pc/vbeutil.h: Moved from here ...
3422 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
3423 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
3424 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
3425 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
3426 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
3427 (grub_video_adapter): Added 'get_info_and_fini'.
3428 (grub_video_get_info_and_fini): New prototype.
3429 (grub_video_set_mode): make modestring const char *.
3430 * loader/i386/linux.c (grub_linux_setup_video): Use
3431 grub_video_get_info_and_fini.
3432 (grub_linux_boot): Move modesetting just before booting.
3433 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
3434 grub_video_get_info_and_fini.
3435 * video/i386/pc/vbe.c: Moved framebuffer part ...
3436 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
3437 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
3438 grub_video_fbstd_colors and grub_video_fb_set_palette.
3439 (grub_video_vbe_init): Clear 'framebuffer' variable and use
3440 grub_video_fb_init.
3441 (grub_video_vbe_fini): Use grub_video_fb_fini.
3442 (grub_video_vbe_setup): Use framebuffer.render_target instead of
3443 render_target and use grub_video_fb_set_active_render_target and
3444 grub_video_fb_set_palette.
3445 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
3446 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
3447 (grub_video_vbe_adapter): Use framebuffer.
3448 * video/video.c (grub_video_get_info_and_fini): New function.
3449 (grub_video_set_mode): Make modestring const char *.
3450 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
3451 values are already initialised.
3452
d404ee56 34532009-08-14 Pavel Roskin <proski@gnu.org>
3454
3455 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
3456 ABS and APPLE_CC.
3457 * boot/i386/pc/diskboot.S: Likewise.
3458 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
3459 sectors allow compilation on MacOSX.
3460 * conf/i386-pc.rmk: Enable unconditional compilation of
3461 lnxboot.img.
3462
9a10df16 34632009-08-13 Colin Watson <cjwatson@ubuntu.com>
3464
3465 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
3466 * util/grub.d/00_header.in: Enter interruptible sleep if
3467 GRUB_HIDDEN_TIMEOUT is set.
3468
be3c9ca7 34692009-08-13 Yves Blusseau <blusseau@zetam.org>
3470
3471 * include/grub/symbol.h: Add the LOCAL macro.
3472 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
3473 starting with "L_".
3474
1f9e557e 34752009-08-13 Pavel Roskin <proski@gnu.org>
3476
9ca62843 3477 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
3478 any modern compilers we support.
3479
1f9e557e 3480 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
3481 Use local labels starting with "L_" so that Apple assembler
3482 knows they are local.
3483
81623db6 34842009-08-10 Robert Millan <rmh.grub@aybabtu.com>
3485
3486 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
3487 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
3488 (bsd_kernel_types): ... this enum.
3489
3490 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
3491 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
3492 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
3493
3494 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
3495 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
3496 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
3497 messages.
3498
f5d35e7a 34992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3500
3501 * util/grub-dumpdevtree: Moved from here ...
3502 * util/i386/efi/grub-dumpdevtree: ... to here.
3503 (hexify): New function. Converts a string to its hex version.
3504 Generate hex versions of "efi" and "device-properties" by calling
3505 hexify() on the ASCII strings rather than by hardcoding numbers.
3506
d1e1d527 35072009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3508
3509 * fs/jfs.c: Update copyright year.
3510
1ebbe064 35112009-08-08 Felix Zielcke <fzielcke@z-51.de>
3512
3513 * util/grub.d/00_header.in: Fix a comment.
3514 * util/grub.d/10_linux.in: Likewise.
3515 * util/grub.d/10_windows.in: Likewise.
3516 * util/grub.d/10_hurd.in: Likewise.
3517
a78c8d24 35182009-08-08 Felix Zielcke <fzielcke@z-51.de>
3519
3520 * util/grub-mkconfig.in: Allow the user to specify the used font
3521 with GRUB_FONT.
3522
29a6b9e8 35232009-08-08 Pavel Roskin <proski@gnu.org>
3524
b5f16cc4 3525 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
3526 available, xfs.mod needs it now.
3527
2f5cb827 3528 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
3529 the "g" modifier in sed when the intention is to strip something
3530 once. This fixes comparison of kernels with multiple dashes.
3531
29a6b9e8 3532 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
3533 on it. Add missing space before closing bracket. Fix
3534 misleading formatting.
3535
892a3d98 35362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3537
3538 * docs/grub.texi: Major overhaul. Remove all sections that are
3539 specific to GRUB Legacy, or mostly composed of Legacy-specific
3540 information.
3541
ed94253f 35422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3543
3544 * docs/version.texi: New file. Provides version information for
3545 grub.texi.
3546
126d6628 35472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3548
3549 * docs/grub.texi: Update CVS information to SVN.
3550 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
3551
998b5aa9 35522009-08-07 Felix Zielcke <fzielcke@z-51.de>
3553
3554 * util/grub-mkconfig.in: Remove a wrong `fi'.
3555
818e094a 35562009-08-07 Felix Zielcke <fzielcke@z-51.de>
3557
3558 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
3559 (grub_jfs_uuid): New function.
3560 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
3561
b969c52f 35622009-08-07 Felix Zielcke <fzielcke@z-51.de>
3563
3564 * util/grub-mkconfig_lib.in (font_path): Move the functionality
3565 of it to ...
3566 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
3567 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
3568
7a4894cc 35692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3570
3571 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
3572 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
3573 Update all users.
3574
3575 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
3576 not just "vmlinu[zx]".
3577 Moved from here ...
3578 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
3579 all users.
3580
3581 * util/grub.d/10_linux.in (find_latest): Moved from here ...
3582 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
3583 all users.
3584
4e2171f8 35852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3586
3587 * util/grub.d/10_freebsd.in: Use an absolute device path for
3588 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
3589
6dcfcb32 35902009-08-06 Felix Zielcke <fzielcke@z-51.de>
3591
3592 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3593 handling of multiple abstraction modules.
3594
f56a8756 35952009-08-04 Robert Millan <rmh.grub@aybabtu.com>
3596
3597 Fix a bug resulting in black screen when loading Linux using a
3598 packed video mode.
3599
3600 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
3601 function.
3602
3603 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
3604 (grub_vbe_bios_getset_dac_palette_width): New function.
3605 (grub_vbe_bios_get_dac_palette_width)
3606 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
3607 grub_vbe_bios_getset_dac_palette_width()).
3608
3609 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
3610 check for return status.
3611 (grub_vbe_get_video_mode_info): When getting information for a packed
3612 mode (<= 8 bpp), obtain DAC palette width using
3613 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
3614 {red,green,blue}_mark_size.
3615
222671b2 36162009-08-04 Felix Zielcke <fzielcke@z-51.de>
3617
ecb1a6d9 3618 * commands/search.c (options): Fix help output to match actual code.
222671b2 3619
f84114f5 36202009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
3623 of homegrown code.
3624
bd288a20 36252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 3626
3627 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
3628 on XFS or ReiserFS.
3629
8aab5e25 36302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 Support Apple partition map with sector size different from 512 bytes.
3633
3634 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
3635 (apple_partition_map_iterate): Respect 'aheader.blocksize'
3636 and 'apart.partmap_size'.
3637
6ad6258a 36382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36392009-08-01 Robert Millan <rmh.grub@aybabtu.com>
3640
3641 Fix cpuid command.
3642
3643 * commands/i386/cpuid.c (options): New variable.
3644 (grub_cmd_cpuid): Return real error.
3645 (GRUB_MOD_INIT(cpuid)): Declare options.
3646
67459bc6 36472009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
3650 valid.
3651
fbc6ab54 36522009-07-31 Bean <bean123ch@gmail.com>
3653
3654 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
3655 log2_inode.
3656 (grub_fshelp_node): Move inode field to the end.
3657 (grub_xfs_data): Remove inode field.
3658 (grub_xfs_inode_block): Calculate inode size using sblock.
3659 (grub_xfs_inode_offset): Likewise.
3660 (grub_xfs_read_inode): Calculate inode size using sblock.
3661 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
3662 (grub_xfs_iterate_dir): Calculate inode size using sblock.
3663 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
3664 to match inode size.
3665 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
3666 not accessible when data is null.
3667 (grub_xfs_open): Likewise.
3668
f45d6cfc 36692009-07-31 Bean <bean123ch@gmail.com>
3670
3671 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
3672 Don't change pv->disk if it's already set.
3673
3674 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
3675 (grub_raid_register): ... here.
3676 (grub_raid_rescan): Removed.
3677
3678 * include/grub/raid.h (grub_raid_rescan): Removed.
3679
3680 * util/grub-fstest.c: Remove include file <grub/raid.h>.
3681 (fstest): Replace grub_raid_rescan with module fini function followed
3682 by init function.
3683
3684 * util/grub-probe.c: Add include file <grub/raid.h>.
3685 (probe_raid_level): New function.
3686 (probe): Detect abstraction by walking the disk device, support two
3687 level of abstraction (LVM on RAID) when detecting partition map.
3688
24443b5a 36892009-07-31 Pavel Roskin <proski@gnu.org>
3690
3691 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
3692 to grub_zalloc(), it was erroneous.
3693 Reported by Bean <bean123ch@gmail.com>
3694
a275d9e7 36952009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 3698 embedding zone, not only the first one.
a275d9e7 3699
56c5a47f 37002009-07-29 Joe Auricchio <jauricchio@gmail.com>
3701
3702 * term/gfxterm.c (clear_char): New function.
3703 (grub_virtual_screen_setup): Use clear_char.
3704 (scroll_up): Likewise.
3705 (grub_virtual_screen_cls): Likewise.
3706
67bb323a 37072009-07-29 Felix Zielcke <fzielcke@z-51.de>
3708
3709 * util/deviceiter.c (get_acceleraid_disk_name): New static
3710 function.
3711 (grub_util_iterate_devices): Handle Accelraid devices.
3712 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
3713
388a7c75 37142009-07-28 Robert Millan <rmh.grub@aybabtu.com>
3715
3716 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
3717 separator for the suggested gfxpayload string (';' collides with the
3718 parser and needs escaping).
3719
3bb7abcf 37202009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
3723 Clear direction flag before jumping to OS.
3724 (grub_multiboot2_real_boot): Likewise.
3725
2ddd36d7 37262009-07-28 Felix Zielcke <fzielcke@z-51.de>
3727
3728 * util/i386/pc/grub-install: Fix parsing of --disk-module
3729 option.
3730
c521b62b 37312009-07-28 Felix Zielcke <fzielcke@z-51.de>
3732
3733 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
3734 when embedding.
3735
880e0a0c 37362009-07-26 Felix Zielcke <fzielcke@z-51.de>
3737
3738 * util/grub-mkconfig.in (package_version): New variable.
3739 Use it do display the version.
3740
2366e356 37412009-07-25 Felix Zielcke <fzielcke@z-51.de>
3742
3743 * kern/file.c (grub_file_open): Revert to previous check with
3744 grub_errno.
3745
7ad8c80e 37462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
3749 from help line. It's out of sync with code.
3750
72b9658b 37512009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
3754 entries on failed boot.
3755
77435277 37562009-07-25 Felix Zielcke <fzielcke@z-51.de>
3757
3758 * kern/file.c (grub_file_open): Fix an error check.
3759
fcaa8b21 37602009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
3761
35d16c74 3762 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
3763 partition map couldn't be identified.
fcaa8b21 3764
48904cd1 37652009-07-23 Pavel Roskin <proski@gnu.org>
3766
ef3c317f 3767 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
3768 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
3769 case of little endian words becomes just an optimization.
3770 Respect const modifier.
ad8ea1f4 3771 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 3772
48904cd1 3773 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
3774 to avoid loss of upper bits if align is unsigned and shorter
3775 than addr.
3776
260c9a89 37772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 UUID support for UFS
3780
3781 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
3782 (grub_ufs_uuid): New function.
3783 (grub_ufs_fs): add .uuid
3784
f76ce889 37852009-07-21 Pavel Roskin <proski@gnu.org>
3786
3787 * kern/dl.c (grub_dl_check_header): Make static.
3788
6a6cbcaf 37892009-07-21 Felix Zielcke <fzielcke@z-51.de>
3790
3791 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
3792 add drivemap for Vista. It breaks Windows 7.
3793
cffcddb2 37942009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
3797 128 bytes
3798
1ef44b80 37992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Add BFS support
3802
3803 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
3804 (grub_fstest_SOURCES): Likewise.
3805 (pkglib_MODULES): Add befs.mod.
3806 (befs_mod_SOURCES): New variable.
3807 (befs_mod_CFLAGS): Likewise.
3808 (befs_mod_LDFLAGS): Likewise.
3809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
3810 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3811 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3813 (grub_setup_SOURCES): Likewise.
3814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3815 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3816 (grub_setup_SOURCES): Likewise.
3817 * fs/befs.c: New file.
3818 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
3819 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
3820 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
3821 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
3822 (B_KEY_INDEX_ALIGN): New declaration.
3823 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
3824 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
3825 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
3826 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
3827 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
3828 (grub_afs_mount) [MODE_BFS]: Likewise.
3829 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
3830 (grub_afs_fs): Use GRUB_AFS_FSNAME
3831 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
3832 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
3833 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
3834 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
3835
4f253044 38362009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
3837
3838 * util/getroot.c (find_root_device): Add support for MacOSX.
3839 * util/hostdisk.c: Likewise.
3840
57a55913 38412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * font/font.c (find_glyph): Check whether a font is present to avoid
3844 segmentation fault.
75421ca9 3845
38462009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 3847
3848 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
3849
e98cd0c2 38502009-07-20 Pavel Roskin <proski@gnu.org>
3851
3852 * configure.ac: Trim excessively wordy excuses.
3853
1d2d169a 38542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Add symlink, mtime and label support to AtheFS.
3857
3858 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
3859 (grub_afs_iterate_dir): Handle symlinks.
3860 (grub_afs_open): Use grub_afs_read_symlink.
3861 (grub_afs_dir): Likewise.
3862 Pass mtime.
3863 (grub_afs_label): New function.
3864 (grub_afs_fs): Add grub_afs_label.
3865 (grub_afs_read_symlink): New function.
3866
186f3189 38672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 Fix AtheFS support.
3870
3871 * fs/afs.c: Fix comments style.
3872 (grub_afs_blockrun): Declare as packed.
3873 (grub_afs_datastream): Likewise.
3874 (grub_afs_bnode): Likewise.
3875 (grub_afs_btree): Likewise.
3876 (grub_afs_sblock): Likewise.
3877 Declare `name' as char.
3878 (grub_afs_inode): Declare as packed.
3879 Change void *vnode to grub_uint32_t unused.
3880 (grub_afs_iterate_dir): Check that key_size is positive.
3881 (grub_afs_mount): Don't read superblock twice.
75421ca9 3882 (grub_afs_dir): Don't free node in case of error,
186f3189 3883 grub_fshelp_find_file already handles this.
3884 (grub_afs_open): Likewise.
3885
5680109e 38862009-07-19 Pavel Roskin <proski@gnu.org>
3887
3888 * Makefile.in: Remove LIBLZO and enable_lzo.
3889 * conf/i386-pc.rmk: Remove lzo support.
3890 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
3891 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
3892 support.
3893 * kern/i386/pc/lzo1x.S: Remove.
3894 * kern/i386/pc/startup.S: Remove lzo support.
3895 * util/i386/pc/grub-mkimage.c: Likewise.
3896
ac70fa32 38972009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
3900 * fs/xfs.c (grub_xfs_dir): Likewise.
3901 * fs/afs.c (grub_afs_dir): Likewise.
3902 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3903 (grub_iso9660_open): Likewise.
3904 * fs/jfs.c (grub_jfs_open): Likewise.
3905 * fs/ext2.c (grub_ext2_dir): Likewise.
3906 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
3907 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 3908
eab58da2 39092009-07-16 Pavel Roskin <proski@gnu.org>
3910
d2838156 3911 * configure.ac: Never add "-c" to CFLAGS.
3912
55c70904 3913 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
3914
43e6200c 3915 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
3916 grub_cv_cc_efiemu should be used.
3917
ce7a733d 3918 * configure.ac: Typo fixes.
3919
eab58da2 3920 * kern/mm.c (grub_zalloc): New function.
3921 (grub_debug_zalloc): Likewise.
3922 * include/grub/mm.h: Declare grub_zalloc() and
3923 grub_debug_zalloc().
3924 * util/misc.c (grub_zalloc): New function.
3925 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
3926 instead of grub_malloc(), remove unneeded initializations.
3927 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
3928 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
3929 * commands/parttool.c (grub_cmd_parttool): Likewise.
3930 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3931 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
3932 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
3933 * disk/usbms.c (grub_usbms_finddevs): Likewise.
3934 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
3935 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
3936 (grub_cmd_efiemu_pnvram): Likewise.
3937 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
3938 * fs/iso9660.c (grub_iso9660_mount): Likewise.
3939 (grub_iso9660_iterate_dir): Likewise.
3940 * fs/jfs.c (grub_jfs_opendir): Likewise.
3941 * fs/ntfs.c (list_file): Likewise.
3942 (grub_ntfs_mount): Likewise.
3943 * kern/disk.c (grub_disk_open): Likewise.
3944 * kern/dl.c (grub_dl_load_core): Likewise.
3945 * kern/elf.c (grub_elf_file): Likewise.
3946 * kern/env.c (grub_env_context_open): Likewise.
3947 (grub_env_set): Likewise.
3948 (grub_env_set_data_slot): Likewise.
3949 * kern/file.c (grub_file_open): Likewise.
3950 * kern/fs.c (grub_fs_blocklist_open): Likewise.
3951 * loader/i386/multiboot.c (grub_module): Likewise.
3952 * loader/xnu.c (grub_xnu_create_key): Likewise.
3953 (grub_xnu_create_value): Likewise.
3954 * normal/main.c (grub_normal_add_menu_entry): Likewise.
3955 (read_config_file): Likewise.
3956 * normal/menu_entry.c (make_screen): Likewise.
3957 * partmap/sun.c (sun_partition_map_iterate): Likewise.
3958 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
3959 * script/sh/script.c (grub_script_parse): Likewise.
3960 * video/bitmap.c (grub_video_bitmap_create): Likewise.
3961 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3962 * video/readers/png.c (grub_png_output_byte): Likewise.
3963 (grub_video_reader_png): Likewise.
3964
830afef7 39652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 3966
3967 Enable all targets that can be built by default
3968
830afef7 3969 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 3970 grub-mkfont and grub-fstest if they can be built
3971
ee293aee 39722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Fix hang and segmentation fault in grub-emu-usb
3975
3976 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
3977 * util/usb.c (grub_libusb_devices): likewise
3978 (grub_libusb_init): rename to ...
3979 (GRUB_MOD_INIT (libusb)):...this
3980 (grub_libusb_fini): rename to ..
3981 (GRUB_MOD_FINI (libusb)):...this
3982 * disk/usbms.c (grub_usbms_transfer): fix retry logic
3983 * include/grub/disk.h (grub_raid_init): removed, it's useless
3984 (grub_raid_fini): likewise
3985 (grub_lvm_init): likewise
3986 (grub_lvm_fini): likewise
3987 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
3988 by grub_init_all
3989
94414221 39902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Fix libusb
3993
3994 * Makefile.in (LIBUSB): new macro
3995 * genmk.rb (Utility/print_tail): new method
3996 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
3997 (top level): call util.print_tail at the end.
3998
59ade63d 39992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 Make FreeBSD accept zpool.cache
4002
4003 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4004 type is /boot/zfs/zpool.cache
4005
a58da8c7 40062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 Fix 64-bit efiemu
4009
4010 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4011 correct wrong typedef
4012 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4013
20591577 40142009-07-15 Pavel Roskin <proski@gnu.org>
4015
560ca572 4016 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4017 * kern/disk.c (struct grub_disk_cache): Likewise.
4018
e8e8e4fd 4019 * commands/probe.c (options): Typo fix.
4020
fde24e10 4021 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4022 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4023 accordingly.
4024 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4025
379c54c1 4026 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4027 the end of "Error" to make the message more readable.
4028
7bd8f5bf 4029 * boot/i386/pc/boot.S (kernel_segment): Remove.
4030 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4031 for destination.
4032
40b132c5 4033 * boot/i386/pc/boot.S (boot_version): Remove.
4034 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4035 Remove.
4036
20591577 4037 * include/grub/i386/pc/boot.h: Sort all offsets.
4038 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4039 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4040 * boot/i386/pc/boot.S: Assert location of every offset listed in
4041 include/grub/i386/pc/boot.h.
4042
2df32b2c 40432009-07-13 Pavel Roskin <proski@gnu.org>
4044
44b5d879 4045 * include/grub/i386/coreboot/machine.h: Rename
4046 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4047 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4048 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4049
17dc3751 4050 * kern/dl.c: Force native word size to suppress warnings when
4051 compiling grub-emu.
4052
2df32b2c 4053 * kern/device.c (grub_device_iterate): Change struct part_ent to
4054 hold the name, not a pointer to it. Use one grub_malloc() per
4055 partition, not two. Free partition_name if grub_malloc() fails.
4056 Set ents to NULL only before grub_partition_iterate() is called.
4057
75c59f59 40582009-07-11 Bean <bean123ch@gmail.com>
4059
4060 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
4061 childname.
4062
0ae1bf88 40632009-07-10 Bean <bean123ch@gmail.com>
40642009-07-10 Robert Millan <rmh.grub@aybabtu.com>
4065
4066 * kern/ieee1275/openfw.c (grub_children_iterate)
4067 (grub_devalias_iterate): Fix size evaluation for property or path
4068 strings, which was broken since r2132.
4069
8279cade 40702009-07-07 Pavel Roskin <proski@gnu.org>
4071
7d8a52d3 4072 * commands/search.c (search_file): Merge into ...
4073 (search_fs): ... this. Accept search type as argument.
4074 (grub_cmd_search): Pass search type to search_fs().
4075
25f9a05a 4076 * include/grub/util/console.h: New file.
4077 * util/console.c: Use it instead of grub/machine/console.h.
4078 * util/grub-emu.c: Likewise.
4079
8279cade 4080 * lib/arg.c (find_long_option): Remove.
4081 (find_long): Add `len' argument, make `s' const char *.
4082 (grub_arg_parse): Parse long options in place, not in a
4083 temporary buffer.
4084
4a11b60f 40852009-07-06 Pavel Roskin <proski@gnu.org>
4086
99f68041 4087 * commands/search.c (search_fs): Fix potential NULL pointer
4088 dereference.
4089
4a11b60f 4090 * commands/search.c (search_fs): Replace QUID macro with quid_fn
4091 function pointer.
4092
e110f4de 40932009-07-06 Daniel Mierswa <impulze@impulze.org>
4094
4095 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
4096 comparison.
4097
46eeb6a2 40982009-07-05 Pavel Roskin <proski@gnu.org>
4099
bab74958 4100 * include/grub/i386/linux.h (struct linux_kernel_params):
4101 Restore padding3, it's still needed.
4102
46eeb6a2 4103 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
4104 FreeBSD.
4105 * util/osdetect.lua: Likewise.
4106
b4a1dc79 41072009-07-05 Bean <bean123ch@gmail.com>
4108
4109 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
4110
4111 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
4112 (grub_lua_getenv): Likewise.
4113 (grub_lua_setenv): Likewise.
4114 (save_errno): New function.
4115 (push_result): Likewise.
4116 (grub_lua_enum_device): Likewise.
4117 (grub_lua_enum_file): Likewise.
4118 (grub_lua_file_open): Likewise.
4119 (grub_lua_file_close): Likewise.
4120 (grub_lua_file_seek): Likewise.
4121 (grub_lua_file_read): Likewise.
4122 (grub_lua_file_getline): Likewise.
4123 (grub_lua_file_getsize): Likewise.
4124 (grub_lua_file_getpos): Likewise.
4125 (grub_lua_file_eof): Likewise.
4126 (grub_lua_file_exist): Likewise.
4127 (grub_lua_add_menu): Likewise.
4128
4129 * script/lua/grub_lua.h (isupper): New inline function.
4130 (islower): Likewise.
4131 (ispunct): Likewise.
4132 (isxdigit): Likewise.
4133 (strcspn): Change to normal function.
4134 (strpbkr): New function declaration.
4135 (memchr): Likewise.
4136
4137 * script/lua/grub_main.c (scan_str): New function.
4138 (strcspn): Likewise.
4139 (strpbrk): Likewise.
4140 (memchr): Likewise.
4141
4142 * script/lua/linit.c (lualibs): Enable the string library.
4143
4144 * util/osdetect.lua: New file.
4145
2da92295 41462009-07-04 Robert Millan <rmh.grub@aybabtu.com>
4147
4148 * include/grub/i386/linux.h (struct linux_kernel_params): Add
4149 `capabilities' member.
4150
b2582ec9 41512009-07-02 Pavel Roskin <proski@gnu.org>
4152
4153 * genparttoollist.sh: Add missing newline at the end.
4154
32622956 41552009-07-01 Pavel Roskin <proski@gnu.org>
4156
87a7339e 4157 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
4158
d23af54e 4159 * util/hostdisk.c (open_device): Remove `const' from
4160 `sysctl_size', as sysctlbyname() can change it (in this case it
4161 doesn't actually happen).
4162
c94b18a9 4163 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
4164 using signed long int constants.
4165
c6cd3ef0 4166 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
4167 constant to avoid a warning on FreeBSD.
4168
0df63420 4169 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
4170 where it's needed.
4171
999577f1 4172 * Makefile.in: Install include/grub/machine symlink.
4173
6f41557f 4174 * Makefile.in: When installing symlinks, use "cp -fR", which
4175 works on FreeBSD and MacOSX.
4176 From Yves Blusseau <cl7m42e02@sneakemail.com>
4177
c8d22988 4178 * kern/dl.c (grub_dl_resolve_symbol): Make static.
4179 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
4180
1b96e952 4181 * util/misc.c: Move grub_reboot() and grub_halt() ...
4182 * util/grub-emu.c: ... here. Make main_env static.
4183 * include/grub/util/misc.h: Remove main_env.
4184
2ef0084d 4185 * kern/mm.c: Use correct format to print size_t.
4186
32622956 4187 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
4188 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
4189 * kern/powerpc/dl.c: Likewise.
4190 * kern/sparc64/dl.c: Likewise.
4191 * kern/x86_64/dl.c: Likewise.
4192
3f7f0cd0 41932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4194
4195 Fix grub-emu build on sparc64-ieee1275.
4196
75421ca9 4197 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 4198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
4199
211d06b5 42002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4201
4202 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
4203 (grub_reboot, grub_halt): New functions.
4204
4205 * util/i386/pc/misc.c: Delete. Update all users.
4206 * util/sparc64/ieee1275/misc.c: Likewise.
4207 * util/powerpc/ieee1275/misc.c: Likewise.
4208
aaf53e3c 42092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4210
4211 * conf/i386.rmk (setjmp_mod_SOURCES)
4212 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
4213 * conf/common.rmk (setjmp_mod_SOURCES)
4214 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
4215 to use $(target_cpu).
4216 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
4217 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
4218 * conf/powerpc-ieee1275.rmk: Likewise.
4219 * conf/sparc64-ieee1275.rmk: Likewise.
4220
4221 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
4222 $(target_cpu) for kern/$(target_cpu)/dl.c.
4223 * conf/i386-efi.rmk: Likewise.
4224 * conf/i386-ieee1275.rmk: Likewise.
4225 * conf/x86_64-efi.rmk: Likewise.
4226 * conf/i386-coreboot.rmk: Likewise.
4227 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
4228 $(target_cpu) for kern/$(target_cpu)/dl.c and for
4229 kern/$(target_cpu)/cache.S.
4230 * conf/sparc64-ieee1275.rmk: Likewise.
4231
a337130b 42322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4233
4234 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
4235 type to `grub_uint8_t', and adjust `padding9' accordingly.
4236
c6fe4d53 42372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4238
b09db61d 4239 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
4240
c6fe4d53 4241 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
4242 assembly in final jump, using register constraints.
4243
b09db61d 4244 (grub_linux_boot): For text mode, initialize `have_vga' using
4245 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
4246
4247 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
4248 right before the final jump.
4249
4250 Set `video_mode' to 0x3.
4251
4252 Document initialization of `video_page', `video_mode' and
4253 `video_ega_bx'.
4254
28333ad0 42552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4256
4257 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
4258 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 4259 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 4260
02164e1b 42612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4262
4263 Fix build on Debian / sparc.
4264
4265 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
4266
18b6c557 42672009-06-28 Pavel Roskin <proski@gnu.org>
4268
85f2aab6 4269 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
4270 fix a warning.
4271
18b6c557 4272 * util/grub.d/10_linux.in: Match SUSE style initrd names.
4273
ad760f81 42742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4275
4276 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
4277 `err'.
4278
87a4623b 42792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4280
4281 Revert r2338.
4282
4283 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
4284 file can't be opened. grub_file_open() is already supposed to set
75421ca9 4285 grub_errno / grub_errmsg appropriately.
87a4623b 4286 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4287
8231fb77 42882009-06-27 Pavel Roskin <proski@gnu.org>
42892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4290
4291 * include/grub/dl.h: Include grub/elf.h.
4292 (struct grub_dl): Add symtab field.
4293 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
4294 GRUB_MODULES_MACHINE_READONLY.
4295 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
4296 of the header for read-only modules.
4297 (grub_dl_unload): Free mod->symtab for read-only modules.
4298 * kern/i386/dl.c: Use mod->symtab.
4299 * kern/powerpc/dl.c: Likewise.
4300 * kern/sparc64/dl.c: Likewise.
4301 * kern/x86_64/dl.c: Likewise.
4302
4303 * conf/i386-qemu.rmk: New file.
4304 * kern/i386/qemu/startup.S: Likewise.
4305 * kern/i386/qemu/mmap.c: Likewise.
4306 * boot/i386/qemu/boot.S: Likewise.
4307 * include/grub/i386/qemu/time.h: Likewise.
4308 * include/grub/i386/qemu/serial.h: Likewise.
4309 * include/grub/i386/qemu/kernel.h: Likewise.
4310 * include/grub/i386/qemu/console.h: Likewise.
4311 * include/grub/i386/qemu/boot.h: Likewise.
4312 * include/grub/i386/qemu/init.h: Likewise.
4313 * include/grub/i386/qemu/machine.h: Likewise.
4314 * include/grub/i386/qemu/loader.h: Likewise.
4315 * include/grub/i386/qemu/memory.h: Likewise.
4316
4317 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
4318 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
4319 [qemu] (pkglib_IMAGES): Add `boot.img'.
4320 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
4321 [qemu] (boot_img_FORMAT): New variables.
4322 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
4323 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
4324 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
4325 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4326 [qemu] (kernel_img_FORMAT): New variables.
4327
4328 * configure.ac: Recognise `i386-qemu'.
4329
4330 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
4331 (for no compression).
4332 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
4333 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
4334 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
4335 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
4336 ifdefs).
4337
97fe384e 43382009-06-27 Pavel Roskin <proski@gnu.org>
4339
4340 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
4341 read.
4342 * efiemu/prepare32.c: Likewise.
4343 * efiemu/prepare64.c: Likewise.
4344
c402ab17 43452009-06-26 Pavel Roskin <proski@gnu.org>
4346
4347 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
4348 * include/grub/elf.h: Define symbols without "32" or "64" based
4349 on GRUB_TARGET_WORDSIZE.
4350 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
4351 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
4352 ELF definitions.
4353 * efiemu/loadcore64.c: Likewise.
4354 * loader/i386/bsd32.c: Likewise.
4355 * loader/i386/bsd64.c: Likewise.
4356 * kern/dl.c: Remove own ELF definitions.
4357 * util/i386/efi/grub-mkimage.c: Likewise.
4358
9bbdfd4d 43592009-06-23 Robert Millan <rmh.grub@aybabtu.com>
4360
4361 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
4362 segment 0x0 unconditionally, because the reference generated by
4363 GAS is an absolute address.
4364
a42ce6e9 43652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4366
4367 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
4368 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
4369
c952cf92 43702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4371
4372 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
4373 indexes. Check for -f explicitly.
cc3752ad 4374 (search_file): Improve error message.
4375 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 4376
132a0a59 43772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4378
4379 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
4380 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
4381
387a140c 43822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4383
4384 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
4385 * conf/i386-ieee1275.rmk: Likewise.
4386 * conf/i386-coreboot.rmk: Likewise.
4387
4388 * kern/i386/pc/startup.S (grub_stop): Remove function.
4389 * kern/i386/ieee1275/startup.S: Likewise.
4390 * kern/i386/coreboot/startup.S: Likewise.
4391 * kern/i386/misc.S (grub_stop): New function.
4392
41da9665 43932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4394
4395 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
4396 * kern/i386/realmode.S (real_to_prot): ... to here.
4397
bf337234 43982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4399
4400 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
4401 with `kernel.img'.
4402 (kernel_elf_SOURCES): Rename to ...
4403 (kernel_img_SOURCES): ... this.
4404 (kernel_elf_HEADERS): Rename to ...
4405 (kernel_img_HEADERS): ... this. Update all users.
4406 (kernel_elf_ASFLAGS): Rename to ...
4407 (kernel_img_ASFLAGS): ... this.
4408 (kernel_elf_CFLAGS): Rename to ...
4409 (kernel_img_CFLAGS): ... this.
4410 (kernel_elf_LDFLAGS): Rename to ...
4411 (kernel_img_LDFLAGS): ... this.
4412 * conf/i386-coreboot.rmk: Likewise.
4413 * conf/powerpc-ieee1275.rmk: Likewise.
4414
4415 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
4416 with "kernel.img".
4417
f52196ff 44182009-06-21 Pavel Roskin <proski@gnu.org>
4419
c3cee413 4420 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
4421 to match nested functions.
4422 * loader/sparc64/ieee1275/linux.c: Likewise.
4423
f52196ff 4424 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
4425
58750afc 44262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4427
4428 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
4429 all i386 platforms.
4430
15355c7d 44312009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4432
4433 Fix asm file handling on ELF, and remove workarounds.
4434
4435 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 4436 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 4437 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
4438 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
4439
3f3ec72b 44402009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 Load BSD ELF modules
4443
4444 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
4445 and loader/i386/bsd64.c
4446 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
4447 (FREEBSD_MODTYPE_ELF_MODULE): New definition
4448 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
4449 (grub_freebsd_load_elfmodule32): New declaration
4450 (grub_freebsd_load_elfmoduleobj64): Likewise
4451 (grub_freebsd_load_elf_meta32): Likewise
4452 (grub_freebsd_load_elf_meta64): Likewise
4453 (grub_freebsd_add_meta): Likewise
4454 (grub_freebsd_add_meta_module): Likewise
4455 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
4456 (grub_freebsd_add_meta_module): Likewise and move module-specific
4457 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
4458 (grub_cmd_freebsd): Add elf-kernel specific parts
4459 based on grub_freebsd_add_meta_module
4460 (grub_cmd_freebsd_module): Add type parsing moved from
4461 grub_freebsd_add_meta_module
4462 (grub_cmd_freebsd_module_elf): New function
4463 (cmd_freebsd_module_elf): New variable
4464 (GRUB_MOD_INIT): Register freebsd_module_elf
4465 * loader/i386/bsd32.c: New file
4466 * loader/i386/bsd64.c: Likewise
4467 * loader/i386/bsdXX.c: Likewise
4468 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
4469 (grub_elf64_load): Likewise
4470 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
4471 All users updated
4472 (grub_elf64_load_hook_t): Likewise
4473
0db15301 44742009-06-21 Colin Watson <cjwatson@ubuntu.com>
4475
4476 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
4477 variable.
4478 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
4479 don't write a menu entry for recovery mode.
4480
546796c1 44812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4482
4483 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
4484 after it's no longer needed.
4485
cd7310d5 44862009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4487
4488 * include/grub/i386/loader.h (grub_linux_prot_size)
4489 (grub_linux_tmp_addr, grub_linux_real_addr)
4490 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
4491 GRUB_MACHINE_PCBIOS.
4492 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
4493 common grub_util_info() call to ...
4494 (generate_image): ... here.
4495 Fix use of uninitialized memory, comparison of signed with
4496 unsigned integers and memory leak.
4497 Remove bogus module address message.
4498
ab32d3b5 44992009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
4502 grub_raid_register
4503 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
4504
024ef597 45052009-06-19 Pavel Roskin <proski@gnu.org>
4506
4507 * configure.ac: Remove stray AC_MSG_CHECKING.
4508
3ac72b51 45092009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 4512
e14cd814 45132009-06-18 Pavel Roskin <proski@gnu.org>
4514
4515 * conf/common.rmk: Add fs_file.mod.
4516 * disk/fs_file.c: New file.
4517 * include/grub/disk.h (enum grub_disk_dev_id): Add
4518 GRUB_DISK_DEVICE_FILE_ID.
4519
26586d98 45202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 Fix build with Apple's toolchain. Part 2
4523
4524 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
4525 a fake start
4526
26de2bcd 45272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 Fix build with Apple's toolchain. Part 1
4530
4531 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
4532 for long calls
4533 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 4534 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 4535 Apple's toolchain
4536
09b3490b 45372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 Fix warnings
4540
4541 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
4542 (decomp_block): initialize ch
4543 use grub_memcpy instead of memcpy
4544
c22a006a 45452009-06-17 Pavel Roskin <proski@gnu.org>
4546
d3638678 4547 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
4548 version, use declarations needed to use vga_text as the startup
4549 console.
4550
c22a006a 4551 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
4552 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
4553 the kernel.
4554 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
4555 and grub_at_keyboard_fini(), it's done on module load and
4556 unload.
4557
05b129e0 45582009-06-17 Felix Zielcke <fzielcke@z-51.de>
4559
4560 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
4561 file can't be found.
4562 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4563
cf24ed9e 45642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 Fix newline handling
4567
4568 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 4569 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 4570 (grub_script_yylex): don't segfault on unterminated script
4571 newline terminates command and variable
4572
74aa8e4b 45732009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 avoid double grub_adjust_range call. Bug reported by David Simner
4576
4577 * kern/disk.c (grub_disk_write): change to raw disk access before
4578 calling disk_read
4579
1bd265f3 45802009-06-17 Colin Watson <cjwatson@ubuntu.com>
4581
4582 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
4583 spaces, for the benefit of help2man.
4584 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4585
a2d08c06 45862009-06-16 Pavel Roskin <proski@gnu.org>
4587
4588 * kern/i386/halt.c: Include grub/machine/init.h.
4589 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
4590
b97bcb19 45912009-06-16 Felix Zielcke <fzielcke@z-51.de>
4592
4593 * util/grub.d/30_os-prober.in: Use ${root} in the generated
4594 drivemap menuentry.
4595
0644f96c 45962009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
4597
4598 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
4599 `echo' command.
4600
3ef17a2e 46012009-06-16 Pavel Roskin <proski@gnu.org>
4602
4603 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
4604 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
4605 save %dx, we only need %dl and we never change it.
4606 * boot/i386/pc/cdboot.S: Don't set the root drive.
4607 * boot/i386/pc/pxeboot.S: Likewise.
4608 * include/grub/i386/pc/boot.h: Remove
4609 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
4610 GRUB_BOOT_MACHINE_DRIVE_CHECK.
4611 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
4612 * kern/i386/pc/init.c (make_install_device): Remove references
4613 to grub_root_drive.
4614 * kern/i386/pc/startup.S: Likewise.
4615 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
4616
693fe637 46172009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 xnu_uuid command
4620
4621 * commands/xnu_uuid.c: new file
4622 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
4623 (xnu_uuid_mod_SOURCES): new variable
4624 (xnu_uuid_mod_CFLAGS): likewise
4625 (xnu_uuid_mod_LDFLAGS): likewise
4626 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
4627 * conf/i386-ieee1275.rmk: likewise
4628 * conf/i386-pc.rmk: likewise
4629 * conf/powerpc-ieee1275.rmk: likewise
4630 * conf/sparc64-ieee1275.rmk: likewise
4631 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
4632
c9da87d0 46332009-06-16 Pavel Roskin <proski@gnu.org>
4634
4635 * configure.ac: Avoid '==' in test command, it's not portable.
4636
9c6f4596 46372009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Probe command
4640
4641 * commands/probe.c: new file
4642 * conf/common.rmk (pkglib_MODULES): add probe.mod
4643 (probe_mod_SOURCES): new variable
4644 (probe_mod_CFLAGS): likewise
4645 (probe_mod_LDFLAGS): likewise
4646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
4647 * conf/i386-ieee1275.rmk: likewise
4648 * conf/i386-pc.rmk: likewise
4649 * conf/powerpc-ieee1275.rmk: likewise
4650 * conf/sparc64-ieee1275.rmk: likewise
4651
70b7f9fd 46522009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Fix handling of string like \"hello\" and "a
4655 b"
4656
4657 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
4658 (grub_script_yylex): fix parsing of quoting, escaping and newline
4659
71c79a6b 46602009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4661
dd74360c 4662 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 4663 handling
dd74360c 4664
0644f96c 46652009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 4666
4667 * util/grub-mkconfig.in: Fix parsing of --output option.
4668
e40893c3 46692009-06-12 Pavel Roskin <proski@gnu.org>
4670
4671 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
4672 genmk.rb don't need to be generated or installed.
4673
3a1acfe2 46742009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * commands/i386/pc/drivemap_int13h.S: add more comments
4677
3a4575d4 46782009-06-11 Pavel Roskin <proski@gnu.org>
4679
0658e928 4680 * Makefile.in (uninstall): Uninstall manuals.
4681
ca0388f0 4682 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
4683 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
4684 and update-grub_lib in two places.
4685 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
4686
e3b27c39 4687 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
4688 a compiler warning.
4689
3a4575d4 4690 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
4691 `entry_lo' to fix variable shadowing.
4692
af1f4f55 46932009-06-11 Christian Franke <franke@computer.org>
4694
4695 * kern/misc.c (__enable_execute_stack): Add missing return type
4696 to prevent gcc warning.
4697
5225e649 46982009-06-11 Felix Zielcke <fzielcke@z-51.de>
4699
4700 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
4701
7d83bd47 47022009-06-11 Pavel Roskin <proski@gnu.org>
4703
c1cb63ba 4704 * Makefile.in: Don't rely on any scripts being executable.
4705 Always use $(SHELL) to run shell scripts.
4706
7d83bd47 4707 * configure.ac: Always define ___main if using -nostdlib. This
4708 fixes tests on Cygwin.
4709
948f48e7 47102009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
4711
4712 UDF fix
4713
7d83bd47 4714 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 4715 is in bytes and not in blocks
7d83bd47 4716
8ada9bc1 47172009-06-11 Pavel Roskin <proski@gnu.org>
4718
4719 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
4720 warning.
4721
25ad2323 47222009-06-11 Felix Zielcke <fzielcke@z-51.de>
4723
4724 * util/grub.d/30_os-prober.in: Fix a comment. Source
4725 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
4726 to set the root device. Place drivemap command in the generated
4727 chain entry.
4728
e65acb0c 47292009-06-11 Pavel Roskin <proski@gnu.org>
4730
4731 * configure.ac: Remove host_m32. Issues with 64-bit utilities
4732 have long been resolved.
4733
f285fe2d 47342009-06-11 Colin Watson <cjwatson@ubuntu.com>
4735
bd47b0b5 4736 * util/grub.d/10_linux.in: Capitalise "Linux".
4737
f285fe2d 4738 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
4739
a0c62e4e 47402009-06-11 Pavel Roskin <proski@gnu.org>
4741
b6783cb2 4742 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
4743 fix a gcc warning and ensure that the function won't ever exit.
4744
dde032e8 4745 * kern/i386/ieee1275/init.c: Add missing prototype for
4746 grub_stop_floppy().
4747
22cd079d 4748 * loader/ieee1275/multiboot2.c [__i386__]: Include
4749 grub/cpu/multiboot.h.
4750
a0c62e4e 4751 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
4752 casts to short - they are not portable and cause warnings. Fix
4753 use of uninitialized values in input_buf. Use ARRAY_SIZE.
4754
63963d17 47552009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Drivemap fixes
4758
4759 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
4760 new function
4761 (grub_get_root_biosnumber_saved): new variable
4762 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
4763 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 4764 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 4765 %dx after the call if necessary
4766 * conf/common.rmk (pkglib_MODULES): remove boot.mod
4767 (boot_mod_SOURCES): remove
4768 (boot_mod_CFLAGS): remove
4769 (boot_mod_LDFLAGS): remove
4770 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
4771 (boot_mod_SOURCES): new variable
4772 (boot_mod_CFLAGS): likewise
4773 (boot_mod_LDFLAGS): likewise
4774 * conf/i386-efi.rmk: likewise
4775 * conf/i386-ieee1275.rmk: likewise
4776 * conf/i386-pc.rmk: likewise
4777 * conf/powerpc-ieee1275.rmk: likewise
4778 * conf/sparc64-ieee1275.rmk: likewise
4779 * conf/x86_64-efi.rmk: likewise
4780 * include/grub/i386/pc/biosnum.h: new file
4781 * lib/i386/pc/biosnum.c: likewise
4782 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
4783 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
4784 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 4785
33abf7ae 47862009-06-10 Pavel Roskin <proski@gnu.org>
4787
5ac35b35 4788 * io/gzio.c (test_header): Don't reuse one buffer for all data.
4789 Use separate variables. Read only the file size at the end, but
4790 not the checksum that we don't use.
4791
5c5215d5 4792 * kern/file.c (grub_file_read): Use void pointer for the buffer.
4793 Adjust all callers.
4794
27d5fef7 4795 * kern/ieee1275/openfw.c: Remove libc includes.
4796 * kern/ieee1275/cmain.c: Likewise.
4797 * include/grub/ieee1275/ieee1275.h: Likewise.
4798
33abf7ae 4799 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
4800 compiler warnings.
4801
19d50c2b 48022009-06-10 Felix Zielcke <fzielcke@z-51.de>
4803
4804 * Makefile.in: Remove all trailing whitespace.
4805 * conf/i386-pc.rmk: Likewise.
4806 * conf/powerpc-ieee1275.rmk: Likewise.
4807 * conf/sparc64-ieee1275.rmk: Likewise.
4808 * docs/grub.texi: Likewise.
4809 * docs/texinfo.tex: Likewise.
4810 * disk/fs_uuid.c: Likewise.
4811 * disk/lvm.c: Likewise.
4812 * disk/scsi.c: Likewise.
4813 * disk/ata.c: Likewise.
4814 * disk/ieee1275/ofdisk.c: Likewise.
4815 * disk/i386/pc/biosdisk.c: Likewise.
4816 * disk/host.c: Likewise.
4817 * disk/raid.c: Likewise.
4818 * disk/efi/efidisk.c: Likewise.
4819 * disk/usbms.c: Likewise.
4820 * disk/memdisk.c: Likewise.
4821 * disk/loopback.c: Likewise.
4822 * kern/powerpc/dl.c: Likewise.
4823 * kern/device.c: Likewise.
4824 * kern/dl.c: Likewise.
4825 * kern/sparc64/dl.c: Likewise.
4826 * kern/ieee1275/ieee1275.c: Likewise.
4827 * kern/term.c: Likewise.
4828 * kern/fs.c: Likewise.
4829 * kern/i386/dl.c: Likewise.
4830 * kern/i386/pc/startup.S: Likewise.
4831 * kern/i386/pc/init.c: Likewise.
4832 * kern/i386/pc/mmap.c: Likewise.
4833 * kern/i386/pc/lzo1x.S: Likewise.
4834 * kern/i386/ieee1275/init.c: Likewise.
4835 * kern/i386/realmode.S: Likewise.
4836 * kern/i386/tsc.c: Likewise.
4837 * kern/partition.c: Likewise.
4838 * kern/corecmd.c: Likewise.
4839 * kern/file.c: Likewise.
4840 * kern/efi/efi.c: Likewise.
4841 * kern/efi/init.c: Likewise.
4842 * kern/efi/mm.c: Likewise.
4843 * kern/main.c: Likewise.
4844 * kern/err.c: Likewise.
4845 * kern/env.c: Likewise.
4846 * kern/disk.c: Likewise.
4847 * kern/generic/millisleep.c: Likewise.
4848 * kern/generic/rtc_get_time_ms.c: Likewise.
4849 * kern/misc.c: Likewise.
4850 * kern/parser.c: Likewise.
4851 * genmk.rb: Likewise.
4852 * configure.ac: Likewise.
4853 * boot/i386/pc/diskboot.S: Likewise.
4854 * boot/i386/pc/pxeboot.S: Likewise.
4855 * boot/i386/pc/boot.S: Likewise.
4856 * boot/i386/pc/lnxboot.S: Likewise.
4857 * boot/i386/pc/cdboot.S: Likewise.
4858 * parttool/pcpart.c: Likewise.
4859 * video/readers/tga.c: Likewise.
4860 * video/video.c: Likewise.
4861 * video/bitmap.c: Likewise.
4862 * lib/envblk.c: Likewise.
4863 * lib/i386/setjmp.S: Likewise.
4864 * fs/xfs.c: Likewise.
4865 * fs/afs.c: Likewise.
4866 * fs/fat.c: Likewise.
4867 * fs/ntfs.c: Likewise.
4868 * fs/udf.c: Likewise.
4869 * fs/affs.c: Likewise.
4870 * fs/iso9660.c: Likewise.
4871 * fs/hfs.c: Likewise.
4872 * fs/fshelp.c: Likewise.
4873 * fs/ext2.c: Likewise.
4874 * fs/jfs.c: Likewise.
4875 * fs/reiserfs.c: Likewise.
4876 * fs/hfsplus.c: Likewise.
4877 * fs/minix.c: Likewise.
4878 * fs/cpio.c: Likewise.
4879 * fs/sfs.c: Likewise.
4880 * fs/ufs.c: Likewise.
4881 * efiemu/prepare.c: Likewise.
4882 * efiemu/loadcore_common.c: Likewise.
4883 * efiemu/runtime/efiemu.sh: Likewise.
4884 * efiemu/runtime/efiemu.S: Likewise.
4885 * efiemu/runtime/efiemu.c: Likewise.
4886 * efiemu/pnvram.c: Likewise.
4887 * efiemu/main.c: Likewise.
4888 * efiemu/i386/pc/cfgtables.c: Likewise.
4889 * efiemu/i386/loadcore64.c: Likewise.
4890 * efiemu/i386/loadcore32.c: Likewise.
4891 * efiemu/loadcore.c: Likewise.
4892 * efiemu/symbols.c: Likewise.
4893 * efiemu/mm.c: Likewise.
4894 * include/grub/autoefi.h: Likewise.
4895 * include/grub/datetime.h: Likewise.
4896 * include/grub/term.h: Likewise.
4897 * include/grub/hfs.h: Likewise.
4898 * include/grub/lvm.h: Likewise.
4899 * include/grub/i386/tsc.h: Likewise.
4900 * include/grub/i386/linux.h: Likewise.
4901 * include/grub/i386/xnu.h: Likewise.
4902 * include/grub/i386/efiemu.h: Likewise.
4903 * include/grub/i386/pc/biosdisk.h: Likewise.
4904 * include/grub/i386/pc/memory.h: Likewise.
4905 * include/grub/i386/pc/vbe.h: Likewise.
4906 * include/grub/parttool.h: Likewise.
4907 * include/grub/video.h: Likewise.
4908 * include/grub/memory.h: Likewise.
4909 * include/grub/fs.h: Likewise.
4910 * include/grub/partition.h: Likewise.
4911 * include/grub/xnu.h: Likewise.
4912 * include/grub/efi/api.h: Likewise.
4913 * include/grub/efi/pe32.h: Likewise.
4914 * include/grub/efi/memory.h: Likewise.
4915 * include/grub/multiboot.h: Likewise.
4916 * include/grub/usbdesc.h: Likewise.
4917 * include/grub/multiboot2.h: Likewise.
4918 * include/grub/acpi.h: Likewise.
4919 * include/grub/efiemu/efiemu.h: Likewise.
4920 * include/grub/disk.h: Likewise.
4921 * include/grub/ieee1275/ieee1275.h: Likewise.
4922 * include/grub/net.h: Likewise.
4923 * include/grub/machoload.h: Likewise.
4924 * include/grub/macho.h: Likewise.
4925 * include/multiboot.h: Likewise.
4926 * genmoddep.awk: Likewise.
4927 * normal/main.c: Likewise.
4928 * normal/menu_entry.c: Likewise.
4929 * normal/menu_viewer.c: Likewise.
4930 * normal/completion.c: Likewise.
4931 * normal/cmdline.c: Likewise.
4932 * normal/misc.c: Likewise.
4933 * normal/datetime.c: Likewise.
4934 * bus/usb/usbtrans.c: Likewise.
4935 * bus/usb/ohci.c: Likewise.
4936 * bus/usb/uhci.c: Likewise.
4937 * bus/usb/usb.c: Likewise.
4938 * mmap/efi/mmap.c: Likewise.
4939 * mmap/i386/pc/mmap_helper.S: Likewise.
4940 * mmap/i386/pc/mmap.c: Likewise.
4941 * mmap/i386/mmap.c: Likewise.
4942 * mmap/i386/uppermem.c: Likewise.
4943 * mmap/mmap.c: Likewise.
4944 * commands/acpi.c: Likewise.
4945 * commands/echo.c: Likewise.
4946 * commands/blocklist.c: Likewise.
4947 * commands/loadenv.c: Likewise.
4948 * commands/usbtest.c: Likewise.
4949 * commands/boot.c: Likewise.
4950 * commands/parttool.c: Likewise.
4951 * commands/search.c: Likewise.
4952 * commands/cat.c: Likewise.
4953 * commands/i386/pc/play.c: Likewise.
4954 * commands/i386/pc/drivemap.c: Likewise.
4955 * commands/i386/pc/vbeinfo.c: Likewise.
4956 * commands/i386/pc/acpi.c: Likewise.
4957 * commands/i386/pc/vbetest.c: Likewise.
4958 * commands/ls.c: Likewise.
4959 * commands/cmp.c: Likewise.
4960 * commands/test.c: Likewise.
4961 * commands/efi/acpi.c: Likewise.
4962 * commands/gptsync.c: Likewise.
4963 * commands/help.c: Likewise.
4964 * partmap/amiga.c: Likewise.
4965 * partmap/apple.c: Likewise.
4966 * partmap/acorn.c: Likewise.
4967 * partmap/pc.c: Likewise.
4968 * partmap/sun.c: Likewise.
4969 * partmap/gpt.c: Likewise.
4970 * script/sh/lexer.c: Likewise.
4971 * script/sh/function.c: Likewise.
4972 * font/font.c: Likewise.
4973 * font/font_cmd.c: Likewise.
4974 * loader/powerpc/ieee1275/linux.c: Likewise.
4975 * loader/efi/chainloader.c: Likewise.
4976 * loader/multiboot_loader.c: Likewise.
4977 * loader/macho.c: Likewise.
4978 * loader/i386/multiboot.c: Likewise.
4979 * loader/i386/linux.c: Likewise.
4980 * loader/i386/pc/linux.c: Likewise.
4981 * loader/i386/pc/multiboot2.c: Likewise.
4982 * loader/i386/pc/chainloader.c: Likewise.
4983 * loader/i386/pc/xnu.c: Likewise.
4984 * loader/i386/bsd_trampoline.S: Likewise.
4985 * loader/i386/efi/linux.c: Likewise.
4986 * loader/i386/multiboot_elfxx.c: Likewise.
4987 * loader/i386/bsd_helper.S: Likewise.
4988 * loader/i386/bsd.c: Likewise.
4989 * loader/i386/linux_trampoline.S: Likewise.
4990 * loader/i386/xnu_helper.S: Likewise.
4991 * loader/i386/xnu.c: Likewise.
4992 * loader/i386/bsd_pagetable.c: Likewise.
4993 * loader/i386/multiboot_helper.S: Likewise.
4994 * loader/xnu.c: Likewise.
4995 * loader/xnu_resume.c: Likewise.
4996 * io/gzio.c: Likewise.
4997 * term/efi/console.c: Likewise.
4998 * term/terminfo.c: Likewise.
4999 * term/ieee1275/ofconsole.c: Likewise.
5000 * term/i386/pc/serial.c: Likewise.
5001 * term/i386/pc/vesafb.c: Likewise.
5002 * term/i386/pc/vga.c: Likewise.
5003 * term/usb_keyboard.c: Likewise.
5004 * term/gfxterm.c: Likewise.
5005 * aclocal.m4: Likewise.
5006 * util/lvm.c: Likewise.
5007 * util/grub.d/30_os-prober.in: Likewise.
5008 * util/grub.d/10_hurd.in: Likewise.
5009 * util/console.c: Likewise.
5010 * util/grub-macho2img.c: Likewise.
5011 * util/grub-probe.c: Likewise.
5012 * util/hostfs.c: Likewise.
5013 * util/i386/pc/grub-mkimage.c: Likewise.
5014 * util/i386/pc/grub-setup.c: Likewise.
5015 * util/i386/efi/grub-mkimage.c: Likewise.
5016 * util/grub-mkconfig.in: Likewise.
5017 * util/raid.c: Likewise.
5018 * util/resolve.c: Likewise.
5019 * util/grub-mkdevicemap.c: Likewise.
5020 * util/grub-emu.c: Likewise.
5021 * util/getroot.c: Likewise.
5022 * util/hostdisk.c: Likewise.
5023 * util/usb.c: Likewise.
5024 * util/grub-editenv.c: Likewise.
5025 * util/misc.c: Likewise.
5026
d2d49665 50272009-06-10 Felix Zielcke <fzielcke@z-51.de>
5028
5029 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5030 `genparttoollist.sh'.
5031 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5032 Add `*.sh' to the list find searches for and change `mdate.sh'
5033 to `mdate-sh'.
5034
fe052e37 50352009-06-10 Pavel Roskin <proski@gnu.org>
5036
2763ac18 5037 * include/grub/multiboot2.h: Provide compatibility defines for
5038 multiboot2.h.
5039 * include/multiboot2.h: Include stdint.h only if needed, using
5040 angle brackets.
5041 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5042 grub/multiboot2.h.
5043 * loader/ieee1275/multiboot2.c: Likewise.
5044 * loader/multiboot2.c: Likewise.
5045 * loader/multiboot_loader.c: Likewise.
5046
437e6adc 5047 * configure.ac: Use -nostdlib when probing for the target. It
5048 should not be required to have libc for the target.
5049
06a6836c 5050 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5051 they fail without libc headers for the target.
5052 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5053 exports.
5054 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5055 preprocessor conditionals.
5056
fe052e37 5057 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5058 build system doesn't need to be aware of the tar.c internals.
5059
afd22553 50602009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 5061
afd22553 5062 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 5063
6b787c4f 50642009-06-09 Robert Millan <rmh.grub@aybabtu.com>
5065
5066 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
5067 disk limit to 26 for IDE, Virtio, Xen and SCSI.
5068
50692009-06-09 Felix Zielcke <fzielcke@z-51.de>
5070
5071 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 5072 aren't available if ata.mod gets used.
6b787c4f 5073
473d1e45 50742009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 5075
473d1e45 5076 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 5077 initialising controller.
473d1e45 5078 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 5079
255a27d4 50802009-06-08 Felix Zielcke <fzielcke@z-51.de>
5081
5082 * util/i386/pc/grub-install.in: Add a parameter --disk-module
5083 to choose between ata and biosdisk module on i386-pc.
5084
473d1e45 50852009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 5086
d55842d8 5087 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
5088 Subclass and Programming Interface fields in terms of the 3 byte
5089 Class Code register.
5090 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5091
fa5db0b1 5092 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
5093 interface is OHCI. Add grub_dprintf for symmetry with
5094 bus/usb/uhci.c.
5095 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
5096 interface is UHCI. Add interf variable for programming
5097 interface. Print interface with class/subclass.
5098
c0947beb 5099 * bus/usb/ohci.c: Set interf with correct field.
5100
69da8877 5101 * bus/usb/uhci.c: Remove unneeded doubled lines.
5102 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
5103 Remove whitespace inside comment.
5104
9e172e30 51052009-06-08 Robert Millan <rmh.grub@aybabtu.com>
5106
5107 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
5108 as fallback an equivalent option without depth.
5109
de65ee2b 51102009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Not fail if unable to retrieve C/H/S on LBA disks
5113
473d1e45 5114 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 5115 if unable to retrieve C/H/S on LBA disks
5116
b57ea2c9 51172009-06-08 Pavel Roskin <proski@gnu.org>
5118
5119 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
5120 about aliasing.
5121
af361263 51222009-06-08 Felix Zielcke <fzielcke@z-51.de>
5123
5124 * Makefile.in (uninstall): Remove all $lib_DATA files.
5125
4c9ec6b3 51262009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Bugfix: install on partitionless device
5129
5130 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
5131 is a whole disk
5132
e76fc924 51332009-06-08 Felix Zielcke <fzielcke@z-51.de>
5134
5135 * Makefile.in (uninstall): Remove all $include_DATA files.
5136
ba5a0d05 51372009-06-08 Felix Zielcke <fzielcke@z-51.de>
5138
5139 * commands/true.c: New file. Implement the true and false commands.
5140 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
5141 (true_mod_SOURCES): New variable.
5142 (true_mod_CFLAGS): Likewise.
5143 (true_mod_LDFLAGS): Likewise.
5144
c8048e32 51452009-06-05 Colin D Bennett <colin@gibibit.com>
5146
5147 Optimized font character lookup using binary search instead of linear
5148 search. Fonts now are required to have the character index ordered by
5149 code point.
5150
5151 * font/font.c (load_font_index): Verify that fonts have ordered
5152 character indices.
5153 (find_glyph): Use binary search instead of linear search to find a
5154 character in a font.
5155
408305be 51562009-06-05 Michael Scherer <misc@mandriva.org>
5157
5158 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
5159 uses case sensitive btree.
5160 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
5161 only for case insensitive filesystems.
5162
8ee1e0d9 51632009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
5166 * conf/common.rmk (search_mod_CFLAGS): likewise
5167
a9966eb1 51682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5169
473d1e45 5170 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 5171 compensate a compiler bug
5172
9e7100fb 51732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5174
473d1e45 5175 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 5176 instead of '\b'
473d1e45 5177
ede21d71 51782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Definitions for creating asm symbols with Apple's CC
5181
5182 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
5183 [APPLE_CC] (VARIABLE): likewise
5184
9dbf7653 51852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 Disable lnxboot.img when compiled
5188 with Apple's CC
5189
5190 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
5191 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
5192 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
5193 [! APPLE_CC] (CODE_LENG): skip
5194 [! APPLE_CC] (setup_sects): likewise
5195 [! APPLE_CC]: skip filling
473d1e45 5196
e93cdc3d 51972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 Address in trampolines based on 32-bit registers when compiled
5200 with Apple's CC
5201
473d1e45 5202 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 5203 for addresses
5204 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
5205
6c688477 52062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Avoid aliases when compiling with Apple's CC for PCBIOS machine
5209
5210 * kern/misc.c [APPLE_CC] (memcpy): new function
5211 [APPLE_CC] (memmove): likewise
5212 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 5213 (memcpy): define alias conditionally on !APPLE_CC
6c688477 5214 (memset): likewise
5215 (abort): likewise
5216 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
5217 APPLE_CC are defined
5218 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
5219 (grub_assert_fail): make prototype conditional
5220
e37ffc5c 52212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
5224
473d1e45 5225 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
5226 grub-macho2img
e37ffc5c 5227 (CLEANFILES): add grub-macho2img
5228 (grub_macho2img_SOURCES): new variable
5229 * kern/i386/pc/startup.S (bss_start): new variable
5230 (bss_end): likewise
5231 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
5232 * util/grub-macho2img.c: new file
5233
cf00df31 52342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 Use objconv when compiling with Apple's CC
5237
5238 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
5239 (efiemu64.o): likewise
5240 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
5241 when compiling with Apple's CC
5242 (efiemu64_s.o): likewise
5243 * configure.ac: check for objconv when compiling with Apple's CC
5244 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 5245
d119a20c 52462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 Define segment as well as section when compiling with
5249 Apple's CC
5250
5251 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
5252 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
5253 (efiemu_convert_pointer): likewise
5254 (efiemu_set_virtual_address_map): likewise
5255 (efiemu_convert_pointer): likewise
5256 (efiemu_getcrc32): likewise
5257 (init_crc32_table): likewise
5258 (reflect): likewise
5259 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
5260 (GRUB_MOD_DEP): likewise
473d1e45 5261
c8600122 52622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 Allow a compilation without -mcmodel=large
5265
5266 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
5267 when compiled without -mcmodel=large
473d1e45 5268 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 5269 without -mcmodel=large
473d1e45 5270 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 5271 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 5272
e8df1d4e 52732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 Remove nested functions in efiemu core
5276
5277 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 5278
cc6c3ac1 52792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
5282
5283 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
5284 temporary storage
473d1e45 5285 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
5286 using Apple's CC
cc6c3ac1 5287 (grub_cpu_is_tsc_supported): likewise
5288 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 5289
3e325901 52902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Absolute addressing through constant with Apple's cc
5293
5294 * kern/i386/pc/startup.S: Define necessary constants
5295 and address through it when using ABS with Apple's CC
5296 * boot/i386/pc/diskboot.S: likewise
5297 * boot/i386/pc/boot.S: likewise
5298 * boot/i386/pc/lnxboot.S: likewise
5299 * boot/i386/pc/cdboot.S: likewise
5300 * mmap/i386/pc/mmap_helper.S: likewise
5301 * commands/i386/pc/drivemap_int13h.S: likewise
5302
2b167a72 53032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Check if compiler is apple cc
5306
5307 * Makefile.in (ASFLAGS): new variable
5308 (TARGET_ASFLAGS): likewise
5309 (TARGET_MODULE_FORMAT): likewise
5310 (TARGET_APPLE_CC): likewise
5311 (OBJCONV): likewise
5312 (TARGET_IMG_CFLAGS): likewise
5313 (TARGET_CPPFLAGS): add includedir
5314 * configure.ac: call grub_apple_cc and grub_apple_target_cc
5315 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
5316 Check for linker script only if compiler isn't Apple's CC
5317 (TARGET_MODULE_FORMAT): set
5318 (TARGET_APPLE_CC): likewise
5319 (TARGET_ASFLAGS): likewise
5320 (ASFLAGS): likewise
5321 Check for objcopy only if compiler isn't Apple's CC
5322 Check for BSS symbol only if compiler isn't Apple's CC
5323 * genmk.rb: adapt nm options if we use Apple's utils
5324 * aclocal.m4 (grub_apple_cc): new test
5325 (grub_apple_target_cc): likewise
473d1e45 5326
fb14123e 53272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 Simplify sed expressions and improve awk
5330
5331 * Makefile.in (install-local): simplify sed expression
5332 * gencmdlist.sh: likewise
5333 * genmoddep.awk: avoid adding module as a dependency of itself
5334
5b889789 53352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 Add missing start symbols
5338
5339 * boot/i386/pc/boot.S: add start
fb14123e 5340 * boot/i386/pc/pxeboot.S: likewise
473d1e45 5341
fd2bf2e3 53422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 5345
5346 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 5347 (relocate_addresses): consider both r_addend and value at offset
5348 (make_mods_section): zerofill modinfo and header
5349 (convert_elf): write prefix here
473d1e45 5350
5389763d 53512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 Use .asciz instead of .string
5354
5355 * i386/pc/diskboot.S: use .asciz instead of .string
5356 * i386/pc/boot.S: likewise
5357 * include/grub/dl.h (GRUB_MOD_DEP): likewise
5358 (GRUB_MOD_NAME): likewise
473d1e45 5359
3eb5ed4e 53602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 gfxpayload support
5363
5364 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
5365 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
5366 (grub_video_setup): remove
5367 (grub_video_set_mode): new prototype
5368 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
5369 (vid_mode): remove
5370 (linux_vesafb_res): compile only on PCBIOS
5371 (grub_linux_boot): support gfxpayload
5372 * loader/i386/pc/xnu.c (video_hook): new function
5373 (grub_xnu_set_video): support gfxpayload
5374 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
5375 (DEFAULT_VIDEO_HEIGHT): likewise
5376 (DEFAULT_VIDEO_FLAGS): likewise
5377 (DEFAULT_VIDEO_MODE): new definition
5378 (video_hook): new function
5379 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 5380 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 5381 loading xnu
5382 * video/video.c (grub_video_setup): removed
473d1e45 5383 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 5384 grub_video_setup
5385
4b0e1143 53862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 Avoid calling biosdisk in drivemap
5389
5390 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
5391 (revparse_biosdisk): likewise
5392 (list_mappings): derive name from id directly
5393 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 5394
fda6cb98 53952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 Script fixes
5398
5399 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
5400 (grub_lexer_param): add tokenonhold
5401 (grub_script_create_cmdline): remove cmdline. All callers updated
5402 (grub_script_function_create): make functionname
5403 grub_script_arg. All callers updated
5404 (grub_script_execute_argument_to_string): new prototype
5405 * kern/parser.c (state_transitions): reorder
5406 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 5407 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 5408 make global
5409 (grub_script_execute_cmdline): use new format
5410 * script/sh/function.c (grub_script_function_create): make functionname
5411 grub_script_arg. All callers updated
473d1e45 5412 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 5413 (grub_script_yylex): remove
5414 (grub_script_yylex2): renamed to ...
5415 (grub_script_yylex): ...renamed
5416 parse the expressions like a${b}c
5417 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
5418 (GRUB_PARSER_TOKEN_VAR): remove
5419 (GRUB_PARSER_TOKEN_NAME): likewise
5420 ("if"): declare as typeless
5421 ("while"): likewise
5422 ("function"): likewise
5423 ("else"): likewise
5424 ("then"): likewise
5425 ("fi"): likewise
5426 (text): remove
5427 (argument): likewise
5428 (script): accept empty scripts and make exit on error
5429 (arguments): use GRUB_PARSER_TOKEN_ARG
5430 (function): likewise
5431 (command): move error handling to script
5432 (menuentry): move grub_script_lexer_ref before
473d1e45 5433 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 5434 argument. All callers updated
5435
f4448a07 54362009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5437
5438 Prevent GRUB from probing floppies during boot.
5439
5440 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
5441 * commands/search.c (options): Add --no-floppy.
5442 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
5443 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
5444 --no-floppy when searching for UUIDs.
5445
2bf5885a 54462009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5447
5448 Simplify the code duplication in commands/search.c.
5449
5450 * commands/search.c (search_label, search_fs_uuid): Merge into ...
5451 (search_fs): ... this. Update all users.
5452
f6fd460a 54532009-06-03 Felix Zielcke <fzielcke@z-51.de>
5454
5455 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
5456
cbb3c83e 54572009-05-28 Pavel Roskin <proski@gnu.org>
5458
57788cfd 5459 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
5460 Remove the original symlink explicitly.
5461
cbb3c83e 5462 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
5463 just one slash. That's how grub_fshelp_find_file() does it.
5464
cd0d5e30 54652009-05-26 Pavel Roskin <proski@gnu.org>
5466
f0f8bbe2 5467 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
5468 to `str'.
5469
cd0d5e30 5470 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
5471 possibly unused.
5472
8c2cab51 54732009-05-25 Christian Franke <franke@computer.org>
5474
5475 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
5476 register.
5477 (grub_atapi_identify): Add wait after drive select.
5478 (grub_ata_identify): Do more strict status register check before
5479 calling grub_atapi_identify (). Suppress error message if status
5480 register is 0x00 after command failure. Add status register
5481 check after PIO read to avoid bogus identify due to stuck DRQ.
5482 Thanks to Pavel Roskin for testing.
5483 (grub_device_initialize): Remove unsafe status register check.
5484 Thanks to 'phcoder' for problem report and patch.
5485 Prevent sign extension in debug message.
5486
230c0ad6 54872009-05-23 Colin D Bennett <colin@gibibit.com>
5488
5489 Cleaned up `include/grub/normal.h'. Grouped prototypes by
5490 definition file, and functions defined in `normal/menu.c' have had
5491 their prototypes moved to `include/grub/menu.h' for consistency.
5492
5493 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
5494 from normal.h.
5495 (grub_menu_get_entry): Likewise.
5496 (grub_menu_get_timeout): Likewise.
5497 (grub_menu_set_timeout): Likewise.
5498 (grub_menu_execute_entry): Likewise.
5499 (grub_menu_execute_with_fallback): Likewise.
5500 (grub_menu_entry_run): Likewise.
5501
5502 * include/grub/normal.h: Re-ordered and grouped function
5503 prototypes by file that the function is defined in.
5504 (grub_menu_execute_callback): Removed; moved to menu.h.
5505 (grub_menu_get_entry): Likewise.
5506 (grub_menu_get_timeout): Likewise.
5507 (grub_menu_set_timeout): Likewise.
5508 (grub_menu_execute_entry): Likewise.
5509 (grub_menu_execute_with_fallback): Likewise.
5510 (grub_menu_entry_run): Likewise.
5511 (grub_menu_addentry): Renamed from this ...
5512 (grub_normal_add_menu_entry): ... to this.
5513
5514 * normal/main.c (grub_menu_addentry): Renamed from this ...
5515 (grub_normal_add_menu_entry): ... to this.
5516
5517 * script/sh/execute.c (grub_script_execute_menuentry): Update
5518 reference to renamed grub_menu_addentry function.
5519
861f03a5 55202009-05-23 Felix Zielcke <fzielcke@z-51.de>
5521
5522 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
5523
96b1619a 55242009-05-22 Pavel Roskin <proski@gnu.org>
5525
bf6a5fb2 5526 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
5527 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
5528 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
5529 compiling for the i386 targets, but not for the utilities.
5530
96b1619a 5531 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
5532 to grub_uint8_t.
5533 (grub_root_drive): Likewise.
5534 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
5535 remove alignment.
5536 (grub_root_drive): Change size to byte.
5537 (grub_start_addr): Remove.
5538 (grub_end_addr): Likewise.
5539 (grub_apm_bios_info): Likewise.
5540
b729776b 55412009-05-21 Felix Zielcke <fzielcke@z-51.de>
5542
5543 * normal/i386: Remove.
5544 * normal/powerpc: Likewise.
5545 * normal/sparc64: Likewise.
5546 * normal/x86_64: Likewise.
5547
0a15ce80 55482009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 5551 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 5552 * loader/i386/xnu_helper.S: Likewise
d6da58e6 5553
33db9015 55542009-05-18 Colin D Bennett <colin@gibibit.com>
5555
d6da58e6 5556 Display error messages when parsing a Lua statement fails.
5557 Previously, executing a syntactically invalid statement like
5558 ")foo" or "bar;" would silently fail.
33db9015 5559
5560 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 5561 (grub_lua_parse_line): Improved reporting of Lua parser and
5562 execution errors.
33db9015 5563
46422c89 55642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 Remove -Werror which causes build to fail on some systems
5567
5568 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
5569 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
5570 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 5571
22f53a96 55722009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 trampoline for linux on 64-bit platform
5575
18f547ad 5576 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
5577 loader/i386/efi/linux_trampoline.S
5578 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 5579 declaration
d6da58e6 5580 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
5581 here
22f53a96 5582 * loader/i386/linux_trampoline.S: moved here
d6da58e6 5583 * loader/i386/efi/linux.c (allocate_pages): reserve space for
5584 trampoline
22f53a96 5585 (jumpvector): removed
5586 (grub_linux_trampoline_start): new declaration
5587 (grub_linux_trampoline_end): likewise
5588 (grub_linux_boot): use trampoline when on 64-bit platform
5589 * loader/i386/linux.c: likewise
5590
cb5a0f40 55912009-05-16 Pavel Roskin <proski@gnu.org>
5592
5593 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
5594 const to avoid a warning.
5595 (grub_lua_setenv): Likewise.
5596 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
5597 lmsg to fix a warning.
5598
334f2c28 55992009-05-16 Felix Zielcke <fzielcke@z-51.de>
5600
5601 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 5602 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5603 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
5604 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5605 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5606 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5607 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5608 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 5609
59e5d3ec 56102009-05-16 Felix Zielcke <fzielcke@z-51.de>
5611
5612 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
5613
9d87a1ba 56142009-05-16 Bean <bean123ch@gmail.com>
5615
5616 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
5617 (lua_mod_SOURCES): New variable.
5618 (lua_mod_CFLAGS): Likewise.
5619 (lua_mod_LDFLAGS): Likewise.
5620
5621 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
5622 (setjmp_mod_SOURCES): New variable.
5623 (setjmp_mod_CFLAGS): Likewise.
5624 (setjmp_LDFLAGS): Likewise.
5625
5626 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
5627 (setjmp_mod_SOURCES): New variable.
5628 (setjmp_mod_CFLAGS): Likewise.
5629 (setjmp_LDFLAGS): Likewise.
5630
5631 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
5632 (setjmp_mod_SOURCES): New variable.
5633 (setjmp_mod_CFLAGS): Likewise.
5634 (setjmp_LDFLAGS): Likewise.
5635
5636 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
5637 (setjmp_mod_SOURCES): New variable.
5638 (setjmp_mod_CFLAGS): Likewise.
5639 (setjmp_LDFLAGS): Likewise.
5640
5641 * normal/i386/setjmp.S: Moved from here ...
5642 * lib/i386/setjmp.S: ... Moved here
5643 * normal/x86_64/setjmp.S: Moved from here ...
5644 * lib/x86_64/setjmp.S: ... Moved here
5645 * normal/powerpc/setjmp.S: Moved from here ...
5646 * lib/powerpc/setjmp.S: ... Moved here
5647 * normal/sparc64/setjmp.S: Moved from here ...
5648 * lib/sparc64/setjmp.S: ... Moved here
5649
5650 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
5651 returns_twice in mingw.
5652
5653 * script/lua/grub_lib.c: New file.
5654 * script/lua/grub_lib.h: Likewise.
5655 * script/lua/grub_lua.h: Likewise.
5656 * script/lua/grub_main.c: Likewise.
5657 * script/lua/lapi.c: Likewise.
5658 * script/lua/lapi.h: Likewise.
5659 * script/lua/lauxlib.c: Likewise.
5660 * script/lua/lauxlib.h: Likewise.
5661 * script/lua/lbaselib.c: Likewise.
5662 * script/lua/lcode.c: Likewise.
5663 * script/lua/lcode.h: Likewise.
5664 * script/lua/ldblib.c: Likewise.
5665 * script/lua/ldebug.c: Likewise.
5666 * script/lua/ldebug.h: Likewise.
5667 * script/lua/ldo.c: Likewise.
5668 * script/lua/ldo.h: Likewise.
5669 * script/lua/ldump.c: Likewise.
5670 * script/lua/lfunc.c: Likewise.
5671 * script/lua/lfunc.h: Likewise.
5672 * script/lua/lgc.c: Likewise.
5673 * script/lua/lgc.h: Likewise.
5674 * script/lua/linit.c: Likewise.
5675 * script/lua/liolib.c: Likewise.
5676 * script/lua/llex.c: Likewise.
5677 * script/lua/llex.h: Likewise.
5678 * script/lua/llimits.h: Likewise.
5679 * script/lua/lmathlib.c: Likewise.
5680 * script/lua/lmem.c: Likewise.
5681 * script/lua/lmem.h: Likewise.
5682 * script/lua/loadlib.c: Likewise.
5683 * script/lua/lobject.c: Likewise.
5684 * script/lua/lobject.h: Likewise.
5685 * script/lua/lopcodes.c: Likewise.
5686 * script/lua/lopcodes.h: Likewise.
5687 * script/lua/loslib.c: Likewise.
5688 * script/lua/lparser.c: Likewise.
5689 * script/lua/lparser.h: Likewise.
5690 * script/lua/lstate.c: Likewise.
5691 * script/lua/lstate.h: Likewise.
5692 * script/lua/lstring.c: Likewise.
5693 * script/lua/lstring.h: Likewise.
5694 * script/lua/lstrlib.c: Likewise.
5695 * script/lua/ltable.c: Likewise.
5696 * script/lua/ltable.h: Likewise.
5697 * script/lua/ltablib.c: Likewise.
5698 * script/lua/ltm.c: Likewise.
5699 * script/lua/ltm.h: Likewise.
5700 * script/lua/lua.h: Likewise.
5701 * script/lua/luaconf.h: Likewise.
5702 * script/lua/lualib.h: Likewise.
5703 * script/lua/lundump.c: Likewise.
5704 * script/lua/lundump.h: Likewise.
5705 * script/lua/lvm.c: Likewise.
5706 * script/lua/lvm.h: Likewise.
5707 * script/lua/lzio.c: Likewise.
5708 * script/lua/lzio.h: Likewise.
5709
5e898c9d 57102009-05-16 Bean <bean123ch@gmail.com>
5711
5712 * include/grub/kernel.h (grub_module_header_types): Add type
5713 OBJ_TYPE_CONFIG.
5714
5715 * kern/main.c (grub_load_config): New function.
5716 (grub_main): Call grub_load_config to read boot config.
5717
5718 * grub-mkimage (generate_image): New parameter config_path.
5719 (options): New option --config.
5720 (main): Parse --config option, and pass it to generate_image.
5721
cf353a47 57222009-05-14 Christian Franke <franke@computer.org>
5723
5724 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
5725 This fixes build on Cygwin.
5726
3834887f 57272009-05-14 Pavel Roskin <proski@gnu.org>
5728
5729 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
5730 jump. This saves two bytes, so the typical case of 2 swapped
5731 drives would fit 32 bytes.
5732
8090fc01 57332009-05-13 Pavel Roskin <proski@gnu.org>
5734
ac963883 5735 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
5736 grub_uint32_t to avoid a warning.
5737
8090fc01 5738 * loader/i386/linux.c (allocate_pages): When assigning
5739 real_mode_mem, cast through grub_size_t to fix a warning. The
5740 code already makes sure that the value would fit a pointer.
5741 (grub_linux_setup_video): Cast render_target->data to
5742 grub_size_t to fix a warning.
5743
18f547ad 57442009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 5745
5746 * commands/i386/pc/drivemap.c: New file - implement drivemap
5747 command.
5748 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
5749 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
5750
6f6a8b28 57512009-05-13 Pavel Roskin <proski@gnu.org>
5752
5753 * util/i386/pc/grub-setup.c (setup): Remove unused variable
5754 embedding_area_exists.
5755
15fbf4c4 57562009-05-13 Robert Millan <rmh.grub@aybabtu.com>
5757
5758 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
5759 it easier to understand / work with.
59978c8a 5760 Improve warning messages for cases where there's no embedding area,
5761 or when it is too small (or core.img too large).
15fbf4c4 5762
238e871f 57632009-05-13 Pavel Roskin <proski@gnu.org>
5764
0ab3a9a4 5765 * loader/i386/pc/multiboot2.c: Add necessary includes for
5766 grub_multiboot2_real_boot().
5767
a2c8c5f8 5768 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
5769 PX record is always little-endian. We only need the lower 2
5770 bytes of the mode.
5771
faec96af 5772 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
5773 facilitate code reuse.
5774 (grub_cpio_mount): Use "struct head", not a char buffer. This
5775 fixes a warning reported by gcc 4.4.
5776
238e871f 5777 * kernel/disk.c (grub_disk_read): Use void pointer for the
5778 buffer.
5779 (grub_disk_write): Use const void pointer for the buffer.
5780 Adjust all callers. Remove unnecessary casts.
5781
901d2f0c 57822009-05-10 Robert Millan <rmh.grub@aybabtu.com>
5783
5784 * util/i386/pc/grub-install.in: Update copyright year.
5785
18f547ad 57862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 5787
5788 gptsync
5789
5790 * commands/gptsync.c: new file
5791 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
5792 (gptsync_mod_SOURCES): new variable
5793 (gptsync_mod_CFLAGS): likewise
5794 (gptsync_mod_LDFLAGS): likewise
18f547ad 5795 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 5796 new definition
5797 (GRUB_PC_PARTITION_TYPE_HFS): likewise
5798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
5799 * conf/i386-ieee1275.rmk: likewise
5800 * conf/i386-pc.rmk: likewise
5801 * conf/powerpc-ieee1275.rmk: likewise
5802
b4ba690a 58032009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Fixed grub-emu
5806
5807 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
5808 (grub_dl_ref): likewise
5809
317e1a44 58102009-05-08 Robert Millan <rmh.grub@aybabtu.com>
5811
5812 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
5813 split in two functions (one for msdos and one for gpt).
5814
041b8094 58152009-05-08 Pavel Roskin <proski@gnu.org>
5816
752473c2 5817 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
5818 not modified.
5819
041b8094 5820 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
5821 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
5822 Initialize them with -1. Add sanity check for bad1. Eliminate
5823 nerr variable.
5824
172800ce 58252009-05-08 David S. Miller <davem@davemloft.net>
5826
5827 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
5828
29aa5e81 58292009-05-06 Robert Millan <rmh.grub@aybabtu.com>
5830
5831 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 5832 existence.
29aa5e81 5833
96613b62 58342009-05-05 Felix Zielcke <fzielcke@z-51.de>
5835
5836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 5837 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 5838
eef73c8a 58392009-05-05 David S. Miller <davem@davemloft.net>
5840
5841 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
5842
119494b5 58432009-05-05 Pavel Roskin <proski@gnu.org>
5844
5845 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
5846 of grub_dl_ref() and grub_dl_unref().
5847 * commands/parttool.c: Remove preprocessor conditionals around
5848 grub_dl_ref() and grub_dl_unref().
5849 * fs/affs.c: Likewise.
5850 * fs/afs.c: Likewise.
5851 * fs/cpio.c: Likewise.
5852 * fs/ext2.c: Likewise.
5853 * fs/fat.c: Likewise.
5854 * fs/hfs.c: Likewise.
5855 * fs/hfsplus.c: Likewise.
5856 * fs/iso9660.c: Likewise.
5857 * fs/jfs.c: Likewise.
5858 * fs/minix.c: Likewise.
5859 * fs/ntfs.c: Likewise.
5860 * fs/reiserfs.c: Likewise.
5861 * fs/sfs.c: Likewise.
5862 * fs/udf.c: Likewise.
5863 * fs/ufs.c: Likewise.
5864 * fs/xfs.c: Likewise.
5865 * include/grub/dl.h: Likewise.
5866 * loader/xnu.c: Likewise.
5867
de5fd76e 58682009-05-04 Pavel Roskin <proski@gnu.org>
5869
5870 * commands/acpi.c: Remove unused variable my_mod.
5871 * partmap/amiga.c: Likewise.
5872 * partmap/apple.c: Likewise.
5873 * partmap/gpt.c: Likewise.
5874 * partmap/pc.c: Likewise.
5875 * partmap/sun.c: Likewise.
5876 * term/gfxterm.c: Likewise.
5877 * term/i386/pc/vesafb.c: Likewise.
5878 * term/i386/pc/vga.c: Likewise.
5879
983598ad 58802009-05-04 David S. Miller <davem@davemloft.net>
5881
5882 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
5883 pointer args to grub_ieee1275_get_property().
5884
8aadec43 5885 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
5886
9554b15e 5887 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
5888 devices, and do not traverse down under controller nodes.
5889
67e23c90 5890 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
5891 (grub_ofdisk_open): Use it to un-escape "," characters.
5892 * kern/disk.c (find_part_sep): New.
5893 (grub_disk_open): Use it to find the first non-escaped ','
5894 character in the disk name.
5895 * util/ieee1275/devicemap.c (escape_of_path): New.
5896 (grub_util_emit_devicemap_entry): Use it.
5897 * util/sparc64/ieee1275/grub-install.in: Update script to
5898 strip partition specifiers properly by not triggering on
5899 '\' escaped ',' characters.
5900
74bfdd2f 59012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5902
5903 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
5904 to 0x300.
5905 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
5906 resolutions.
5907 (linux_vesafb_modes): Add a lot of additional modes to the list (based
5908 on documentation from Wikipedia).
5909
4241d2b1 59102009-05-04 Pavel Roskin <proski@gnu.org>
5911
5912 * disk/ata.c: Spelling fixes.
5913 * disk/raid.c: Likewise.
5914 * disk/usbms.c: Likewise.
5915 * disk/dmraid_nvidia.c: Likewise.
5916 * kern/ieee1275/openfw.c: Likewise.
5917 * kern/ieee1275/init.c: Likewise.
5918 * kern/ieee1275/cmain.c: Likewise.
5919 * boot/i386/pc/cdboot.S: Likewise.
5920 * video/readers/png.c: Likewise.
5921 * video/i386/pc/vbe.c: Likewise.
5922 * fs/udf.c: Likewise.
5923 * fs/hfs.c: Likewise.
5924 * fs/reiserfs.c: Likewise.
5925 * efiemu/runtime/efiemu.c: Likewise.
5926 * efiemu/main.c: Likewise.
5927 * efiemu/mm.c: Likewise.
5928 * include/grub/elf.h: Likewise.
5929 * include/grub/xnu.h: Likewise.
5930 * include/grub/usbdesc.h: Likewise.
5931 * include/grub/usb.h: Likewise.
5932 * include/grub/script_sh.h: Likewise.
5933 * include/grub/lib/LzmaEnc.h: Likewise.
5934 * include/grub/efiemu/efiemu.h: Likewise.
5935 * include/grub/command.h: Likewise.
5936 * normal/menu.c: Likewise.
5937 * normal/main.c: Likewise.
5938 * normal/datetime.c: Likewise.
5939 * bus/usb/uhci.c: Likewise.
5940 * mmap/i386/uppermem.c: Likewise.
5941 * mmap/mmap.c: Likewise.
5942 * commands/acpi.c: Likewise.
5943 * commands/test.c: Likewise.
5944 * partmap/apple.c: Likewise.
5945 * font/font.c: Likewise.
5946 * loader/sparc64/ieee1275/linux.c: Likewise.
5947 * loader/macho.c: Likewise.
5948 * loader/i386/bsd_trampoline.S: Likewise.
5949 * loader/i386/bsd.c: Likewise.
5950 * loader/xnu.c: Likewise.
5951 * term/i386/pc/vesafb.c: Likewise.
5952 * term/usb_keyboard.c: Likewise.
5953 * util/resolve.c: Likewise.
5954 * util/getroot.c: Likewise.
5955
0cfc0083 59562009-05-04 Felix Zielcke <fzielcke@z-51.de>
5957
5958 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
5959
7c1d00cd 59602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5961
5962 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
5963 build error.
5964
b01f0548 59652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5966
5967 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
5968 parameter only available on BIOS.
5969
ecc3eb22 59702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 Removed wrong semicolon in declaration
5973
5974 * grub/misc.h (grub_dprintf): remove semicolon
5975
112972a9 59762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5977
5978 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
5979 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
5980 is done by grub_cmd_linux() now).
5981 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
5982 restore video to text mode.
5983 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
5984 indicates lack of "vga=" parameter. "vga=0" is mapped to
5985 `GRUB_LINUX_VID_MODE_NORMAL'.
5986
afd5c115 59872009-05-04 Felix Zielcke <fzielcke@z-51.de>
5988
5989 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
5990 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
5991 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 5992 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 5993 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
5994 `grub_script.tab.c'.
5995
5996 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5997 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6000 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6001
faa517ce 6002 * Makefile.in: Remove duplicated 2008 in Copyright line.
6003
ae0c0bdc 60042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6005
473d1e45 6006 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6007 unconditionally.
6008 * include/grub/util/misc.h (grub_util_warn): New declaration.
6009
6010 * util/i386/pc/grub-install.in: Understand --force and pass it down
6011 to grub-setup.
6012
6013 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6014 down to setup().
6015 (setup): Improve error messages and add warnings when requested to
6016 install in odd layouts. Refuse to install using blocklists unless
6017 --force was set.
6018
18f547ad 60192009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6020
6021 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6022
6d260daa 60232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 Updated copyright year
6026
6027 * fs/hfsplus.c: updated copyright year
18f547ad 6028
69f853f8 60292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 HFS+ UUID
6032
18f547ad 6033 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6034 in the space previously used by unused3
6035 (grub_hfsplus_uuid): new function
6036 (grub_hfsplus_fs): added uuid field
6037
4c402e73 60382009-05-03 Pavel Roskin <proski@gnu.org>
6039
6040 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6041 suppress warnings. It's no longer needed.
6042 * disk/host.c: Likewise.
6043 * disk/ata_pthru.c: Likewise.
6044 * disk/loopback.c: Likewise.
6045 * hook/datehook.c: Likewise.
6046 * parttool/pcpart.c: Likewise.
6047 * fs/i386/pc/pxe.c: Likewise.
6048 * fs/ntfscomp.c: Likewise.
6049 * efiemu/main.c: Likewise.
6050 * mmap/mmap.c: Likewise.
6051 * commands/crc.c: Likewise.
6052 * commands/hexdump.c: Likewise.
6053 * commands/hdparm.c: Likewise.
6054 * commands/acpi.c: Likewise.
6055 * commands/echo.c: Likewise.
6056 * commands/minicmd.c: Likewise.
6057 * commands/blocklist.c: Likewise.
6058 * commands/memrw.c: Likewise.
6059 * commands/loadenv.c: Likewise.
6060 * commands/usbtest.c: Likewise.
6061 * commands/lsmmap.c: Likewise.
6062 * commands/boot.c: Likewise.
6063 * commands/parttool.c: Likewise.
6064 * commands/configfile.c: Likewise.
6065 * commands/search.c: Likewise.
6066 * commands/ieee1275/suspend.c: Likewise.
6067 * commands/cat.c: Likewise.
6068 * commands/i386/pc/pxecmd.c: Likewise.
6069 * commands/i386/pc/play.c: Likewise.
6070 * commands/i386/pc/halt.c: Likewise.
6071 * commands/i386/pc/vbeinfo.c: Likewise.
6072 * commands/i386/pc/vbetest.c: Likewise.
6073 * commands/lspci.c: Likewise.
6074 * commands/date.c: Likewise.
6075 * commands/handler.c: Likewise.
6076 * commands/ls.c: Likewise.
6077 * commands/test.c: Likewise.
6078 * commands/cmp.c: Likewise.
6079 * commands/efi/loadbios.c: Likewise.
6080 * commands/efi/fixvideo.c: Likewise.
6081 * commands/halt.c: Likewise.
6082 * commands/help.c: Likewise.
6083 * commands/reboot.c: Likewise.
6084 * hello/hello.c: Likewise.
6085 * script/sh/main.c: Likewise.
6086 * loader/xnu.c: Likewise.
6087 * term/terminfo.c: Likewise.
6088 * term/i386/pc/serial.c: Likewise.
6089 * term/usb_keyboard.c: Likewise.
6090
515b5079 60912009-05-03 David S. Miller <davem@davemloft.net>
6092
6093 * normal/menu.c: Include grub/parser.h
6094
dfc31a22 60952009-05-03 Pavel Roskin <proski@gnu.org>
6096
2fee74f1 6097 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
6098 not char*.
6099 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
6100 Suggested by Javier Martín <lordhabbit@gmail.com>
6101
dfc31a22 6102 * util/i386/pc/grub-mkrescue.in: Allow for the case when
6103 efiemu??.o doesn't exist.
6104 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
6105 copying.
6106
18f547ad 61072009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 6108
6109 FreeBSD 64-bit support
6110
18f547ad 6111 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 6112 and loader/i386/bsd_trampoline.S
6113 (bsd_mod_ASFLAGS): new variable
6114 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
6115 (FREEBSD_MODTYPE_KERNEL64): likewise
6116 (grub_bsd64_trampoline_start): likewise
6117 (grub_bsd64_trampoline_end): likewise
6118 (grub_bsd64_trampoline_selfjump): likewise
6119 (grub_bsd64_trampoline_gdt): likewise
6120 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
6121 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
6122 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
6123 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 6124 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 6125 of "attrib" member
6126 * loader/i386/bsd_pagetable.c: new file
6127 * loader/i386/bsd_trampoline.S: likewise
6128 * loader/i386/bsd.c (ALIGN_QWORD): new macro
6129 (ALIGN_VAR): likewise
6130 (entry_hi): new variable
6131 (kern_end_mdofs): likewise
6132 (is_64bit): likewise
6133 (grub_freebsd_add_meta): use ALIGN_VAR
6134 (grub_e820_mmap): new declaration
6135 (grub_freebsd_add_mmap): new function
6136 (grub_freebsd_add_meta_module): support 64 bit kernels
6137 (grub_freebsd_list_modules): use ALIGN_VAR
6138 (gdt_descriptor): new declaration
6139 (grub_freebsd_boot): support 64 bit kernels
6140 (grub_bsd_elf64_hook): new function
6141 (grub_bsd_load_elf): support elf64
6142
038c5720 61432009-05-03 Bean <bean123ch@gmail.com>
6144
6145 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
6146 after we get the result of if statement.
6147
fc45fb58 61482009-05-03 Bean <bean123ch@gmail.com>
6149
6150 * Makefile.in (enable_efiemu): New variable.
6151
6152 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
6153 set.
6154 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
6155 path.
6156 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
6157 path, add -mno-red-zone option.
6158 (efiemu64_s.o): Likewise.
6159 (efiemu64.o): Use macro $^ for source file.
6160
6161 * configure.ac (--enable-efiemu): New option.
6162
bbee0f2b 61632009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 xnu support
6166
6167 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
6168 (pkglib_MODULES): add xnu.mod
6169 (xnu_mod_SOURCES): new variable
6170 (xnu_mod_CFLAGS): likewise
6171 (xnu_mod_LDFLAGS): likewise
6172 (xnu_mod_ASFLAGS): likewise
6173 * conf/i386-pc.rmk: likewise
6174 * conf/x86_64-efi.rmk: likewise
7dd4a573 6175 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 6176 new declaration
6177 * include/grub/i386/macho.h: new file
6178 * include/grub/i386/xnu.h: likewise
6179 * include/grub/macho.h: likewise
6180 * include/grub/machoload.h: likewise
6181 * include/grub/x86_64/macho.h: likewise
6182 * include/grub/x86_64/xnu.h: likewise
6183 * include/grub/xnu.h: likewise
6184 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
6185 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
6186 * loader/i386/efi/xnu.c: new file
6187 * loader/i386/pc/xnu.c: likewise
6188 * loader/i386/xnu.c: likewise
6189 * loader/i386/xnu_helper.S: likewise
6190 * loader/macho.c: likewise
6191 * loader/xnu.c: likewise
6192 * loader/xnu_resume.c: likewise
6193 * util/grub-dumpdevtree: likewise
6194 * include/grub/i386/pit.h: include grub/err.h
6195 (grub_pit_wait): export
6196 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 6197
5caf964d 61982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Efiemu
7dd4a573 6201
5caf964d 6202 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 6203 _linux_efi, linux_efi.
6204 new files in grub-emu
5caf964d 6205 new targets efiemu32.o and efiemu64.o
6206 * loader/linux_normal_efiemu.c: likewise
6207 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 6208 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 6209 files to copy
6210 * include/grub/autoefi.h: new file
7dd4a573 6211 * include/grub/i386/efiemu.h: likewise
5caf964d 6212 * include/grub/i386/pc/efiemu.h: likewise
6213 * include/grub/efi/api.h: add LL suffix when necessary
6214 new definitions relating to tables
6215 * include/grub/efiemu/efiemu.h: new file
6216 * include/grub/efiemu/runtime.h: likewise
6217 * efiemu/prepare.c: likewise
6218 * efiemu/loadcore_common.c: likewise
6219 * efiemu/loadcore64.c: likewise
6220 * efiemu/runtime/efiemu.sh: likewise
6221 * efiemu/runtime/efiemu.S: likewise
6222 * efiemu/runtime/efiemu.c: likewise
6223 * efiemu/runtime/config.h: likewise
6224 * efiemu/prepare32.c: likewise
6225 * efiemu/main.c: likewise
6226 * efiemu/modules/pnvram.c: likewise
6227 * efiemu/modules/i386: likewise
6228 * efiemu/modules/i386/pc: likewise
6229 * efiemu/modules/acpi.c: likewise
6230 * efiemu/i386/pc/cfgtables.c: likewise
6231 * efiemu/i386/loadcore64.c: likewise
6232 * efiemu/i386/loadcore32.c: likewise
6233 * efiemu/prepare64.c: likewise
6234 * efiemu/loadcore.c: likewise
6235 * efiemu/symbols.c: likewise
6236 * efiemu/mm.c: likewise
6237 * efiemu/loadcore32.c: likewise
7dd4a573 6238
62392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 6240
6241 ACPI spoofing
6242
6243 * commands/acpi.c: new file
6244 * commands/i386/pc/acpi.c: likewise
6245 * commands/efi/acpi.c: likewise
6246 * include/grub/acpi.h: likewise
6247 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
6248 (acpi_mod_SOURCES): new variable
6249 (acpi_mod_CFLAGS): likewise
6250 (acpi_mod_LDFLAGS): likewise
6251 * conf/i386-efi.rmk: likewise
6252 * conf/x86_64-efi.rmk: likewise
6253
7dd4a573 62542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 6255
6256 Missing part from mmap patch
6257
6258 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
6259 (grub_mmap_unregister)
6260 (grub_mmap_free_and_unregister): use grub_mmap_register
6261
7dd4a573 62622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 6263
6264 Mmap services
6265
6266 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
6267 * loader/i386/linux.c (find_mmap_size): likewise
6268 (allocate_pages): likewise
6269 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
6270 (grub_fill_multiboot_mmap): likewise
6271 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
6272 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
6273 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
6274 (OPENBSD_MMAP_RESERVED): likewise
6275 * include/grub/i386/pc/memory.h: include grub/memory.h
6276 (grub_lower_mem): removed
6277 (grub_upper_mem): likewise
6278 (GRUB_MACHINE_MEMORY_ACPI): new definition
6279 (GRUB_MACHINE_MEMORY_NVS): likewise
6280 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
6281 (GRUB_MACHINE_MEMORY_HOLE): likewise
6282 (grub_machine_mmap_register): likewise
6283 (grub_machine_mmap_unregister): likewise
6284 (grub_machine_get_upper): likewise
6285 (grub_machine_get_lower): likewise
6286 (grub_machine_get_post64): likewise
6287 * include/grub/i386/efi/memory.h: new file
6288 * include/grub/x86_64/efi/memory.h: likewise
6289 * include/grub/efi/memory.h: likewise
6290 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
6291 (mmap_mod_SOURCES): new variable
6292 (mmap_mod_LDFLAGS): likewise
6293 (mmap_mod_ASFLAGS): likewise
6294 * conf/i386-coreboot.rmk: likewise
6295 * conf/i386-ieee1275.rmk: likewise
6296 * conf/i386-efi.rmk: likewise
6297 * conf/x86_64-efi.rmk: likewise
6298 * include/grub/types.h (UINT_TO_PTR): new macro
6299 (PTR_TO_UINT32): likewise
6300 (PTR_TO_UINT64): likewise
6301 * include/grub/memory.h: new file
6302 * mmap/i386/pc/mmap.c: likewise
6303 * mmap/i386/pc/mmap_helper.S: likewise
6304 * mmap/i386/uppermem.c: likewise
6305 * mmap/mmap.c: likewise
6306 * mmap/efi/mmap.c: likewise
7dd4a573 6307 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 6308 grub_upper_mem
6309 * kern/i386/pc/init.c (grub_lower_mem): removed variable
6310 (grub_upper_mem): likewise
6311 (grub_machine_init): don't use grub_upper_mem,
6312 make grub_lower_mem local
6313 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
6314 grub_mmap_iterate and grub_mmap_get_upper
6315 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
6316
d558e6b5 63172009-05-02 Bean <bean123ch@gmail.com>
6318
6319 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
6320 script/sh/parser.y.
6321 (pkglib_MODULES): Add normal.mod and sh.mod.
6322 (normal_SOURCES): New variable.
6323 (normal_mod_CFLAGS): Likewise.
6324 (normal_mod_LDFLAGS): Likewise.
6325 (sh_mod_SOURCES): Likewise.
6326 (sh_mod_CFLAGS): Likewise.
6327 (sh_mod_LDFLAGS): Likewise.
6328
6329 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
6330 script/sh/lexer.c_DEPENDENCIES.
6331 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
6332 kern/rescue_reader.c and kern/rescue_parser.c.
6333 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
6334 (grub_emu_SOURCES): Change source files.
6335 (pkglib_MODULES): Remove normal.mod.
6336 (normal_SOURCES): Removed.
6337 (normal_mod_CFLAGS): Likewise.
6338 (normal_mod_LDFLAGS): Likewise.
6339 * conf/i386-coreboot.rmk: Likewise.
6340 * conf/i386-efi.rmk: Likewise.
6341 * conf/i386-ieee1276.rmk: Likewise.
6342 * conf/powerpc-ieee1275.rmk: Likewise.
6343 * conf/sparc64-ieee1275.rmk: Likewise.
6344 * conf/x86_64-efi.rmk: Likewise.
6345
6346 * include/grub/command.h (grub_command_execute): New inline function.
6347
6348 * include/grub/menu.h (grub_menu_entry): Removed commands field.
6349
6350 * include/grub/normal.h: Remove <grub/setjmp.h>.
6351 (grub_fs_module_list): Moved to normal/autofs.c.
6352 (grub_exit_env): Removed.
6353 (grub_command_execute): Likewise.
6354 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
6355 parameter script.
6356 (read_command_list): New function declaration.
6357 (read_fs_list): Likewise.
6358
6359 * include/parser.h: Include <grub/reader.h>.
6360 (grub_parser_split_cmdline): Change type of getline parameter.
6361 (grub_parser): New structure.
6362 (grub_parser_class): New variable.
6363 (grub_parser_execute): New function declaration.
6364 (grub_register_rescue_parser): Likewise.
6365 (grub_parser_register): New inline function.
6366 (grub_parser_unregister): Likewise.
6367 (grub_parser_get_current): Likewise.
6368 (grub_parser_set_current): Likewise.
6369
6370 * include/grub/reader.h: New file.
6371 * kern/reader.c: Likewise.
6372 * kern/rescue_parser.c: Likewise.
6373 * kern/rescue_reader.c: Likewise.
6374 * normal/autofs.c: Likewise.
6375 * normal/dyncmd.c: Likewise.
6376
6377 * include/grub/rescue.h: Removed.
6378 * normal/command.h: Likewise.
6379
6380 * include/grub/script.h: Moved to ...
6381 * include/grub/script_sh.h: ... Moved here.
6382 * normal/execute.c: Moved to ...
6383 * script/sh/execute.c: ... Moved here.
6384 * normal/function.c: Moved to ...
6385 * script/sh/function.c: ... Moved here.
6386 * normal/lexer.c: Moved to ...
6387 * script/sh/lexer.c: ... Moved here.
6388 * normal/parser.y: Moved to ...
6389 * script/sh/parser.y: ... Moved here.
6390 * normal/script.c: Moved to ...
6391 * script/sh/script.c: ... Moved here.
6392
6393 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
6394 <grub/reader.h>.
6395 (grub_exit_env): Removed.
6396 (fs_module_list): Moved to normal/autofs.c.
6397 (grub_file_getline): Don't handle comment here.
6398 (free_menu): Skip removed field entry->commands.
6399 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
6400 script parameter.
6401 (read_config_file): Removed nested parameter, change getline function.
6402 (grub_enter_normal_mode): Removed.
6403 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
6404 (read_command_list): Likewise.
6405 (autoload_fs_module): Moved to normal/autofs.c.
6406 (read_fs_list): Likewise.
6407 (reader_nested): New variable.
6408 (grub_normal_execute): Run parser.sh to switch to sh parser.
6409 (grub_cmd_rescue): Removed.
6410 (cmd_normal): Removed.
6411 (grub_cmd_normal): Unregister itself at the beginning. Don't register
6412 rescue command.
6413 (grub_cmdline_run): New function.
6414 (grub_normal_reader_init): Likewise.
6415 (grub_normal_read_line): Likewise.
6416 (grub_env_write_pager): Likewise.
6417 (cmdline): New variable.
6418 (grub_normal_reader): Likewise.
6419 (GRUB_MOD_INIT): Register normal reader and set as current, register
6420 pager hook, register normal command with grub_register_command_prio,
6421 so that it won't show up in command.lst.
6422 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
6423 grub_fs_autoload_hook.
6424
6425 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
6426 (grub_menu_execute_entry): Replace grub_script_execute with
6427 grub_parser_execute, change parameter to grub_command_execute.
6428
6429 * normal/menu_text.c: Remove <grub/script.h>.
6430
6431 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
6432 and <grub/parser.h>.
6433 (run): Change editor_getline to use new parser interface. Change
6434 parameter to grub_command_execute.
6435
6436 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
6437 <grub/reader.h> and <grub/parser.h>.
6438 (grub_load_normal_mode): Execute normal command.
6439 (grub_main): Call grub_register_core_commands,
6440 grub_register_rescue_parser and grub_register_rescue_reader, use
6441 grub_reader_loop to enter input loop.
6442
7dd4a573 6443 * kern/parser.c (grub_parser_split_cmdline): Change type of
6444 getline parameter.
d558e6b5 6445 (grub_parser_class): New variable.
6446 (grub_parser_execute): New function.
6447
6448 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
6449 * loader/multiboot2.c: Likewise.
6450 * loader/sparc64/ieee1275/linux.c: Likewise.
6451
6452 * util/grub-emu.c (read_command_list): New dummy function.
6453
18db813d 64542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6455
6456 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
6457 count to 16 for CCISS and IDA.
6458
6c67de15 64592009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6460
6461 * normal/menu_text.c (grub_wait_after_message): Print a newline
6462 after waiting for user input.
6463
6464 * loader/i386/linux.c: Include `<grub/normal.h>'.
6465 (grub_cmd_linux): Improve the error message about `ask' mode, by
6466 waiting for user input so it's not missed (we can do this, since
6467 user requested interaction).
6468
d9dc87b0 64692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Added missing lst to grub-mkrescue
6472
6473 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
6474 and ${input_dir}/parttool.lst
6475
ac8a2baa 64762009-04-30 David S. Miller <davem@davemloft.net>
6477
ad22a610 6478 * util/hostdisk.c (device_is_wholedisk): New function.
6479 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
6480 zero only if device_is_wholedisk() returns true.
6481
6966215d 6482 * util/hostdisk.c (convert_system_partition_to_system_disk):
6483 Handle virtual disk devices named /dev/vdiskX as found on sparc
6484 and powerpc.
6485
ac8a2baa 6486 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
6487 lettered partition specifier is found, convert to numbered.
6488
979b4fb4 64892009-04-29 David S. Miller <davem@davemloft.net>
6490
e2bf39b2 6491 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
6492 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6493
3c64e104 6494 * normal/command.c: Add missing newline at end of file.
6495
979b4fb4 6496 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
6497 warnings.
6498 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
6499 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
6500 grub_ofdisk_read): Likewise, and deal similarly with the fact that
6501 ihandles have a 32-bit type but need to be stored in a "void *".
6502
136d9f82 65032009-04-28 Pavel Roskin <proski@gnu.org>
6504
9459c306 6505 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
6506 not disk. Adjust all dependencies.
2e08a26a 6507 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 6508 grub_disk_close().
6509
136d9f82 6510 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
6511 parent's partition, don't copy it by reference, as it gets freed
6512 on close.
6513
7dd4a573 65142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 6515
6516 Preboot hooks support
6517
6518 * commands/boot.c (struct grub_preboot_t): new declaration
6519 (preboots_head): new variable
6520 (preboots_tail): likewise
6521 (grub_loader_register_preboot_hook): new function
6522 (grub_loader_unregister_preboot_hook): likewise
6523 (grub_loader_set): launch preboot hooks
6524 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
6525 (grub_loader_register_preboot_hook): new declaration
6526 (grub_loader_unregister_preboot_hook): likewise
6527
5af922b5 65282009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Warning fix
6531
7dd4a573 6532 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 6533 calling grub_dprintf
6534
a5562c30 65352009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Bug and warning fixes
6538
7dd4a573 6539 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 6540 declaration
6541 * commands/test.c (test_parse): fixed bug with file tests and corrected
6542 declaration of find_file
6543
4006f85c 65442009-04-26 Pavel Roskin <proski@gnu.org>
6545
6546 * Makefile.in: Don't install empty manual pages if help2man is
6547 missing. Use help2man option for output, not shell redirection.
6548
5c77c3de 65492009-04-26 David S. Miller <davem@davemloft.net>
6550
6551 * util/grub-mkdevicemap.c (make_device_map): Add missing
6552 NESTED_FUNC_ATTR to process_device().
6553
033b10a8 65542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Test command
6557
6558 * commands/test.c: rewritten to use bash-like test
6559
e4343593 65602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 Parttool autoloading and improvements
6563
7dd4a573 6564 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 6565 (parttool.lst): new target
6566 * genmk.rb: generate parttool-*
6567 (CLEANFILES): add #{parttool}
6568 (PARTTOOLFILES): new variable
6569 * genparttoollist.sh: new file
7dd4a573 6570 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 6571 (grub_pcpart_type): likewise
6572 * commands/parttool.c (helpmsg): new variable
6573 (grub_cmd_parttool): output help if not enough arguments are supplied
6574 autoload modules
6575 (GRUB_MOD_INIT(parttool)): use helpmsg
6576
0d312500 65772009-04-24 David S. Miller <davem@davemloft.net>
6578
7dd4a573 6579 Avoiding opening same device multiple times in device iterator.
0d312500 6580
6581 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 6582 and use it to build a list of partitions in iterate_disk() and
0d312500 6583 iterate_partition().
6584
ac20caff 6585 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
6586 on disk->data.
6587
0dcf7495 6588 * disk/ieee1275/nand.c (grub_nand_iterate): Return
6589 grub_devalias_iterate() result instead of unconditional 0.
6590 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
6591 Also, capture hook return value, either directly or via
6592 grub_children_iterate(), and propagate to caller.
6593 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
6594 grub_children_iterate): Return value is now 'int' instead of
6595 'grub_err_t'.
6596 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
6597 like a proper iterator, stopping when hooks return non-zero.
6598 (grub_devalias_iterate): Likewise.
6599
c8c08833 66002009-04-23 David S. Miller <davem@davemloft.net>
6601
6602 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
6603
f01005a8 66042009-04-22 David S. Miller <davem@davemloft.net>
6605
6606 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
6607 is larger than address_cells, use that value for address_cells too.
6608
4e8269da 6609 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
6610 IEEE1275_MAX_PATH_LEN): Define.
6611 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
6612 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
6613 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
6614 'devtype'. Explicitly NULL terminate devalias expansion.
6615
a1447506 6616 * util/sparc64/ieee1275/misc.c: New file.
6617 * util/sparc64/ieee1275/grub-setup.c: New file.
6618 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
6619 * util/sparc64/ieee1275/grub-mkimage.c: New file.
6620 * util/sparc64/ieee1275/grub-install.in: New file.
6621 * util/ieee1275/ofpath.c: New file.
6622 * util/ieee1275/devicemap.c: New file.
6623 * util/devicemap.c: New file.
6624 * util/deviceiter.c: New file.
6625 * kern/sparc64/ieee1275/init.c: New file.
6626 * include/grub/util/ofpath.h: New file.
6627 * include/grub/util/deviceiter.h: New file.
6628 * util/grub-mkdevicemap.c: Include deviceiter.h.
6629 Implement using grub_util_emit_devicemap_entry and
6630 grub_util_iterate_devices.
6631 * conf/i386-corebook.rmk: Build util/deviceiter.c and
6632 util/devicemap.c into grub-mkdevicemap
6633 * conf/i386-efi.rmk: Likewise.
6634 * conf/i386-ieee1275.rmk: Likewise.
6635 * conf/i386-pc.rmk: Likewise.
6636 * conf/powerpc-ieee1275.rmk: Likewise.
6637 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
6638 images and installation utilities. Build kernel as image
6639 instead of as elf binary. Use common rules as much as possible.
6640
7dd4a573 66412009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 6642
6643 Correct GPT definition
6644
7dd4a573 6645 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 6646 of "attrib" member
6647
c6c5219f 66482009-04-19 Felix Zielcke <fzielcke@z-51.de>
6649
6650 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
6651
0552ff9f 66522009-04-19 David S. Miller <davem@davemloft.net>
6653
6654 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
6655 (grub_rescue_cmd_linux): Rename to...
6656 (grub_cmd_linux): and fix prototype.
6657 (grub_rescue_cmd_initrd): Rename to...
6658 (grub_cmd_initrd): and fix prototype.
6659 (cmd_linux, cmd_initrd): New.
6660 (GRUB_MOD_INIT(linux)): Use grub_register_command().
6661 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
6662
d1a282fc 66632009-04-17 Pavel Roskin <proski@gnu.org>
6664
07c5039f 6665 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
6666 format.
6667 (grub_ohci_transfer): Likewise.
6668
b012002d 6669 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
6670
1bc09c35 6671 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
6672 return without a value. Fix inconsistent indentation.
6673
e0ff9126 6674 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
6675 match struct grub_fs.
6676
d1a282fc 6677 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
6678 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
6679 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6680 * commands/lspci.c (grub_lspci_iter): Likewise.
6681
a96df3f2 66822009-04-16 Bean <bean123ch@gmail.com>
6683
6684 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
6685 value.
6686
41bb0fe9 66872009-04-15 Pavel Roskin <proski@gnu.org>
6688
6689 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
6690 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
6691 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
6692 definitions.
6693
596c6970 66942009-04-15 Felix Zielcke <fzielcke@z-51.de>
6695
6696 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 6697 that no multiple data or metadata areas are supported and `Unknown
596c6970 6698 metadata header'.
6699
7dd4a573 67002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 6701
6702 Move loader out of the kernel
6703
6704 * kern/loader.c: moved to ...
6705 * commands/boot.c: ... moved here
6706 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
6707 * commands/boot.c (grub_cmd_boot): moved here. All users updated
6708 * include/grub/kernel.h (grub_machine_fini): export
6709 * include/grub/loader.h (grub_loader_is_loaded): update declaration
6710 (grub_loader_set): likewise
6711 (grub_loader_unset): likewise
6712 (grub_loader_boot): likewise
6713 * conf/common.rmk: new module boot.mod
6714 (pkglib_MODULES): add boot.mod
6715 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
6716 (grub_emu_SOURCES): likewise
6717 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
6718 (grub_emu_SOURCES): likewise
6719 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
6720 (grub_emu_SOURCES): likewise
6721 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
6722 (grub_emu_SOURCES): likewise
6723 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
6724 (grub_emu_SOURCES): likewise
7dd4a573 6725 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
6726 (grub_emu_SOURCES): likewise
0d5d5653 6727 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 6728 (grub_emu_SOURCES): likewise
0d5d5653 6729
7dd4a573 67302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 6731
6732 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 6733
5999d619 6734 * kern/misc.c (grub_itoa): Removed function
6735 (grub_ltoa): likewise
6736 (grub_vsprintf): use grub_lltoa
6737
7dd4a573 67382009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 6739
6740 Restore grub-emu
6741
6742 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
6743 * conf/i386-coreboot.rmk: likewise
6744 * conf/i386-ieee1275.rmk: likewise
6745 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6746
20318222 67472009-04-15 Felix Zielcke <fzielcke@z-51.de>
6748
6749 * INSTALL: Add that `./autogen.sh' needs to be run before
6750 `./configure.'.
6751
d05f0df3 67522009-04-14 Bean <bean123ch@gmail.com>
6753
6754 * Makefile.in (pkglib_DATA): Add handler.lst.
6755 (handler.lst): New rule.
6756
6757 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
6758 * conf/i386-coreboot.rmk: Likewise.
6759 * conf/i386-ieee1275.rmk: Likewise.
6760 * conf/i386-efi.rmk: Likewise.
6761 * conf/x86_64-efi.rmk: Likewise.
6762 * conf/powerpc-ieee1275.rmk: Likewise.
6763 * conf/sparc64-ieee1275.rmk: Likewise.
6764
6765 * genhandlerlist.sh: New file.
6766
6767 * genmk.rb: Add rules to generate handler.lst.
6768
6769 * include/grub/normal.h (grub_file_getline): New function definition.
6770 (read_handler_list): Likewise.
6771 (free_handler_list): Likewise.
6772
6773 * include/grub/term.h (grub_term_register_input): Add name parameter
6774 for auto generation of handler.lst.
6775 (grub_term_register_output): Likewise.
6776
6777 * normal/handler.c: New file.
6778
6779 * normal/main.c (get_line): Renamed to grub_file_getline.
6780 (read_config_file): Use the newly renamed grub_file_getline.
6781 (read_command_list): Likewise.
6782 (read_fs_list): Likewise.
6783 (grub_normal_execute): Call read_handler_list to parse handler.lst.
6784 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
6785
6786 * term/efi/console.c (grub_console_init): Add name parameter for auto
6787 generation of handler.lst.
6788 * term/gfxterm.c: Likewise.
6789 * term/i386/pc/at_keyboard.c: Likewise.
6790 * term/i386/pc/console.c: Likewise.
6791 * term/i386/pc/serial.c: Likewise.
6792 * term/i386/pc/vesafb.c: Likewise.
6793 * term/i386/pc/vga.c: Likewise.
6794 * term/i386/pc/vga_text.c: Likewise.
6795 * term/ieee1275/ofconsole.c: Likewise.
6796 * term/usb_keyboard.c: Likewise.
6797
33c846be 67982009-04-14 Bean <bean123ch@gmail.com>
6799
6800 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
6801 properly with null character.
6802
4484e01e 68032009-04-14 Felix Zielcke <fzielcke@z-51.de>
6804
6805 * configure: Remove.
6806 * config.h.in: Likewise.
f93d668e 6807 * stamp-h.in: Likewise.
4484e01e 6808 * DISTLIST: Likewise.
6809 * conf/common.mk: Likewise.
6810 * conf/i386-coreboot.mk: Likewise.
6811 * conf/i386-efi.mk: Likewise.
6812 * conf/i386-ieee1275.mk: Likewise.
6813 * conf/i386.mk: Likewise.
6814 * conf/i386-pc.mk: Likewise.
6815 * conf/powerpc-ieee1275.mk: Likewise.
6816 * conf/sparc64-ieee1275.mk: Likewise.
6817 * conf/x86_64-efi.mk: Likewise.
6818
6819 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
6820 develop on GRUB.
6821
7dd4a573 68222009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 6823 David S. Miller <davem@davemloft.net>
6824
6825 * util/hostdisk.c (make_device_name): Fix buffer length
6826 calculations.
6827
e25b5a8c 68282009-04-14 Felix Zielcke <fzielcke@z-51.de>
6829
6830 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
6831 <sys/param.h> and <sys/sysctl.h>.
6832 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
6833 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
6834 opening the device and reset them afterwards.
6835
1f1f580c 68362009-04-13 Pavel Roskin <proski@gnu.org>
6837
6838 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
6839 Reported by John Stanley <jpsinthemix@verizon.net>
6840
7ebc2d6b 68412009-04-13 Robert Millan <rmh@aybabtu.com>
6842
6843 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 6844 that name for menuentries when appropriate.
7ebc2d6b 6845
d8ba3667 68462009-04-13 Felix Zielcke <fzielcke@z-51.de>
6847
6848 * util/grub.d/10_freebsd.in: Add a missing `fi'.
6849
cba416eb 68502009-04-13 Robert Millan <rmh@aybabtu.com>
6851
6852 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
6853 to Linux, simply abort telling the user it's no longer supported.
6854
a547a745 68552009-04-13 Felix Zielcke <fzielcke@z-51.de>
6856
6857 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 6858 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 6859 `freebsd_loadenv' only when devices.hints exist.
6860
232a769c 68612009-04-13 Pavel Roskin <proski@gnu.org>
6862
6863 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
6864
c3012039 68652009-04-13 Felix Zielcke <fzielcke@z-51.de>
6866
6867 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
6868 partition number.
6869 (grub_drive): Likewise.
6870
234022fe 68712009-04-13 David S. Miller <davem@davemloft.net>
6872
6873 * kern/sparc64/ieee1275/ieee1275.c: New file.
6874 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
6875 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
6876 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
6877 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
6878 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
6879 grub_ieee1275_alloc_physmem): Declare new exported functions.
6880
d8e1836c 6881 * include/grub/sparc64/ieee1275/loader.h: New file.
6882 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6883 * include/grub/sparc64/kernel.h: Likewise.
6884 * loader/sparc64/ieee1275/linux.c: Likewise.
6885
96bd81ec 6886 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
6887 (grub_fstest_SOURCES): Likewise.
6888
6a4737e5 6889 * util/hostdisk.c (make_device_name): Do not make any assumptions
6890 about the length of drive names.
6891
1d7a72fd 6892 * kern/dl.c (grub_dl_load_file): Close file immediately when
6893 we are done using it.
6894
56bc2471 68952009-04-12 David S. Miller <davem@davemloft.net>
6896
6897 * kern/misc.c (grub_ltoa): Fix cast when handling negative
6898 values. Noticed by Pavel Roskin.
6899
df38d0bb 6900 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
6901 target compiler.
7dd4a573 6902
e382e93a 6903 * genmk.rb: Add more flexible image type specification, also
6904 pass --strip-unneeded to objcopy.
6905 * conf/i386-pc.rmk: Use *_FORMAT.
6906 * conf/i386-pc.mk: Rebuilt.
6907
f5dbbca9 6908 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
6909 (OFDISK_HASH_SZ): Define.
6910 (ofdisk_hash): New hash table.
6911 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
6912 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
6913 instead of device phandle which is not unique.
6914
91c88b12 6915 * kern/sparc64/ieee1275/init.c: Delete, replace with...
6916 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
6917 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
6918 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
6919 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
6920 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
6921 GRUB_KERNEL_MACHINE_DATA_END): Define.
6922 (grub_kernel_image_size, grub_total_module_size): Declare.
6923
5b5d4aa5 69242009-04-12 Pavel Roskin <proski@gnu.org>
6925
7dd4a573 6926 * configure.ac: Change the logic when we check for target tools.
6927 Do it when the target is specified and it's different from the
6928 specified value of the host.
5b5d4aa5 6929
c91e1793 69302009-04-11 Felix Zielcke <fzielcke@z-51.de>
6931
6932 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
6933 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
6934 GNU/kFreeBSD. Check if a device is a character device. Use
6935 DIOCGMEDIASIZE to get the size.
6936 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
6937 support for GNU/kFreeBSD.
6938 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
6939 is a character device instead of a block device. Add support for
6940 FreeBSD device names.
6941
6942 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
6943 is a character device instead of a block device.
6944
6945 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
6946 is a character device instead of a block device.
6947
b1ac8644 69482009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
6949
6950 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
6951 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
6952 FreeBSD. Check if a device is a character device. Use
6953 DIOCGMEDIASIZE to get the size.
6954 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
6955 support for FreeBSD.
6956 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
6957 is a character device instead of a block device. Add support for
6958 FreeBSD device names.
6959
6960 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
6961 a character device instead of a block device.
6962 (grub_util_check_char_device): New function.
6963
6964 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
6965 a character device instead of a block device.
6966
6967 * include/grub/util/getroot.h (grub_util_check_char_device): New
6968 prototype.
6969
a3f7515a 69702009-04-11 David S. Miller <davem@davemloft.net>
6971
6972 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
6973 static libgcc.
6974 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
6975 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
6976 function, if present.
6977 (__bswapdi2): Likewise.
6978
0d44993d 6979 * include/grub/sparc64/ieee1275/boot.h: New file.
6980 * boot/sparc64/ieee1275/boot.S: Likewise.
6981 * boot/sparc64/ieee1275/diskboot.S: Likewise.
6982
ed3d2bc2 6983 * kern/misc.c (grub_ltoa): New function.
6984 (grub_vsprintf): Use it to format 'long' integers.
6985
d3bfb59c 69862009-04-10 David S. Miller <davem@davemloft.net>
6987
6988 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
6989 slots are of type grub_ieee1275_cell_t.
6990 (grub_nand_read): Likewise.
6991 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
6992 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
6993 macros are used to compare values in arg/ret block of the call.
6994 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
6995 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
6996 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
6997 grub_ieee1275_instance_to_path, grub_ieee1275_write,
6998 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
6999 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7000 grub_ieee1275_close, grub_ieee1275_set_property,
7001 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7002 grub_ieee1275_cell_t.
7003 * kern/ieee1275/openfw.c (grub_map): Likewise.
7004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7005 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7006
450e2238 7007 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7008 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7009 (grub_devalias_iterate): Likewise.
7010
7dd4a573 70112009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7012
7013 UFS improvements
7014
7015 * fs/ufs.c (INODE_NBLOCKS): new definition
7016 (struct grub_ufs_dirent): added fields for non-BSD dirents
7017 (grub_ufs_get_file_block): fixed double indirect handling
7018 (grub_ufs_lookup_symlink): use more robust way to determine whether
7019 symlink is inline
7020 (grub_ufs_find_file): support for non-BSD dirents
7021 (grub_ufs_dir): support for non-BSD dirents
7022
e7e6862a 70232009-04-10 Bean <bean123ch@gnail.com>
7024
7025 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7026 attribute, otherwise the size would be wrong for i386 platform.
7027
7028 * include/grub/pci.h (grub_pci_read_word): New inline function.
7029 (grub_pci_read_byte): Likewise.
7030 (grub_pci_write): Likewise.
7031 (grub_pci_write_word): Likewise.
7032 (grub_pci_write_byte): Likewise.
7033
7034 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7035
7036 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7037 (find_framebuf): Scan pci to locate the frame buffer address.
7038
7039 * commands/efi/fixvideo.c: New file.
7040
7041 * commands/efi/loadbios.c: Likewise.
7042
7043 * commands/memrw.c: Likewise.
7044
7045 * util/grub-dumpbios.in: Likewise.
7046
7047 * conf/common.rmk (grub-dumpbios): New utility.
7048 (pkglib_MODULES): New module memrw.mod.
7049 (memrw_mod_SOURCE): New macro.
7050 (memrw_mod_CFLAGS): Likewise.
7051 (memrw_mod_LDFLAGS): Likewise.
7052
7dd4a573 7053 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7054 fixvideo.mod.
7055 (loadbios_mod_SOURCE): New macro.
7056 (loadbios_mod_CFLAGS): Likewise.
7057 (loadbios_mod_LDFLAGS): Likewise.
7058 (fixvideo_mod_SOURCE): Likewise.
7059 (fixvideo_mod_CFLAGS): Likewise.
7060 (fixvideo_mod_LDFLAGS): Likewise.
7061
7dd4a573 7062 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7063 fixvideo.mod.
7064 (loadbios_mod_SOURCE): New macro.
7065 (loadbios_mod_CFLAGS): Likewise.
7066 (loadbios_mod_LDFLAGS): Likewise.
7067 (fixvideo_mod_SOURCE): Likewise.
7068 (fixvideo_mod_CFLAGS): Likewise.
7069 (fixvideo_mod_LDFLAGS): Likewise.
7070
af63ada2 70712009-04-08 Felix Zielcke <fzielcke@z-51.de>
7072
7073 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
7074
c2cdde70 70752009-04-07 David S. Miller <davem@davemloft.net>
7076
7077 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
7078 support for R_SPARC_OLO10 relocations. Fix compile warning for
7079 R_SPARC_WDISP30 case.
ea3f72cf 7080 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 7081
761319cf 70822009-04-06 Pavel Roskin <proski@gnu.org>
7083
1007d1f5 7084 * include/grub/misc.h (ARRAY_SIZE): New macro.
7085 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
7086 New macro.
7087 * loader/i386/linux.c (allocate_pages): Use free_pages().
7088 (grub_linux_unload): Don't use free_pages().
7089 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
7090 wrong index. Treat all other modes as text modes.
7091 (grub_cmd_linux): Initialize vid_mode unconditionally to
7092 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
7093
761319cf 7094 * commands/help.c (print_command_help): Use cmd->prio, not
7095 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
7096
ea761d40 70972009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 7098
ea761d40 7099 Parttool
7100
7101 * parttool/pcpart.c: new file
7102 * commands/parttool.c: likewise
7103 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
7104 (parttool_mod_SOURCES): new variable
7105 (parttool_mod_CFLAGS): likewise
7106 (parttool_mod_LDFLAGS): likewise
7107 (pcpart_mod_SOURCES): likewise
7108 (pcpart_mod_CFLAGS): likewise
7109 (pcpart_mod_LDFLAGS): likewise
7dd4a573 7110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 7111 and parttool/pcpart.c
7112 * conf/i386-efi.rmk: likewise
7113 * conf/i386-ieee1275.rmk: likewise
7114 * conf/i386-pc.rmk: likewise
7115 * conf/powerpc-ieee1275.rmk: likewise
7116 * conf/sparc64-ieee1275.rmk: likewise
7117 * conf/x86_64-ieee1275.rmk: likewise
7118
05aaebfb 71192009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 Support for mtime and further expandability of dir command
7122
7123 * include/grub/lib/datetime.h: moved to ...
7dd4a573 7124 * include/grub/datetime.h: ... moved here and added
05aaebfb 7125 declaration of grub_unixtime2datetime. All users updated
7dd4a573 7126 * include/grub/fs.h: new syntax for dir and mtime functions in
7127 struct grub_fs
05aaebfb 7128 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
7129 and GRUB_FSHELP_FLAGS_MASK
7130 * commands/ls.c (grub_ls_list_files): Write mtime in long format
7131 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
7132 (grub_ext2_mtime): new function
7133 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
7134 (grub_hfsplus_mtime): new function
7135 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
7136 (GRUB_UFS_ATTR_FILE): likewise
7137 (GRUB_UFS_ATTR_LNK): likewise
7138 (struct grub_ufs_sblock): new fields mtime
7139 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
7140 all users updated
7141 (grub_ufs_dir): mtime support
7142 (grub_ufs_mtime): new function
7143 * fs/affs.c (grub_affs_dir): use new dir syntax
7144 * fs/afs.c (grub_afs_dir): likewise
7145 * fs/cpio.c (grub_cpio_dir): likewise
7146 * fs/fat.c (grub_fat_find_dir): likewise
7147 * fs/hfs.c (grub_hfs_dir): likewise
7148 * fs/iso9660.c (grub_iso9660_dir): likewise
7149 * fs/jfs.c (grub_jfs_dir): likewise
7150 * fs/minix.c (grub_minix_dir): likewise
7151 * fs/ntfs.c (grub_ntfs_dir): likewise
7152 * fs/reiserfs.c (grub_reiserfs_dir): likewise
7153 * fs/sfs.c (grub_sfs_dir): likewise
7154 * fs/xfs.c (grub_xfs_dir): likewise
7155 * util/hostfs.c (grub_hostfs_dir): likewise
7156 * lib/datetime.c: moved to ...
7157 * normal/datetime.c: ... moved here
7158 (grub_unixtime2datetime): new function
7159 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 7160 * normal/completion.c (iterate_dir): use new dir syntax
7161 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 7162 last modification time of a volume
7dd4a573 7163 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 7164 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 7165 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 7166 (normal_mod_SOURCES): likewise
7167 (datetime_mod_SOURCES): Removed lib/datetime.c
7168 * conf/i386-efi.rmk: likewise
7dd4a573 7169 * conf/i386-ieee1275.rmk: likewise
05aaebfb 7170 * conf/i386-pc.rmk: likewise
7171 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7172 * conf/sparc64-ieee1275.rmk: likewise
7173 * conf/x86_64-efi.rmk: likewise
05aaebfb 7174
8a7e1a14 71752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 7178
7179 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 7180 on grub_fat_find_dir
7181 (grub_fat_find_dir): use grub_fat_iterate_dir
7182 (grub_fat_label): likewise
7183
04186a9c 71842009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7185
7dd4a573 7186 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 7187 and command.h
7188 remove extraneous kernel_elf_HEADERS
7189
da4c0bb6 71902009-04-04 Bean <bean123ch@gnail.com>
7191
7192 * include/grub/util/misc.h: Add dummy function fsync for mingw.
7193
7194 * util/misc.c: Likewise.
7195
54ad9555 71962009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
7197
7198 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
7199 instead of grub_printf.
7200
7a6bf9f2 72012009-04-03 Robert Millan <rmh@aybabtu.com>
7202
7203 * loader/i386/linux.c (grub_linux_setup_video): Fill
7204 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
7205 values from `mode info' structure instead of hardcoded
7206 values.
7207
3fcc2083 72082009-04-01 Pavel Roskin <proski@gnu.org>
7209
7210 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
7211 unused now.
7212 * genmk.rb: Likewise.
7213 * configure.ac: Likewise.
7214
5ec9740b 72152009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
7216
7217 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
7218 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
7219
5270cec8 72202009-04-01 David S. Miller <davem@davemloft.net>
7221
7222 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 7223 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 7224 (grub_setjmp): Mark with 'returns_twice' attribute.
7225 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
7226 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
7227 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
7228
9c3dd854 72292009-04-01 Robert Millan <rmh@aybabtu.com>
7230
7231 Reapply fix from 2008-07-28 which was accidentally reverted; also
7232 perform the same fix to a similar check in same function.
7233
7234 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
7235 with the same number are found, just use issue a warning with
7236 grub_dprintf(), as this error has been reported to be non-fatal.
7237
0d818b7e 72382009-03-31 Pavel Roskin <proski@gnu.org>
7239
7240 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
7241 for cross-compilation.
7242
95646d92 72432009-03-30 Robert Millan <rmh@aybabtu.com>
7244
7245 Fix i386-ieee1275 build.
7246
7247 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
7248 Remove declaration.
7249
6a003ed1 72502009-03-30 Pavel Roskin <proski@gnu.org>
7251
7252 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
7253 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
7254 zero-terminated, rely only on the strlen value. Fix comparison
7255 of strings differing in length.
7256
92f33540 72572009-03-30 Robert Millan <rmh@aybabtu.com>
7258
7259 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
7260 checking for abi version. Improve error messages on BIOS to notify
7261 user about `linux16' command.
7262
a8c48fd5 72632009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7264
f968172e 7265 Leak fixes
a8c48fd5 7266
f968172e 7267 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
7268 in case of collision
7269 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 7270
9c323f09 72712009-03-29 Robert Millan <rmh@aybabtu.com>
7272
7273 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
7274 set `vid_mode' accordingly.
7275 (grub_linux_boot): Process `vid_mode' and set video mode.
7276
ae68f423 72772009-03-29 Robert Millan <rmh@aybabtu.com>
7278
7279 * util/grub.d/10_linux.in (linux_entry): New function.
7280 Factorize generation of Linux boot entries.
7281
5709cfc4 72822009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
7283
7284 Make the format of Environment Block plain text. The boot loader
7285 part is not tested well yet.
7dd4a573 7286
5709cfc4 7287 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
7288 (buffer): Removed.
7289 (envblk): Likewise.
7290 (usage): Remove "info" and "clear". Add "unset". Update the
7291 description of "set", as this does not delete variables any
7292 longer.
7293 (create_envblk_file): Complete rewrite.
7294 (open_envblk_file): Likewise.
7295 (cmd_info): Removed.
7296 (cmd_list): Likewise.
7297 (cmd_set): Likewise.
7298 (cmd_clear): Likewise.
7299 (list_variables): New function.
7300 (write_envblk): Likewise.
7301 (set_variables): Likewise.
7302 (unset_variables): Likewise.
7303 (main): Complete rewrite.
7304
7305 * commands/loadenv.c (buffer): Removed.
7306 (envblk): Likewise.
7307 (open_envblk_file): New function.
7308 (read_envblk_file): Complete rewrite.
7309 (grub_cmd_load_env): Likewise.
7310 (grub_cmd_list_env): Likewise.
7311 (struct blocklist): New struct.
7312 (free_blocklists): New function.
7313 (check_blocklists): Likewise.
7314 (write_blocklists): Likewise.
7315 (grub_cmd_save_env): Complete rewrite.
7316
7317 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
7318 a plain text signature.
7319 (GRUB_ENVBLK_MAXLEN): Removed.
7320 (struct grub_envblk): Complete rewrite.
7321 (grub_envblk_find): Removed.
7322 (grub_envblk_insert): Likewise.
7323 (grub_envblk_open): New prototype.
7324 (grub_envblk_set): Likewise.
7325 (grub_envblk_delete): Put const to VALUE.
7326 (grub_envblk_iterate): Put const to NAME and VALUE.
7327 (grub_envblk_close): New prototype.
7328 (grub_envblk_buffer): New inline function.
7329 (grub_envblk_size): Likewise.
7330
7331 * lib/envblk.c: Include grub/mm.h.
7332 (grub_env_find): Removed.
7333 (grub_envblk_open): New function.
7334 (grub_envblk_close): Likewise.
7335 (escaped_value_len): Likewise.
7336 (find_next_line): Likewise.
7337 (grub_envblk_insert): Removed.
7338 (grub_envblk_set): New function.
7339 (grub_envblk_delete): Complete rewrite.
7340 (grub_envblk_iterate): Likewise.
7341
a9368fd3 73422009-03-28 Robert Millan <rmh@aybabtu.com>
7343
7344 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
7345 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
7346 variables. Use 16-bit loader.
7347 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
7348 loader.
7349 * kern/i386/loader.S (grub_linux_boot): Rename to ...
7350 (grub_linux16_boot): ... this. Update all users.
7351 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
7352 (grub_linux_boot): ... this. Update all users.
7353
7354 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
7355 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
7356 commands to `linux16' and `initrd16'.
7357 (GRUB_MOD_FINI(linux)): Rename to ...
7358 (GRUB_MOD_FINI(linux16)): ... this.
7359
e4dd5a7e 73602009-03-24 Pavel Roskin <proski@gnu.org>
7361
7362 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
7363 not just for compilation.
7364
c04d6e05 73652009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 Move multiboot helper out of kernel
7368
7369 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
7370 `loader/i386/multiboot_helper.S'.
7371 * conf/i386-coreboot.rmk: Likewise
7372 * conf/i386-ieee1275.rmk: Likewise
7373
7374 * kern/i386/loader.S: Move multiboot helpers from here...
7375 * loader/i386/multiboot_helper.S: ...moved here
7376 * include/grub/i386/loader.h: Move declarations of multiboot
7377 helpers from here...
7378 * include/grub/i386/multiboot.h: ...moved here
7379 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
7380
42a5b3fc 73812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7382
7383 * kern/env.c (grub_env_context_open): Added an argument to specify
7384 whether a new context inherits exported variables from current
7385 one. This is useful when making a sandbox to interpret a config
7386 file.
7387 All callers updated.
7388
7389 * include/grub/env.h (grub_env_context_open): Updated the prototype.
7390
b28bbc4e 73912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7392
7393 * kern/env.c (grub_env_context_close): Fix memory leaks.
7394
f04f02e4 73952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7396
7397 * normal/main.c (grub_normal_execute): Added an argument
7398 BATCH to specify if an interactive interface should be provided
7399 after reading a config file.
7400 All callers updated.
7401 (read_command_list): Prevent being executed twice.
7402 (read_fs_list): Likewise.
7403
42a5b3fc 7404 * include/grub/normal.h (grub_normal_execute): Updated the
7405 prototype.
f04f02e4 7406
41473ac2 74072009-03-22 Pavel Roskin <proski@gno.org>
7408
fbc00b0c 7409 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
7410 _start.
7411 * kern/i386/pc/startup.S: Likewise.
7412 * kern/i386/efi/startup.S: Likewise.
7413 * kern/i386/ieee1275/startup.S: Likewise.
7414 * kern/i386/coreboot/startup.S: Likewise.
7415 * kern/x86_64/efi/startup.S: Likewise.
7416
41473ac2 7417 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
7418 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
7419 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
7420
2274cc8f 74212009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 Bugfixes in multiboot for bugs uncovered by solaris kernel.
7424
7425 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
7426 limit detection.
7427 Use vaddr of correct segment for entry_point.
7428
b1b797cb 74292009-03-21 Bean <bean123ch@gmail.com>
7430
7431 * commands/blocklist.c: Add include file <grub/command.h>, remove
7432 <grub/normal.h> and <grub/arg.h>.
7433 (grub_cmd_blocklist): Use the new command interface.
7434 (GRUB_MOD_INIT): Likewise.
7435 (GRUB_MOD_FINI): Likewise.
7436 * commands/boot.c: Likewise.
7437 * commands/cat.c: Likewise.
7438 * commands/cmp.c: Likewise.
7439 * commands/configfile.c: Likewise.
7440 * commands/crc.c: Likewise.
7441 * commands/echo.c: Likewise.
7442 * commands/halt.c: Likewise.
7443 * commands/handler.c: Likewise.
7444 * commands/hdparm.c: Likewise.
7445 * commands/help.c: Likewise.
7446 * commands/hexdump.c: Likewise.
7447 * commands/loadenv.c: Likewise.
7448 * commands/ls.c: Likewise.
7449 * commands/lsmmap.c: Likewise.
7450 * commands/lspci.c: Likewise.
7451 * commands/loadenv.c: Likewise.
7452 * commands/read.c: Likewise.
7453 * commands/reboot.c: Likewise.
7454 * commands/search.c: Likewise.
7455 * commands/sleep.c: Likewise.
7456 * commands/test.c: Likewise.
7457 * commands/usbtest.c: Likewise.
7458 * commands/videotest.c: Likewise.
7459 * commands/i386/cpuid.c: Likewise.
7460 * commands/i386/pc/halt.c: Likewise.
7461 * commands/i386/pc/play.c: Likewise.
7462 * commands/i386/pc/pxecmd.c: Likewise.
7463 * commands/i386/pc/vbeinfo.c: Likewise.
7464 * commands/i386/pc/vbetest.c: Likewise.
7465 * commands/ieee1275/suspend.c: Likewise.
7466 * disk/loopback.c: Likewise.
7467 * font/font_cmd.c: Likewise.
7468 * hello/hello.c: Likewise.
7469 * loader/efi/appleloader.c: Likewise.
7470 * loader/efi/chainloader.c: Likewise.
7471 * loader/i386/bsd.c: Likewise.
7472 * loader/i386/efi/linux.c: Likewise.
7473 * loader/i386/ieee1275/linux.c: Likewise.
7474 * loader/i386/linux.c: Likewise.
7475 * loader/i386/pc/chainloader.c: Likewise.
7476 * loader/i386/pc/linux.c: Likewise.
7477 * loader/powerpc/ieee1275/linux.c: Likewise.
7478 * loader/multiboot_loader.c: Likewise.
7479 * term/gfxterm.c: Likewise.
7480 * term/i386/pc/serial.c: Likewise.
7481 * term/terminfo.c: Likewise.
7482
7483 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
7484 * term/i386/pc/vga.c: Likewise.
7485 * video/readers/jpeg.c: Likewise.
7486 * video/readers/png.c: Likewise.
7487 * video/readers/tga.c: Likewise.
7488
7489 * util/grub-fstest (cmd_loopback): Removed.
7490 (cmd_blocklist): Likewise.
7491 (cmd_ls): Likewise.
7492 (grub_register_command): Likewise.
7493 (grub_unregister_command): Likewise.
7494 (execute_command): Use grub_command_find to locate command and execute
7495 it.
7496
7497 * include/grub/efi/chainloader.h: Removed.
7498 * loader/efi/chainloader_normal.c: Likewise.
7499 * loader/i386/bsd_normal.c: Likewise.
7500 * loader/i386/pc/chainloader_normal.c: Likewise.
7501 * loader/i386/pc/multiboot_normal.c: Likewise.
7502 * loader/linux_normal.c: Likewise.
7503 * loader/multiboot_loader_normal.c: Likewise.
7504 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
7505
7506 * gencmdlist.sh: Scan new registration command grub_register_extcmd
7507 and grub_register_command_p1.
7508
7509 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
7510 kern/command.c, lib/arg.c and commands/extcmd.c.
7511 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
7512 (minicmd_mod_SOURCES): New variable.
7513 (minicmd_mod_CFLAGS): Likewise.
7514 (minicmd_mod_LDFLAGS): Likewise.
7515 (extcmd_mod_SOURCES): Likewise.
7516 (extcmd_mod_CFLAGS): Likewise.
7517 (extcmd_mod_LDFLAGS): Likewise.
7518 (boot_mod_SOURCES): Removed.
7519 (boot_mod_CFLAGS): Likewise.
7520 (boot_mod_LDFLAGS): Likewise.
7521
7522 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
7523 kern/corecmd.c.
7524 (kernel_img_HEADERS): Add command.h.
7525 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
7526 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
7527 and lib/arg.c.
7528 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
7529 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
7530 remove the corresponding normal mode command.
7531 (normal_mod_SOURCES): Remove normal/arg.c.
7532 * conf/i386-coreboot.rmk: Likewise.
7533 * conf/i386-efi.rmk: Likewise.
7534 * conf/i386-ieee1275.rmk: Likewise.
7535 * conf/powerpc-ieee1275.rmk: Likewise.
7536 * conf/x86_64-efi.rmk: Likewise.
7537
7538 * include/grub/arg.h: Move from here ...
7539 * include/grub/lib/arg.h: ... to here.
7540
7541 * normal/arg.c: Move from here ...
7542 * lib/arg.c: ... to here.
7543
7544 * commands/extcmd.c: New file.
7545 * commands/minicmd.c: Likewise.
7546 * include/grub/command.h: Likewise.
7547 * include/grub/extcmd.h: Likewise.
7548 * kern/command.c: Likewise.
7549 * kern/corecmd.c: Likewise.
7550
7551 * kern/list.c (grub_list_iterate): Return int instead of void.
7552 (grub_list_insert): New function.
7553 (grub_prio_list_insert): Likewise.
7554
7555 * kern/rescue.c (grub_rescue_command): Removed.
7556 (grub_rescue_command_list): Likewise.
7557 (grub_rescue_register_command): Likewise.
7558 (grub_rescue_unregister_command): Likewise.
7559 (grub_rescue_cmd_boot): Move to minicmd.c
7560 (grub_rescue_cmd_help): Likewise.
7561 (grub_rescue_cmd_info): Likewise.
7562 (grub_rescue_cmd_boot): Likewise.
7563 (grub_rescue_cmd_testload): Likewise.
7564 (grub_rescue_cmd_dump): Likewise.
7565 (grub_rescue_cmd_rmmod): Likewise.
7566 (grub_rescue_cmd_lsmod): Likewise.
7567 (grub_rescue_cmd_exit): Likewise.
7568 (grub_rescue_print_devices): Moved to corecmd.c.
7569 (grub_rescue_print_files): Likewise.
7570 (grub_rescue_cmd_ls): Likewise.
7571 (grub_rescue_cmd_insmod): Likewise.
7572 (grub_rescue_cmd_set): Likewise.
7573 (grub_rescue_cmd_unset): Likewise.
7d074e3c 7574 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 7575 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 7576 commands, remove grub_rescue_register_command calls.
b1b797cb 7577
7d074e3c 7578 * normal/command.c (grub_register_command): Removed.
b1b797cb 7579 (grub_unregister_command): Likewise.
7580 (grub_command_find): Likewise.
7581 (grub_iterate_commands): Likewise.
7582 (rescue_command): Likewise.
7583 (export_command): Moved to corecmd.c.
7584 (set_command): Removed.
7585 (unset_command): Likewise.
7586 (insmod_command): Likewise.
7587 (rmmod_command): Likewise.
7588 (lsmod_command): Likewise.
7589 (grub_command_init): Likewise.
7590
7591 * normal/completion.c (iterate_command): Use cmd->prio to check for
7592 active command.
7593 (complete_arguments): Use grub_extcmd_t structure to find options.
7594 (grub_normal_do_completion): Change function grub_iterate_commands to
7595 grub_command_iterate.
7596
7597 * normal/execute.c (grub_script_execute_cmd): No need to parse
7598 argument here.
7599
7600 * normal/main.c (grub_dyncmd_dispatcher): New function.
7601 (read_command_list): Register unload commands as dyncmd.
7602 (grub_cmd_normal): Use new command interface, register rescue,
7603 unregister normal at entry, register normal, unregister rescue at exit.
7604
7605 * include/grub/list.h (grub_list_test_t): New type.
7606 (grub_list_iterate): Return int instead of void.
7607 (grub_list_insert): New function.
7608 (GRUB_AS_NAMED_LIST_P): New macro.
7609 (GRUB_AS_PRIO_LIST): Likewise.
7610 (GRUB_AS_PRIO_LIST_P): Likewise.
7611 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
7612 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
7613 (grub_prio_list): New structure.
7614 (grub_prio_list_insert): New function.
7615 (grub_prio_list_remove): New inline function.
7616
7617 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
7618 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
7619 (GRUB_COMMAND_FLAG_MENU): Likewise.
7620 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7621 (GRUB_COMMAND_FLAG_TITLE): Likewise.
7622 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7623 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
7624 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
7625 (grub_command): Likewise.
7626 (grub_register_command): Likewise.
7627 (grub_command_find): Likewise.
7628 (grub_iterate_commands): Likewise.
7629 (grub_command_init): Likewise.
7630 (grub_arg_parse): Likewise.
7631 (grub_arg_show_help): Likewise.
7632
7633 * include/grub/rescue.h (grub_rescue_register_command): Removed.
7634 (grub_rescue_unregister_command): Likewise.
7635
7636 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
7637 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
7638 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
7639
7640 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
7641 grub_rescue_cmd_initrd.
7642 * include/grub/i386/loader.h: Likewise.
7643 * include/grub/x86_64/loader.h: Likewise.
7644
7645 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
7646
1f4147aa 76472009-03-21 Bean <bean123ch@gmail.com>
7648
7649 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
7650 instead of stat in mingw environment.
7651
7652 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
7653
7654 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
7655
7656 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
7657 AC_CONFIG_LINKS.
7658
2156d5ba 76592009-03-21 Bean <bean123ch@gmail.com>
7660
7661 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
7662 out of range error.
7663
177b82ca 76642009-03-18 Michel Dänzer <michel@daenzer.net>
7665
7666 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
7667 checking inode flags for EXT4_EXTENTS_FLAG.
7668
14aad807 76692009-03-18 Robert Millan <rmh@aybabtu.com>
7670
7671 * loader/i386/linux.c: Include `<grub/video.h>' and
7672 `<grub/i386/pc/vbe.h>'..
7673 (grub_linux_setup_video): New function. Loosely based on the EFI one.
7674 (grub_linux32_boot): Attempt to configure video settings with
7675 grub_linux_setup_video().
7676 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
7677 to avoid grub_console_fini() which would step out of graphical mode
7678 unconditionally.
7679
8cf83a27 76802009-03-14 Robert Millan <rmh@aybabtu.com>
7681
7682 Fix build on powerpc.
7683 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
7684
40164e75 76852009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
7688 background image command.
7689
c58bc32a 76902009-03-12 Colin D Bennett <colin@gibibit.com>
7691
7692 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
7693 (grub_gfxterm_putchar): Extract pairs of identical calls to
7694 draw_cursor out of conditional blocks.
7695
5415144a 76962009-03-11 Pavel Roskin <proski@gnu.org>
7697
7698 * fs/hfs.c (grub_hfs_strncasecmp): New function.
7699 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
7700
6394042e 77012009-03-11 Robert Millan <rmh@aybabtu.com>
7702
7703 * loader/i386/multiboot_elfxx.c
7704 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
7705
b7b50e5f 77062009-03-11 Felix Zielcke <fzielcke@z-51.de>
7707
7708 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
7709 `kern/handler.c'.
7710
1ca7fc96 77112009-03-11 Robert Millan <rmh@aybabtu.com>
7712
7713 * loader/i386/multiboot.c (code_size): New variable.
7714 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 7715 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 7716 4-byte alignment to MBI and others by increasing
7d074e3c 7717 `boot_loader_name_length' appropriately.
1ca7fc96 7718
7719 * loader/i386/multiboot_elfxx.c
7720 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
7721
a83ea1d2 77222009-03-09 Felix Zielcke <fzielcke@z-51.de>
7723
7724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
7725 `fs/ext2.c'.
7726
aa9f3bff 77272009-03-08 Robert Millan <rmh@aybabtu.com>
7728
7729 Make loader/i386/linux.c usable on i386-pc again.
7730
7731 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
7732 memory to heap.
7733 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
7734 `#error' stanza.
7735
d8b3b60e 77362009-03-07 Bean <bean123ch@gmail.com>
7737
7738 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
7739 allocation.
7740
b362c9e9 77412009-03-06 Robert Millan <rmh@aybabtu.com>
7742
7743 Fix display issue on terminals with screen size other than 80x25
7744 (e.g. gfxterm with resolution higher than 640x480).
7745
7746 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 7747 position relative to the center of the terminal instead of relying
b362c9e9 7748 on a hardcoded offset.
7749
9304eef1 77502009-03-04 Robert Millan <rmh@aybabtu.com>
7751
7752 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
7753 installed.
7754
7755 * Makefile.in (host_kernel): New variable.
7756 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
7757 scripts instead of just the windows one.
7758 * configure.ac: Initialize and AC_SUBST `host_kernel'.
7759
eabc95fb 77602009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 7761
7762 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
7763 `kern/handler.c'.
7764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7765 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7769 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7770
ceb1223c 77712009-03-04 Felix Zielcke <fzielcke@z-51.de>
7772
7773 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
7774 or if there's no space for the disk label and print the partition number on a
7775 invalid magic.
7776
4910684a 77772009-03-04 Felix Zielcke <fzielcke@z-51.de>
7778
7779 * util/misc.c: Include <time.h>.
7780 (grub_millisleep): New function.
7781
7e9ca17a 77822009-03-04 Bean <bean123ch@gmail.com>
7783
7784 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
7785 another option -mno-red-zone.
7786
7787 * commands/handler.c: Change module description.
7788
7789 * kern/handler.c: Add missing space at the end of description line.
7790
7791 * kern/list.c: Likewise.
7792
f501677c 77932009-03-03 Robert Millan <rmh@aybabtu.com>
7794
7795 Move more components to the relocation area, and fix mbi pointer
7796 handling to use the destination rather than the origin (thanks to
7797 Vladimir Serbinenko for spotting).
7798
7799 * loader/i386/multiboot.c (mbi_dest): New variable.
7800 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
7801 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
7802 relocation area.
7803
9902d047 78042009-03-01 Bean <bean123ch@gmail.com>
7805
50fb7002 7806 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 7807 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
7808 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
7809 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
7810
7811 * loader/i386/efi/linux.c (acpi_guid): New variable.
7812 (acpi_guid): Likewise.
7813 (EBDA_SEG_ADDR): New constant.
7814 (LOW_MEM_ADDR): Likewise.
7815 (FAKE_EBDA_SEG): Likewise.
7816 (fake_bios_data): New function.
7817 (grub_linux_boot): Call fake_bios_data.
7818
71b9f361 78192009-03-01 Bean <bean123ch@gmail.com>
7820
7821 * commands/terminal.c: Removed.
7822
7823 * commands/handler.c: New file.
7824
7825 * include/grub/list.h: Likewise.
7826
7827 * include/grub/handler.h: Likewise.
7828
7829 * kern/list.c: Likewise.
7830
7831 * kern/handler.c: Likewise.
7832
7833 * kern/term.h: Include header file <grub/handler.h>.
7834 (grub_term_input): Move next field to the beginning.
7835 (grub_term_output): Likewise.
7836 (grub_term_input_class): New variable.
7837 (grub_term_output_class): Likewise.
7838 (grub_term_register_input): Changed to inline function.
7839 (grub_term_register_output): Likewise.
7840 (grub_term_unregister_input): Likewise.
7841 (grub_term_unregister_output): Likewise.
7842 (grub_term_set_current_input): Likewise.
7843 (grub_term_set_current_output): Likewise.
7844 (grub_term_get_current_input): Likewise.
7845 (grub_term_get_current_output): Likewise.
7846 (grub_term_iterate_input): Removed.
7847 (grub_term_iterate_output): Likewise.
7848
7849 * kern/term.c (grub_term_list_input): Removed.
7850 (grub_term_list_output): Likewise.
7851 (grub_term_input_class): New variable.
7852 (grub_term_output_class): Likewise.
50fb7002 7853 (grub_cur_term_input): Change variable as macro.
71b9f361 7854 (grub_cur_term_output): Likewise.
7855 (grub_term_register_input): Removed.
7856 (grub_term_register_output): Likewise.
7857 (grub_term_unregister_input): Likewise.
7858 (grub_term_unregister_output): Likewise.
7859 (grub_term_set_current_input): Likewise.
7860 (grub_term_set_current_output): Likewise.
7861 (grub_term_iterate_input): Likewise.
7862 (grub_term_iterate_output): Likewise.
7863 (grub_term_get_current_input): Likewise.
7864 (grub_term_get_current_output): Likewise.
7865
7866 * util/grub-editenv.c: Include header file <grub/handler.h>.
7867 (grub_term_get_current_input): Removed.
7868 (grub_term_get_current_output): Likewise.
7869 (grub_term_input_class): New variable.
50fb7002 7870 (grub_term_output_class): Likewise.
71b9f361 7871
7872 * util/grub-fstest.c (grub_term_get_current_input): Removed.
7873 (grub_term_get_current_output): Likewise.
7874 (grub_term_input_class): New variable.
50fb7002 7875 (grub_term_output_class): Likewise.
71b9f361 7876
7877 * util/grub-probe.c (grub_term_get_current_input): Removed.
7878 (grub_term_get_current_output): Likewise.
7879 (grub_term_input_class): New variable.
50fb7002 7880 (grub_term_output_class): Likewise.
71b9f361 7881
7882 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
7883 (grub_term_get_current_output): Likewise.
7884 (grub_term_input_class): New variable.
50fb7002 7885 (grub_term_output_class): Likewise.
71b9f361 7886
7887 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
7888 (terminal_mod_SOURCES): Likewise.
7889 (terminal_mod_CFLAGS): Likewise.
7890 (terminal_mod_LDFLAGS): Likewise.
7891
7892 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
7893 handler.c.
7894 (kernel_img_SOURCES): Add list.c and handler.c.
7895 (kernel_img_HEADERS): Add list.h and handler.h.
7896
7897 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7898 handler.c.
7899 (kernel_mod_SOURCES): Add list.c and handler.c.
7900 (kernel_mod_HEADERS): Add list.h and handler.h.
7901
7902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
7903 handler.c.
7904 (kernel_elf_SOURCES): Add list.c and handler.c.
7905 (kernel_elf_HEADERS): Add list.h and handler.h.
7906
7907 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7908 handler.c.
7909 (kernel_elf_SOURCES): Add list.c and handler.c.
7910 (kernel_elf_HEADERS): Add list.h and handler.h.
7911
7912 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7913 handler.c.
7914 (kernel_mod_SOURCES): Add list.c and handler.c.
7915 (kernel_mod_HEADERS): Add list.h and handler.h.
7916
7917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7918 handler.c.
7919 (kernel_elf_SOURCES): Add list.c and handler.c.
7920 (kernel_elf_HEADERS): Add list.h and handler.h.
7921
8a31787f 79222009-02-27 Robert Millan <rmh@aybabtu.com>
7923
7924 Factorize elf32 / elf64 code in Multiboot loader. This will
7925 prevent it from getting out of sync again.
7926
7927 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
7928 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
7929 grub_multiboot_load_elf64): Move from here ...
7930 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
7931 grub_multiboot_load_elf): ... to here (new file).
7932
51cd3dfc 79332009-02-27 Robert Millan <rmh@aybabtu.com>
7934
7935 * util/grub.d/10_linux.in: Rename "single-user mode" to
7936 "recovery mode".
7937
6e8c9c3a 79382009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 Don't leak in SCSI code.
7941 * disk/scsi.c (grub_scsi_close): free `scsi'.
7942
4b6bf4f9 79432009-02-27 Robert Millan <rmh@aybabtu.com>
7944
7945 * loader/i386/pc/multiboot.c: Move from here ...
7946 * loader/i386/multiboot.c: ... to here. Update all users.
7947
b9413424 79482009-02-27 Robert Millan <rmh@aybabtu.com>
7949
7950 Patch from Alexandre Bique <bique.alexandre@gmail.com>
7951 * util/i386/pc/grub-setup.c (setup): Fix directory path.
7952
50fb7002 79532009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 7954
7955 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
7956 b-tree.
7957
8cc50345 79582009-02-27 Robert Millan <rmh@aybabtu.com>
7959
7960 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
7961 `0x' qualifier as 0 when base is specified as parameter).
7962
6e09b8b7 79632009-02-24 Bean <bean123ch@gmail.com>
7964
7965 * configure.ac: Check for -mcmodel=large in x86_64 target.
7966
7967 * include/grub/efi/api.h (efi_call_10): New macro.
7968 (efi_wrap_10): New function.
7969
7970 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
7971 (GRUB_PE32_REL_BASED_HIGH): Likewise.
7972 (GRUB_PE32_REL_BASED_LOW): Likewise.
7973 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
7974 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
7975 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
7976 (GRUB_PE32_REL_BASED_SECTION): Likewise.
7977 (GRUB_PE32_REL_BASED_REL): Likewise.
7978 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
7979 (GRUB_PE32_REL_BASED_DIR64): Likewise.
7980 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
7981
7982 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
7983 issue.
7984
7985 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
7986 (efi_wrap_10): New function.
7987
7988 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
7989
7990 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
7991 MB/MBP model (NV chipset).
7992 (devdata_devs): Add devpath_5 to the list.
7993
7994 * load/i386/efi/linux.c (video_base): Remove variable.
7995 (RGB_MASK): New macro.
7996 (RGB_MAGIC): Likewise.
7997 (LINE_MIN): Likewise.
7998 (LINE_MAX): Likewise.
7999 (FBTEST_STEP): Likewise.
8000 (FBTEST_COUNT): Likewise.
8001 (fb_list): New variable.
8002 (grub_find_video_card): Remove function.
8003 (find_framebuf): New function.
8004 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8005 line length.
8006
8007 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8008 problem for x86_64.
8009
74b21bee 80102009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8011
8012 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8013
8014 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8015 coding tool name.
8016
a455f472 80172009-02-22 Robert Millan <rmh@aybabtu.com>
8018
8019 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8020 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8021 in our relocation, instead of using it directly from heap. Also
8022 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8023
6374daf3 80242009-02-21 Robert Millan <rmh@aybabtu.com>
8025
8026 Implement USB keyboard support (based on patch by Marco Gerards)
8027
8028 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8029 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8030 (usb_keyboard_mod_LDFLAGS): New variables.
8031
8032 * term/usb_keyboard.c: New file.
8033
8fa4ea70 80342009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Corrected wrong declaration
8037
8038 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8039
353976ac 80402009-02-14 Christian Franke <franke@computer.org>
8041
8042 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8043 (grub_lspci_iter): Print class code and programming interface byte.
8044
6aa1169b 80452009-02-14 Christian Franke <franke@computer.org>
8046
8047 * gendistlist.sh: Ignore `.svn' directories.
8048
265372ca 80492009-02-14 Felix Zielcke <fzielcke@z-51.de>
8050
8051 * fs/fat.c: Add 2009 to Copyright line.
8052
9ff516f3 80532009-02-14 Christian Franke <franke@computer.org>
8054
8055 * commands/hdparm.c: New file. Provides `hdparm' command
8056 which sends ATA commands via grub_disk_ata_pass_through ().
8057
8058 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
8059
8060 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
8061 and <grub/cpu/io.h> to include/grub/ata.h.
8062 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
8063 (GRUB_CDROM_SECTOR_SIZE): Remove.
8064 (GRUB_ATA_*): Move to include/grub/ata.h.
8065 (GRUB_ATAPI_*): Likewise.
8066 (enum grub_ata_commands): Likewise.
8067 (enum grub_ata_timeout_milliseconds): Likewise.
8068 (struct grub_ata_device): Likewise.
8069 (grub_ata_regset): Likewise.
8070 (grub_ata_regget): Likewise.
8071 (grub_ata_regset2): Likewise.
8072 (grub_ata_regget2): Likewise.
8073 (grub_ata_check_ready): Likewise.
8074 (grub_ata_wait_not_busy): Remove static, exported in
8075 include/grub/ata.h.
8076 (grub_ata_wait_drq): Likewise.
8077 (grub_ata_pio_read): Likewise.
8078
8079 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
8080 function for hdparm.mod.
8081
8082 * include/grub/ata.h: New file, contains declarations from
8083 disk/ata.c.
8084 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
8085
8086 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
8087 (grub_disk_ata_pass_through): New exported variable.
8088
8089 * kern/disk.c (grub_disk_ata_pass_through): New variable.
8090
772e23da 80912009-02-13 Colin D Bennett <colin@gibibit.com>
8092
8093 Support multiple fallback entries, and provide an API to support
8094 executing default+fallback menu entries. Renamed the `terminal' menu
8095 viewer to `text'.
8096
8097 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
8098 variable declaration.
8099 (grub_menu_execute_callback): New structure declaration.
8100 (grub_menu_execute_callback_t): New typedef.
8101 (grub_menu_execute_with_fallback): New function declaration.
8102 (grub_menu_get_entry): Likewise.
8103 (grub_menu_get_timeout): Likewise.
8104 (grub_menu_set_timeout): Likewise.
8105
8106 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
8107
8108 * normal/menu.c (grub_wait_after_message): Moved to
8109 `normal/menu_text.c'.
8110 (draw_border): Likewise.
8111 (print_message): Likewise.
8112 (print_entry): Likewise.
8113 (print_entries): Likewise.
8114 (grub_menu_init_page): Likewise.
8115 (get_entry_number): Likewise.
8116 (print_timeout): Likewise.
8117 (run_menu): Likewise.
8118 (grub_menu_execute_entry): Likewise.
8119 (show_text_menu): Likewise.
8120 (get_and_remove_first_entry_number): New function.
8121 (grub_menu_execute_with_fallback): Likewise.
8122 (get_entry): Renamed to ...
8123 (grub_menu_get_entry): .. this and made it global.
8124 (get_timeout): Renamed to ...
8125 (grub_menu_get_timeout): ... this and made it global.
8126 (set_timeout): Renamed to ...
8127 (grub_menu_set_timeout): ... this and made it global.
8128 (grub_normal_terminal_menu_viewer): Renamed to ...
8129 (grub_normal_text_menu_viewer): ... this.
8130
8131 * normal/menu_text.c: New file. Extracted text-menu-specific code
8132 from normal/menu.c.
8133
8134 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
8135 (normal_mod_SOURCES): Likewise.
8136
8137 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8138 (normal_mod_SOURCES): Likewise.
8139
8140 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8141 (normal_mod_SOURCES): Likewise.
8142
8143 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
8144 (normal_mod_SOURCES): Likewise.
8145
8146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8147 (normal_mod_SOURCES): Likewise.
8148
8149 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8150 (normal_mod_SOURCES): Likewise.
8151
8152 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8153 (normal_mod_SOURCES): Likewise.
8154
16ac430e 81552009-02-11 Robert Millan <rmh@aybabtu.com>
8156
8157 * util/grub.d/00_header.in: Update old reference to `font' command.
8158
06ff20fc 81592009-02-10 Felix Zielcke <fzielcke@z-51.de>
8160
8161 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
8162
8163 Based on patch from Javier Martín.
8164
96da9407 81652009-02-09 Felix Zielcke <fzielcke@z-51.de>
8166
8167 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 8168 to avoid false positives with FAT.
96da9407 8169 (grub_fstest_SOURCES): Likewise.
8170 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8171 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8173 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8174 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8175 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8176
6dca6fe4 81772009-02-09 Felix Zielcke <fzielcke@z-51.de>
8178
06ff20fc 8179 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 8180 bpb.version_specific.fat12_or_fat16.fstype and
8181 bpb.version_specific.fat32.fstype.
8182
2550c62f 81832009-02-08 Robert Millan <rmh@aybabtu.com>
8184
be110b30 8185 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 8186
56978920 81872009-02-08 Robert Millan <rmh@aybabtu.com>
8188
8189 * Makefile.in (host_os, host_cpu): New variables.
8190 (target_os): Remove. Update all users.
8191
d64399b5 81922009-02-08 Marco Gerards <marco@gnu.org>
8193
8194 * Makefile.in (enable_grub_emu_usb): New variable.
8195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
8196 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
8197 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
8198 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
8199 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
8200 `usbtest.mod' and `usbms.mod'.
8201 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
8202 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
8203 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
8204 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
8205 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
8206 variables.
8207
8208 * disk/usbms.c: New file.
8209
8210 * include/grub/usb.h: Likewise.
8211
8212 * include/grub/usbtrans.h: Likewise.
8213
8214 * include/grub/usbdesc.h: Likewise.
8215
8216 * bus/usb/usbtrans.c: Likewise.
8217
8218 * bus/usb/ohci.c: Likewise.
8219
8220 * bus/usb/uhci.c: Likewise.
8221
8222 * bus/usb/usbhub.c: Likewise.
8223
8224 * bus/usb/usb.c: Likewise.
8225
8226 * commands/usbtest.c: Likewise.
8227
8228 * util/usb.c: Likewise.
50fb7002 8229
d64399b5 8230 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
8231
8232 * configure.ac: Test for libusb presence.
50fb7002 8233
d64399b5 8234 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
8235
2b40d6bb 82362009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
8237
8238 * kern/mm.c: Add more comments.
8239
73a4ce81 82402009-02-08 Robert Millan <rmh@aybabtu.com>
8241
8242 Patch from Javier Martín.
8243 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
8244 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
8245
f821ce59 82462009-02-08 Robert Millan <rmh@aybabtu.com>
8247
8248 * fs/cpio.c: Split tar functionality to ...
8249 * fs/tar.c: ... here (new file). Update all users.
8250
aebfc4b0 82512009-02-07 Robert Millan <rmh@aybabtu.com>
8252
8253 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
8254 backward-incompatible features.
8255
8256 Based on patch from Javier Martín, with some adjustments.
8257
50fb7002 82582009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 8259
8260 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
8261
0bb5115e 82622009-02-07 Robert Millan <rmh@aybabtu.com>
8263
8264 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
8265 position of `disk/lvm.c' to ensure grub_init_all() always picks it
8266 after the RAID stuff.
8267
38a0f8e7 82682009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
8269
50fb7002 8270 Fixes problem when running vbetest command as reported by
38a0f8e7 8271 Vladimir Serbinenko <phcoder@gmail.com>.
8272
8273 * (grub_vbe_set_video_mode): Fixed problem with text modes.
8274
3143cc1c 82752009-02-04 Felix Zielcke <fzielcke@z-51.de>
8276
8277 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
8278 /dev/md/NpN style mdraid devices.
8279
9cba6fce 82802009-02-03 Felix Zielcke <fzielcke@z-51.de>
8281
8282 * util/unifont2pff.rb: Remove.
8283
e507a2c1 82842009-02-03 Felix Zielcke <fzielcke@z-51.de>
8285
8286 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
8287 `#'.
8288
d2c2b4cd 82892009-02-03 Felix Zielcke <fzielcke@z-51.de>
8290
8291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
8292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8293 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8296 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8298
b4315fb0 82992009-02-02 Christian Franke <franke@computer.org>
8300
8301 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
8302
de3aa260 83032009-02-01 Felix Zielcke <fzielcke@z-51.de>
8304
7c3ff286 8305 * INSTALL: Note that we now require at least autoconf 2.59 and
8306 that LZO is optional.
de3aa260 8307
825a182b 83082009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8309
8310 Base on patch on bug #24154 created by Tomas Tintera
8311 <trosos@seznam.cz>.
8312
8313 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
8314
a69ef770 83152009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8316
7c3ff286 8317 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 8318 <bero@arklinux.org>.
8319
8320 * normal/parser.y (script_init): Add missing semicolon.
8321
6fa42fa6 83222009-01-31 Colin D Bennett <colin@gibibit.com>
8323
7c3ff286 8324 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 8325 (free_menu_entry_classes): Added.
8326 (grub_normal_menu_addentry): Added class property handling.
8327 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
8328 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
8329
8330 * normal/menu_viewer.c: New file.
8331
8332 * normal/menu.c (run_menu_entry): Renamed to ...
8333 (grub_menu_execute_entry): ... this and made it as global.
8334 (grub_menu_run): Renamed to ...
8335 (show_text_menu): ... this and made it local.
8336 (show_text_menu): Adapt to new function names.
8337 (grub_normal_terminal_menu_viewer): New global variable.
8338
8339 * include/grub/menu.h: New file.
8340
8341 * include/grub/menu_viewer.h: New file.
8342
8343 * include/grub/normal.h: Added include to grub/menu.h.
8344 (grub_menu_entry): Moved to include/grub/menu.h.
8345 (grub_menu_entry_t): Likewise.
8346 (grub_menu): Likewise.
8347 (grub_menu_t): Likewise.
8348 (grub_normal_terminal_menu_viewer): Added.
8349 (grub_menu_execute_entry): Likewise.
8350 (grub_menu_run): Removed.
8351
8352 * DISTLIST: Added include/grub/menu.h.
8353 Added include/grub/menu_viewer.h.
8354 Added normal/menu_viewer.c.
8355
83562009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
8357
8358 * normal/execute.c (grub_script_execute_menuentry): Changed to use
8359 arglist for menutitle arguments.
8360
8361 * normal/main.c (grub_normal_menu_addentry): Likewise.
8362
8363 * normal/parser.y (menuentry): Likewise.
8364
8365 * normal/script.c (grub_script_create_cmdmenu): Likewise.
8366
8367 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
8368 (grub_script_create_cmdmenu): Likewise.
8369
8370 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
8371
8372 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
8373 changes.
8374
8375 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
8376
8377 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
8378
8379 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
8380
8381 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8382
8383 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8384
8385 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8386
56192c23 83872009-01-30 Christian Franke <franke@computer.org>
8388
8389 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
8390 in option help text.
8391
d72521b3 83922009-01-27 Pavel Roskin <proski@gnu.org>
8393
8394 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
8395
994b5e84 83962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8397
8398 * commands/lsmmap.c: Add include to grub/machine/memory.h.
8399
8400 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
8401
8402 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
8403 unregister function.
8404
6a7eab2c 84052009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8406
8407 * disk/scsi.c (grub_scsi_read): Fix sign problem.
8408
8409 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
8410
8411 * util/grub-mkfont.c (usage): Fix typo.
8412
8413 * util/elf/grub-mkimage.c (load_modules): Fix warning.
8414
1806b56e 84152009-01-26 Daniel Mierswa <impulze@impulze.org>
8416
3fb18f09 8417 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
8418
336e1fb9 8419 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
8420
1806b56e 8421 * kern/misc.c (grub_strcasecmp): New function.
8422 (grub_strcasecmp): Use grub_size_t instead of int for length.
8423 Fix return value.
8424 * include/grub/misc.h: Update function prototypes.
8425
580b2a0f 84262009-01-26 Robert Millan <rmh@aybabtu.com>
8427
8428 * configure.ac: Fix cross-compilation check.
ef257b36 8429
d31c24f1 84302009-01-22 Christian Franke <franke@computer.org>
8431
8432 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
8433 (precision) digit string. Allow `.format2' without `format1' (width).
8434 Limit input chars for `%s' output to `format2' if specified. This is
8435 compatible with standard printf ().
8436
3138b44c 84372009-01-22 Christian Franke <franke@computer.org>
8438
8439 * disk/ata.c (grub_ata_wait_status): Replace by ...
8440 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
8441 other status bits may be invalid while BSY is asserted.
8442 (grub_ata_check_ready): New function.
8443 (grub_ata_cmd): Removed.
8444 (grub_ata_wait_drq): New function.
8445 (grub_ata_strncpy): Remove inline.
8446 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
8447 and error check now done by grub_ata_wait_drq ().
8448 (grub_ata_pio_write): Likewise.
8449 (grub_atapi_identify): Set DEV before check for !BSY. Use
8450 grub_ata_wait_drq () to wait for data.
8451 (grub_ata_device_initialize): Add status register check to
8452 detect missing SATA slave devices. Add debug messages.
8453 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
8454 (grub_atapi_packet): Set DEV before check for !BSY. Replace
8455 transfer loop by grub_ata_pio_write ().
8456 (grub_ata_identify): Set DEV before check for !BSY. Use
8457 grub_ata_wait_drq () to wait for data.
ef257b36 8458 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 8459 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
8460 read/write in one loop. Fix invalid command on write. Fix incomplete
8461 command on (size % batch) == 0. Add missing error check after write of
8462 last block. Add debug messages.
8463 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
8464
59a64ef6 84652009-01-19 Christian Franke <franke@computer.org>
8466
8467 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
8468 (GRUB_ATAPI_IREASON_*): Likewise.
8469 (grub_ata_pio_write): Fix timeout error return.
8470 (grub_atapi_identify): Add grub_ata_wait () after cmd.
8471 (grub_atapi_wait_drq): New function.
8472 (grub_atapi_packet): New parameter `size'.
8473 Use grub_atapi_wait_drq () and direct write instead of
8474 grub_ata_pio_write ().
8475 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
8476 reads the number of bytes requested by the device for each DRQ
8477 assertion.
8478 (grub_atapi_write): Remove old implementation, return not
8479 implemented instead.
8480
1cfe20b3 84812009-01-19 Christian Franke <franke@computer.org>
8482
8483 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
8484 of 512 to calculate data size.
8485 (grub_scsi_read12): Likewise.
8486 (grub_scsi_write10): Likewise.
8487 (grub_scsi_write12): Likewise.
8488 (grub_scsi_read): Adjust size according to blocksize.
8489 Add checks for invalid blocksize and unaligned transfer.
8490
bee5fe5d 84912009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
8492
8493 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
8494
ef257b36 8495 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 8496 width glyphs.
8497
3e643f8c 84982009-01-19 Robert Millan <rmh@aybabtu.com>
8499
8500 * config.guess: Update to latest version from config git.
8501 * config.sub: Likewise.
8502
4fa80998 85032009-01-17 Felix Zielcke <fzielcke@z-51.de>
8504
8505 * Makefile.in: Change font compilation to use new grub-mkfont instead
8506 of java version.
8507
8508 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
8509 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
8510 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8511 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8512 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
8513 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
8514 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
8515 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
8516 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
8517
7086085b 85182009-01-16 Christian Franke <franke@computer.org>
8519
8520 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
8521 (enum grub_ata_timeout_milliseconds): New enum.
8522 (grub_ata_wait_status): Add parameter milliseconds.
8523 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
8524 recovery from timed-out commands.
8525 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
8526 return grub_errno instead of REG_ERROR.
8527 (grub_ata_pio_write): Add parameter milliseconds.
8528 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
8529 Pass milliseconds to grub_ata_wait_status () and
8530 grub_ata_pio_read ().
8531 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
8532 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
8533 grub_ata_wait_status (). Fix IDENTIFY timeout check.
8534 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
8535 It is not suitable for device detection, because DEV bit is ignored,
8536 the command may run too long, and not all devices set the signature
8537 properly.
8538 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
8539 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
8540 Fix device selection, DEV bit must be set first to address the registers
8541 of the correct device.
8542 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
8543 grub_ata_pio_read/write ().
8544 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
8545 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
8546
4a412913 85472009-01-13 Carles Pina i Estany <carles@pina.cat>
8548
8549 * util/grub-editenv.c (main): Use fseeko(), not fseek().
8550
7795c55e 85512009-01-13 Bean <bean123ch@gmail.com>
d913988c 8552
8553 * util/grub-mkfont.c (write_font): forget to remove some debug code.
8554
7795c55e 85552009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 8556
8557 * Makefile.in: (enable_grub_mkfont): New variable.
8558 (freetype_cflags): Likewise.
8559 (freetype_libs): Likewise.
8560
8561 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
8562 (grub_mkfont_SOURCES): New variable.
8563 (grub_mkfont_CFLAGS): Likewise.
8564 (grub_mkfont_LDFLAGS): Likewise.
8565
8566 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
8567 library if `--enable-grub-mkfont' is requested.
8568 (enable_grub_mkfont): New variable.
8569 (freetype_cflags): Likewise.
8570 (freetype_libs): Likewise.
8571
8572 * util/grub-mkfont.c: New file.
8573
093af1fe 85742009-01-12 Christian Franke <franke@computer.org>
8575
8576 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
8577 mode check. Fix setting of compat_use[].
8578
f36cc108 85792009-01-10 Robert Millan <rmh@aybabtu.com>
8580
8581 Update a few copyright years which we forgot to do in 2008 (only for
8582 files whose changes made in 2008 were copyright-significant)
8583
8584 * Makefile.in: Add 2008 to Copyright line.
8585 * disk/ieee1275/ofdisk.c: Likewise.
8586 * disk/efi/efidisk.c: Likewise.
8587 * kern/dl.c: Likewise.
8588 * kern/sparc64/ieee1275/init.c: Likewise.
8589 * kern/mm.c: Likewise.
8590 * kern/efi/mm.c: Likewise.
8591 * boot/i386/pc/boot.S: Likewise.
8592 * genfslist.sh: Likewise.
8593 * fs/iso9660.c: Likewise.
8594 * fs/hfs.c: Likewise.
8595 * fs/jfs.c: Likewise.
8596 * fs/minix.c: Likewise.
8597 * fs/ufs.c: Likewise.
8598 * gensymlist.sh.in: Likewise.
8599 * genkernsyms.sh.in: Likewise.
8600 * include/grub/misc.h: Likewise.
8601 * include/grub/types.h: Likewise.
8602 * include/grub/symbol.h: Likewise.
8603 * include/grub/elf.h: Likewise.
8604 * include/grub/kernel.h: Likewise.
8605 * include/grub/disk.h: Likewise.
8606 * include/grub/dl.h: Likewise.
8607 * include/grub/i386/linux.h: Likewise.
8608 * include/grub/i386/pc/biosdisk.h: Likewise.
8609 * include/grub/efi/api.h: Likewise.
8610 * include/grub/efi/pe32.h: Likewise.
8611 * include/grub/util/misc.h: Likewise.
8612 * normal/execute.c: Likewise.
8613 * normal/arg.c: Likewise.
8614 * normal/completion.c: Likewise.
8615 * normal/lexer.c: Likewise.
8616 * normal/parser.y: Likewise.
8617 * normal/misc.c: Likewise.
8618 * commands/i386/pc/vbeinfo.c: Likewise.
8619 * commands/hexdump.c: Likewise.
8620 * commands/terminal.c: Likewise.
8621 * commands/ls.c: Likewise.
8622 * commands/help.c: Likewise.
8623 * partmap/pc.c: Likewise.
8624 * loader/efi/chainloader.c: Likewise.
8625 * loader/multiboot_loader.c: Likewise.
8626 * loader/i386/pc/multiboot2.c: Likewise.
8627 * term/efi/console.c: Likewise.
8628 * term/i386/pc/serial.c: Likewise.
8629 * util/lvm.c: Likewise.
8630 * util/console.c: Likewise.
8631 * util/i386/efi/grub-mkimage.c: Likewise.
8632 * util/raid.c: Likewise.
8633
7f02114b 86342009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
8635
8636 * commands/videotest.c: Removed include to grub/machine/memory.h.
8637
8638 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
8639 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
8640 (video_mod_SOURCES): Removed.
8641 (video_mod_CFLAGS): Likewise.
8642 (video_mod_LDFLAGS): Likewise.
8643 (gfxterm_mod_SOURCES): Likewise.
8644 (gfxterm_mod_CFLAGS): Likewise.
8645 (gfxterm_mod_LDFLAGS): Likewise.
8646 (videotest_mod_SOURCES): Likewise.
8647 (videotest_mod_CFLAGS): Likewise.
8648 (videotest_mod_LDFLAGS): Likewise.
8649 (bitmap_mod_SOURCES): Likewise.
8650 (bitmap_mod_CFLAGS): Likewise.
8651 (bitmap_mod_LDFLAGS): Likewise.
8652 (tga_mod_SOURCES): Likewise.
8653 (tga_mod_CFLAGS): Likewise.
8654 (tga_mod_LDFLAGS): Likewise.
8655 (jpeg_mod_SOURCES): Likewise.
8656 (jpeg_mod_CFLAGS): Likewise.
8657 (jpeg_mod_LDFLAGS): Likewise.
8658 (png_mod_SOURCES): Likewise.
8659 (png_mod_CFLAGS): Likewise.
8660 (png_mod_LDFLAGS): Likewise.
8661
8662 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
8663 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
8664 (video_mod_SOURCES): Added.
8665 (video_mod_CFLAGS): Likewise.
8666 (video_mod_LDFLAGS): Likewise.
8667 (videotest_mod_SOURCES): Likewise.
8668 (videotest_mod_CFLAGS): Likewise.
8669 (videotest_mod_LDFLAGS): Likewise.
8670 (bitmap_mod_SOURCES): Likewise.
8671 (bitmap_mod_CFLAGS): Likewise.
8672 (bitmap_mod_LDFLAGS): Likewise.
8673 (tga_mod_SOURCES): Likewise.
8674 (tga_mod_CFLAGS): Likewise.
8675 (tga_mod_LDFLAGS): Likewise.
8676 (jpeg_mod_SOURCES): Likewise.
8677 (jpeg_mod_CFLAGS): Likewise.
8678 (jpeg_mod_LDFLAGS): Likewise.
8679 (png_mod_SOURCES): Likewise.
8680 (png_mod_CFLAGS): Likewise.
8681 (png_mod_LDFLAGS): Likewise.
8682 (gfxterm_mod_SOURCES): Likewise.
8683 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 8684 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 8685
8686 * term/gfxterm.c: Removed include to grub/machine/memory.h,
8687 grub/machine/console.h.
8688
644fff97 86892009-01-04 Jerone Young <jerone@gmail.com>
8690
8691 Make on screen instructions clearer
8692
8693 Based on patch created by Jidanni <jidanni@jidanni.org>
8694
8695 * normal/menu.c: print clearer instructions on the screen
8696
1e901a75 86972009-01-02 Colin D Bennett <colin@gibibit.com>
8698
8699 New font engine.
34c44600 8700
1e901a75 8701 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
8702 build system and fixed gfxterm.c to work with different sized fonts.
8703
8704 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 8705
1e901a75 8706 * configure: Re-generated.
34c44600 8707
1e901a75 8708 * DISTLIST: Removed font/manager.c.
8709 Added font/font.c.
8710 Added font/font_cmd.c.
34c44600 8711
1e901a75 8712 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
8713 compilation.
34c44600 8714
1e901a75 8715 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 8716
8717 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 8718
8719 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 8720
1e901a75 8721 * normal/menu.c: Likewise.
34c44600 8722
1e901a75 8723 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
8724 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 8725
1e901a75 8726 * include/grub/font.h: Replaced with new file.
34c44600 8727
1e901a75 8728 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
8729 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
8730 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
8731 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
8732 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 8733 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 8734 fg_red, fg_green, fg_blue, fg_alpha.
8735 (grub_video_adapter): Removed blit_glyph.
34c44600 8736 (grub_video_blit_glyph): Removed.
8737
1e901a75 8738 * font/manager.c: Removed file.
34c44600 8739
8740 * font/font.c: New file.
8741
1e901a75 8742 * font/font_cmd.c: Likewise.
34c44600 8743
1e901a75 8744 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 8745
1e901a75 8746 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
8747 (grub_video_vbe_map_rgba): Likewise.
8748 (grub_video_vbe_unmap_color_int): Likewise.
8749 (grub_video_vbe_blit_glyph): Removed.
8750 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 8751
1e901a75 8752 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
8753 (get_pixel): Likewise.
34c44600 8754 (set_pixel): Likewise.
8755
1e901a75 8756 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 8757
1e901a75 8758 * term/gfxterm.c: Adapted to new font engine.
34c44600 8759
1e901a75 8760 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 8761
1e901a75 8762 * term/i386/pc/vga.c: Likewise.
34c44600 8763
1e901a75 8764 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 8765
1e901a75 8766 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 8767
1e901a75 8768 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8769
1e901a75 8770 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8771
1e901a75 8772 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 8773
1e901a75 8774 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 8775
1e901a75 8776 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 8777
1e901a75 8778 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 8779
1e901a75 8780 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
8781
8782 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 8783
1e901a75 8784 * util/grub-mkconfig_lib.in: Changed font extension.
8785
278922e8 87862008-12-28 Felix Zielcke <fzielcke@z-51.de>
8787
8788 * util/getroot.c (grub_util_get_grub_dev): Add support for
8789 /dev/md/dNNpNN style partitionable mdraid devices.
8790
3ced05cf 87912008-12-12 Alex Smith <alex@alex-smith.me.uk>
8792
8793 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
8794 at a time limit of the PXE TFTP API correctly.
8795 (grub_pxefs_close): Likewise.
8796
7fd0ee30 87972008-11-29 Robert Millan <rmh@aybabtu.com>
8798
34c44600 8799 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 8800 grub_ata_device_initialize() calls.
8801
34c44600 88022008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 8803
8804 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
8805 iteration failed.
8806 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
8807
89313780 88082008-11-28 Robert Millan <rmh@aybabtu.com>
8809
8810 Fix build on powerpc-ieee1275. Based on patch created by
8811 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
8812 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8813 `kern/ieee1275/mmap.c'.
8814 * include/grub/powerpc/ieee1275/memory.h: New file.
8815
15257703 8816 Provide grub-install on coreboot.
8817 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
8818 (grub_install_SOURCES): New variable.
8819 * util/i386/pc/grub-install.in: Add a few condition checks to make it
8820 usable on coreboot.
8821
9fc5388a 88222008-11-25 Felix Zielcke <fzielcke@z-51.de>
8823
8824 * util/grub-fstest.c (grub_term_get_current_input): Change return type
8825 to `grub_term_input_t'.
8826 (grub_term_get_current_output): Change return type to
8827 `grub_term_output_t'.
8828
bc3a2f31 88292008-11-22 Robert Millan <rmh@aybabtu.com>
8830
34c44600 8831 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 8832 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
8833 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
8834 grub_vga_text_cls().
8835
80fc88f2 8836 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 8837 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 8838
cbf36fd3 8839 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
8840 to 0x200000 (avoids trouble with some OFW implementations, and matches
8841 with the one in Yaboot).
8842 Reported by Manoel Abranches
8843
73e8e268 88442008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 8845
8846 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
8847 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
8848
73e8e268 8849 * util/grub-mkconfig_lib.in (grub_warn): New function.
8850 (convert_system_path_to_grub_path): Use grub_warn() when issuing
8851 warnings, to obtain consistent formatting.
8852 * util/grub.d/00_header.in: Likewise.
8853 * util/update-grub_lib.in: Likewise.
8854
e94045a1 8855 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 8856 Move comment text to `#error' stanza.
e94045a1 8857
79d29fd7 8858 Harmonize ieee1275's grub_available_iterate() with the generic
8859 grub_machine_mmap_iterate() interface (fixes a recently-introduced
8860 build problem on i386-ieee1275):
8861 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
8862 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
8863 parameter `type'. Update all users of this function.
8864 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
8865 `kern/ieee1275/mmap.c'.
8866 * kern/ieee1275/init.c
8867 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
8868 with ...
8869 (grub_machine_mmap_iterate): ... this.
8870 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
8871 return type to `grub_err_t'. Update all implementations of this
8872 function prototype.
8873 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
8874 Likewise.
8875
60d6b16e 8876 Add `lsmmap' command (lists firmware-provided memory map):
8877 * commands/lsmmap.c: New file.
8878 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
8879 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
8880 variables.
8881 * conf/powerpc-ieee1275.rmk: Likewise.
8882 * conf/i386-coreboot.rmk: Likewise.
8883 * conf/i386-ieee1275.rmk: Likewise.
8884
ebaaf49b 88852008-11-19 Robert Millan <rmh@aybabtu.com>
8886
8887 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 8888 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
8889 constraints to initrd allocation (based on code from
8890 loader/i386/pc/linux.c). Without them, initrd was allocated too high
8891 for Linux to find it.
ebaaf49b 8892
dfab719f 88932008-11-14 Robert Millan <rmh@aybabtu.com>
8894
8895 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
8896 order to cope with duplicate slashes.
8897
10fc3eb9 88982008-11-14 Robert Millan <rmh@aybabtu.com>
8899
8900 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
8901 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
8902 don't want to mess with lower memory, because it is used in the Linux
8903 loader.
8904
8905 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 8906 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 8907 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
8908 is in our heap (probably as a result of it being corrupted during
2f2a3442 8909 decompression). Add #error instance with comment to explain why this
8910 loader isn't currently usable on PC/BIOS.
10fc3eb9 8911
e2e07847 89122008-11-14 Robert Millan <rmh@aybabtu.com>
8913
8914 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 8915 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 8916
fe8e8d69 89172008-11-12 Robert Millan <rmh@aybabtu.com>
8918
8919 Make loader/i386/linux.c buildable on i386-pc (although disabled).
8920
8921 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
8922 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
8923 from here ...
8924 * include/grub/i386/pc/memory.h: ... to here.
8925
976b07d0 89262008-11-12 Robert Millan <rmh@aybabtu.com>
8927
8928 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
8929 split).
8930
8931 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
8932 (grub_console_cur_color, grub_console_real_putchar)
8933 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8934 (grub_console_setcolorstate, grub_console_setcolor)
8935 (grub_console_getcolor): Move from here ...
8936 * include/grub/i386/vga_common.h: ... to here (new file).
8937
8938 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
8939 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
8940 `<grub/i386/io.h>'.
8941 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
8942 `<grub/i386/vga_common.h>'.
8943
76679cd3 89442008-11-12 Robert Millan <rmh@aybabtu.com>
8945
8946 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
8947 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
8948 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
8949 variables.
8950 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8951 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
8952
8953 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
8954 grub_console_init() with call to grub_vga_text_init().
8955 (grub_machine_fini): Replace call to
8956 grub_console_fini() with call to grub_vga_text_fini() and
8957 grub_at_keyboard_fini().
8958
8959 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
8960 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8961 (grub_console_setcolorstate, grub_console_setcolor)
8962 (grub_console_getcolor): New function prototypes.
8963
8964 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
8965 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
8966 (grub_vga_text_setcursor): Static-ize.
8967 (grub_vga_text_term): New structure.
8968 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
8969
8970 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
8971 (grub_console_cur_color, grub_console_standard_color)
8972 (grub_console_normal_color, grub_console_highlight_color)
8973 (map_char, grub_console_putchar, grub_console_getcharwidth)
8974 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
8975 (grub_console_getcolor): Move from here ...
8976 * term/i386/vga_common.c: ... to here (same function names).
8977
95b841d3 89782008-11-12 Robert Millan <rmh@aybabtu.com>
8979
8980 Use newly-added Multiboot support in coreboot.
8981
8982 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8983 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
8984
8985 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
8986 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
8987 (codestart): Store the MBI in `startup_multiboot_info' when we're
8988 being loaded using Multiboot.
8989
8990 * kern/i386/coreboot/init.c (grub_machine_init): Move
8991 grub_at_keyboard_init() call to beginning of function (useful for
8992 debugging). Call grub_machine_mmap_init() before attempting to use
8993 grub_machine_mmap_iterate().
8994 (grub_lower_mem, grub_upper_mem): Move from here ...
8995 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
8996 here (new file).
8997
8998 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
8999 function prototype.
9000
761ca975 90012008-11-12 Robert Millan <rmh@aybabtu.com>
9002
9003 Fix a regression introduced by the at_keyboard.mod split. Because
9004 some terminals are default on some platforms and non-default on
9005 others, the first terminal being registered determines which is
9006 going to be default.
9007
9008 * kern/term.c (grub_term_register_input): If this is the first
9009 terminal being registered, set it as the current one.
9010 (grub_term_register_output): Likewise.
9011
9012 * term/efi/console.c (grub_console_init): Do not call
9013 grub_term_set_current_output() or grub_term_set_current_input().
9014 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9015 * term/i386/pc/console.c (grub_console_init): Likewise.
9016 (grub_console_fini): Do not call grub_term_set_current_input()
9017 (but leave grub_term_set_current_output() to restore text mode).
9018
6c529df7 90192008-11-10 Robert Millan <rmh@aybabtu.com>
9020
9021 * util/grub.d/00_header.in: Add backward compatibility check for
9022 versions of terminal.mod that don't understand `terminal_input' or
9023 `terminal_output'.
9024
132e4113 90252008-11-09 Robert Millan <rmh@aybabtu.com>
9026
9027 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9028 `terminal_input' / `terminal_output', not `terminal'.
9029
ac293d50 90302008-11-08 Robert Millan <rmh@aybabtu.com>
9031
9032 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9033 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9034
0025933a 90352008-11-08 Robert Millan <rmh@aybabtu.com>
9036
9037 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9038 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9039 members. Update all users.
9040 * util/console.c (grub_ncurses_term): Split in ...
9041 (grub_ncurses_term_input): ... this, and ...
9042 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9043 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9044
37c86336 90452008-11-08 Robert Millan <rmh@aybabtu.com>
9046
9047 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9048 (PKGDATA): Add $(pkgdata_SRCDIR).
9049 (pkglib_BUILDDIR): New variable.
9050 (pkgdata_SRCDIR): New variable.
9051 (build_env.mk): New target.
9052 (include_DATA): New variable.
9053 (install-local): Install $(include_DATA) files in $(includedir).
9054
b6c15a2d 90552008-11-07 Pavel Roskin <proski@gnu.org>
9056
d99d46f1 9057 * gendistlist.sh: Use C locale for sorting to ensure consistent
9058 output on all systems.
9059
b6c15a2d 9060 * util/grub.d/00_header.in: Remove incorrect space before
9061 "serial".
9062
c32ee8c9 90632008-11-07 Robert Millan <rmh@aybabtu.com>
9064
9065 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
9066 per specification.
9067 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
9068 * loader/multiboot_loader.c (find_multi_boot2_header): New function
9069 (based on find_multi_boot1_header).
9070 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
9071 using find_multi_boot2_header(), and abort if neither Multiboot or
9072 Multiboot headers were found.
9073
651c29b7 90742008-11-07 Robert Millan <rmh@aybabtu.com>
9075
9076 Modularize at_keyboard.mod:
9077
9078 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
9079 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9080 (at_keyboard_mod_LDFLAGS): New variables.
9081
9082 Actual terminal split:
9083
9084 * include/grub/term.h (struct grub_term): Split in ...
9085 (struct grub_term_input): ... this, and ...
9086 (struct grub_term_output): ... this. Update all users.
9087 (grub_term_set_current): Split in ...
9088 (grub_term_set_current_input): ... this, and ...
9089 (grub_term_set_current_output): ... this.
9090 (grub_term_get_current): Split in ...
9091 (grub_term_get_current_input): ... this, and ...
9092 (grub_term_get_current_output): ... this.
9093 (grub_term_register): Split in ...
9094 (grub_term_register_input): ... this, and ...
9095 (grub_term_register_output): ... this.
9096 (grub_term_unregister): Split in ...
9097 (grub_term_unregister_input): ... this, and ...
9098 (grub_term_unregister_output): ... this.
9099 (grub_term_iterate): Split in ...
9100 (grub_term_iterate_input): ... this, and ...
9101 (grub_term_iterate_output): ... this.
9102
9103 * kern/term.c (grub_term_list): Split in ...
9104 (grub_term_list_input): ... this, and ...
9105 (grub_term_list_output): ... this. Update all users.
9106 (grub_cur_term): Split in ...
9107 (grub_cur_term_input): ... this, and ...
9108 (grub_cur_term_output): ... this. Update all users.
9109 (grub_term_set_current): Split in ...
9110 (grub_term_set_current_input): ... this, and ...
9111 (grub_term_set_current_output): ... this.
9112 (grub_term_get_current): Split in ...
9113 (grub_term_get_current_input): ... this, and ...
9114 (grub_term_get_current_output): ... this.
9115 (grub_term_register): Split in ...
9116 (grub_term_register_input): ... this, and ...
9117 (grub_term_register_output): ... this.
9118 (grub_term_unregister): Split in ...
9119 (grub_term_unregister_input): ... this, and ...
9120 (grub_term_unregister_output): ... this.
9121 (grub_term_iterate): Split in ...
9122 (grub_term_iterate_input): ... this, and ...
9123 (grub_term_iterate_output): ... this.
9124
9125 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
9126 a check for input and one for output (and only attempt to get keys
9127 from user when input works).
9128
9129 * util/grub-probe.c (grub_term_get_current): Split in ...
9130 (grub_term_get_current_input): ... this, and ...
9131 (grub_term_get_current_output): ... this.
9132 * util/grub-fstest.c: Likewise.
9133 * util/i386/pc/grub-setup.c: Likewise.
9134 * util/grub-editenv.c: Likewise.
9135
9136 Portability adjustments:
9137
9138 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
9139 `term/i386/pc/at_keyboard.c'.
9140 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
9141 grub_keyboard_controller_init() (now handled by terminal .init).
9142 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
9143 grub_at_keyboard_init().
9144 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
9145 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
9146 at_keyboard.mod via input terminal interface).
9147 * include/grub/i386/coreboot/console.h: Convert into a stub for
9148 `<grub/i386/pc/console.h>'.
9149
9150 Migrate full terminals to new API:
9151
9152 * term/efi/console.c (grub_console_term): Split into ...
9153 (grub_console_term_input): ... this, and ...
9154 (grub_console_term_output): ... this. Update all users.
9155 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
9156 (grub_ofconsole_init): Split into ...
9157 (grub_ofconsole_init_input): ... this, and ...
9158 (grub_ofconsole_init_output): ... this.
9159 (grub_ofconsole_term): Split into ...
9160 (grub_ofconsole_term_input): ... this, and ...
9161 (grub_ofconsole_term_output): ... this. Update all users.
9162 * term/i386/pc/serial.c (grub_serial_term): Split into ...
9163 (grub_serial_term_input): ... this, and ...
9164 (grub_serial_term_output): ... this. Update all users.
9165 * term/i386/pc/console.c (grub_console_term): Split into ...
9166 (grub_console_term_input): ... this, and ...
9167 (grub_console_term_output): ... this. Update all users.
9168 (grub_console_term_input): Only enable it on PC/BIOS platform.
9169 (grub_console_init): Remove grub_keyboard_controller_init() call.
9170
9171 Migrate input terminals to new API:
9172
9173 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
9174 `i386' and `i386/pc' to enable build on x86_64 (this driver is
9175 i386-specific anyway).
9176 (grub_console_checkkey): Rename to ...
9177 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
9178 users.
9179 (grub_keyboard_controller_orig): New variable.
9180 (grub_console_getkey): Rename to ...
9181 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
9182 users.
9183 (grub_keyboard_controller_init): Static-ize. Save original
9184 controller value so that it can be restored ...
9185 (grub_keyboard_controller_fini): ... here (new function).
9186 (grub_at_keyboard_term): New structure.
9187 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
9188 functions.
9189
9190 Migrate output terminals to new API:
9191
9192 * term/i386/pc/vga.c (grub_vga_term): Change type to
9193 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9194 members. Update all users.
9195 * term/gfxterm.c (grub_video_term): Change type to
9196 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9197 members. Update all users.
9198 * include/grub/i386/pc/console.h (grub_console_checkkey)
9199 (grub_console_getkey): Do not export (no longer needed by gfxterm,
9200 etc).
9201
9202 Migrate `terminal' command and userland tools to new API:
9203
9204 * commands/terminal.c (grub_cmd_terminal): Split into ...
9205 (grub_cmd_terminal_input): ... this, and ...
9206 (grub_cmd_terminal_output): ... this.
9207 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
9208 `terminal_input' and `terminal_output'.
9209 * util/grub.d/00_header.in: Adjust `terminal' calls to new
9210 `terminal_input' / `terminal_output' API.
9211 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
9212 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
9213 provided ${GRUB_TERMINAL}, convert it).
9214
96e5d876 92152008-11-04 Robert Millan <rmh@aybabtu.com>
9216
9217 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
9218 for FreeBSD.
9219 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
9220
556f3775 92212008-11-03 Bean <bean123ch@gmail.com>
9222
9223 * kern/elf.c (grub_elf32_load): Revert to previous code.
9224 (grub_elf64_load): Likewise.
9225
9226 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
9227
926b9823 92282008-11-01 Robert Millan <rmh@aybabtu.com>
9229
9230 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
9231 (TARGET_CPPFLAGS): Likewise.
9232 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
9233
1432e958 92342008-11-01 Carles Pina i Estany <carles@pina.cat>
9235
9236 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
9237
dba3f844 92382008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 9239
9240 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
9241 addition of objects until the code is not going to be able to fail.
9242
dba3f844 92432008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 9244
9245 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
9246 (add a missing NULL check, and correct them by moving the pointer
9247 operations after the actual check).
9248
7ab28c21 92492008-10-29 Robert Millan <rmh@aybabtu.com>
9250
9251 * util/i386/pc/grub-install.in: Handle empty string as output from
9252 make_system_path_relative_to_its_root().
9253
1b7748eb 92542008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
9255
9256 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
9257 circular metadata worst case scenario. If the metadata is circular
9258 then copy the wrap in place.
9259 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
9260 project lib/format_text/layout.h
9261 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
9262
c9618ab2 92632008-10-03 Felix Zielcke <fzielcke@z-51.de>
9264
7a36edca 9265 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 9266
bf981c62 92672008-10-03 Felix Zielcke <fzielcke@z-51.de>
9268
9269 * util/update-grub_lib.in: Mention filename in warning message.
9270
6d994591 92712008-09-29 Felix Zielcke <fzielcke@z-51.de>
9272
9273 * NEWS: Update for rename of update-grub to grub-mkconfig.
9274
18ade780 92752008-09-29 Felix Zielcke <fzielcke@z-51.de>
9276
9277 * util/update-grub_lib.in: Copy to ...
9278 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 9279 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 9280 * util/update-grub.in: Rename to ...
9281 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
9282 option. Add `--output' option to allow users to specify the generated
9283 configuration file. Default to stdout.
9284 (update_grub_dir): Rename to ...
9285 (grub_mkconfig_dir): ... this.
9286 (grub_cfg): Default to an empty string.
9287 * conf/common.rmk (update-grub): Rename to ...
9288 (grub-mkconfig): ... this.
9289 (update-grub_lib): Copy to ...
9290 (grub-mkconfig_lib): ... this.
9291 (update-grub_SCRIPTS): Copy to ...
9292 (grub-mkconfig_SCRIPTS): ... this. Update all users.
9293 (update-grub_DATA): Rename to ...
9294 (grub-mkconfig_DATA): ... this.
9295
556ce6ac 92962008-09-28 Robert Millan <rmh@aybabtu.com>
9297
9298 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
9299 to `modified'. Add the real `created' field.
9300 (grub_iso9660_uuid): Use `modified' rather than `created' for
9301 constructing the UUID.
9302
93032008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 9304
9305 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
9306 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
9307
92274e85 93082008-09-28 Bean <bean123ch@gmail.com>
9309
9310 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
9311 Thanks to Christian Franke for finding this bug.
9312
add6f17a 93132008-09-25 Robert Millan <rmh@aybabtu.com>
9314
9315 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
9316 instances of grub_util_get_disk_name() (see previous commit).
9317
d2a367b8 93182008-09-25 Robert Millan <rmh@aybabtu.com>
9319
9320 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
9321 `util/i386/get_disk_name.c'.
9322 * conf/i386-efi.rmk: Likewise.
9323 * conf/x86_64-efi.rmk: Likewise.
9324 * conf/i386-coreboot.rmk: Likewise.
9325 * conf/i386-ieee1275.rmk: Likewise.
9326 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
9327 `util/ieee1275/get_disk_name.c'.
9328 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
9329 * util/ieee1275/get_disk_name.c: Remove file.
9330 * util/i386/get_disk_name.c: Remove file.
9331 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
9332 "hd%d" for device.map entries, rather than using
9333 grub_util_get_disk_name().
9334
81a06771 93352008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 9336
9337 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
9338 warning.
9339 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
9340
5a004279 93412008-09-24 Carles Pina i Estany <carles@pina.cat>
9342
9343 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
9344 Changed to 0x5100.
9345 (GRUB_TERM_PPAGE): Changed to 0x4900.
9346
397093d3 93472008-09-24 Robert Millan <rmh@aybabtu.com>
9348
9349 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
9350 macros (they were i386-pc specific).
9351 * include/grub/sparc64/ieee1275/console.h: Likewise.
9352 * include/grub/efi/console.h: Likewise.
9353
a91b6c7c 93542008-09-22 Bean <bean123ch@gmail.com>
9355
9356 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
9357 resident and in attribute list.
9358
9359 * include/grub/ntfs.h (BMP_LEN): Removed.
9360
c40fd116 93612008-09-22 Bean <bean123ch@gmail.com>
9362
81a06771 9363 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 9364 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
9365
9366 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
9367 error occurs, as grub_disk_open will call grub_disk_close, which will
9368 call p->close (scsi).
9369
81a06771 93702008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 9371
9372 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
9373 (AC_PREREQ): Bumped to 2.59.
9374 (AC_TRY_COMPILE): Replace obsolete macro with ...
9375 (AC_COMPILE_IFELSE): ... this.
9376 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
9377 (AC_LINK_IFELSE): ... this.
9378
5dc43410 93792008-09-21 Felix Zielcke <fzielcke@z-51.de>
9380
9381 * autogen.sh: Add a call to `gendistlist.sh'.
9382
9035dce4 93832008-09-19 Christian Franke <franke@computer.org>
9384
9385 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
9386 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
9387 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
9388 Export __enable_execute_stack() to modules.
9389 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
9390 New function.
9391
7fd75377 93922008-09-09 Felix Zielcke <fzielcke@z-51.de>
9393
040030b3 9394 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
9395 Sort the list.
9396
93972008-09-09 Felix Zielcke <fzielcke@z-51.de>
9398
9399 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 9400 #include <grub/util/hostdisk.h>.
9401
89d5ffcf 94022008-09-08 Robert Millan <rmh@aybabtu.com>
9403
9404 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
9405 segments when their filesz is zero (grub_file_read() interprets
81a06771 9406 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 9407 Use `lowest_segment' rather than 0 for calculating the current
9408 segment load address.
9409
40da438f 94102008-09-08 Robert Millan <rmh@aybabtu.com>
9411
9412 * util/hostdisk.c (open_device): Replace a grub_util_info() call
9413 with grub_dprintf("hostdisk", ...), as it was so verbose that it
9414 clobbered useful information.
9415
ddbf5556 94162008-09-08 Robert Millan <rmh@aybabtu.com>
9417
9418 * include/grub/util/biosdisk.h: Move to ...
9419 * include/grub/util/hostdisk.h: ... here. Update all users.
9420 * util/biosdisk.c: Move to ...
9421 * util/hostdisk.c: ... here. Update all users.
9422
783d0f48 94232008-09-07 Robert Millan <rmh@aybabtu.com>
9424
9425 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
9426 variables.
9427 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
9428 and length can be stored directly in the `mbi->mmap_addr' and
9429 `mbi->mmap_length' struct fields.
9430
548e2ea5 94312008-09-07 Robert Millan <rmh@aybabtu.com>
9432
9433 * conf/i386.rmk: New file. Provides declaration for building
9434 `cpuid.mod'.
9435 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
9436 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
9437 variables.
9438 Include `conf/i386.mk'.
9439 * conf/i386-efi.rmk: Likewise.
9440 * conf/x86_64-efi.rmk: Likewise.
9441 * conf/i386-coreboot.rmk: Likewise.
9442 * conf/i386-ieee1275.rmk: Likewise.
9443
0ea85a37 94442008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
9445
9446 Based on patch created by Colin D Bennett <colin@gibibit.com>.
9447 Adds optimization support for BGR based modes.
9448
9449 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
9450 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9451 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9452 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9453 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9454 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9455 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9456 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9457 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9458 (grub_video_i386_vbeblit_index_index): Likewise.
9459 (grub_video_i386_vbeblit_replace_directN): Added.
9460 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9461 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9462 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9463 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9464 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9465 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 9466 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 9467 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9468 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9469 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9470 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9471 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9472 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
9473
9474 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
9475 (grub_video_i386_vbefill_R8G8B8): Likewise.
9476 (grub_video_i386_vbefill_index): Likewise.
9477 (grub_video_i386_vbefill_direct32): Added.
9478 (grub_video_i386_vbefill_direct24): Likewise.
9479 (grub_video_i386_vbefill_direct16): Likewise.
9480 (grub_video_i386_vbefill_direct8): Likewise.
9481
81a06771 9482 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 9483 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
9484 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
9485 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
9486 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
9487 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 9488
0ea85a37 9489 * video/video.c (grub_video_get_blit_format): Updated to use new
9490 blit formats. Added handling for 16 bit color modes.
81a06771 9491
9492 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 9493 fillers.
9494 (common_blitter): Updated to use new blitters.
9495
9496 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
9497 Removed.
9498 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9499 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9500 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9501 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9502 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9503 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9504 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9505 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9506 (grub_video_i386_vbeblit_index_index): Likewise.
9507 (grub_video_i386_vbeblit_replace_directN): Added.
9508 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9509 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9510 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9511 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9512 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9513 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
9514 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
9515 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9516 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9517 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9518 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9519 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9520 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 9521
0ea85a37 9522 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
9523 (grub_video_i386_vbefill_R8G8B8): Likewise.
9524 (grub_video_i386_vbefill_index): Likewise.
9525 (grub_video_i386_vbefill_direct32): Added.
9526 (grub_video_i386_vbefill_direct24): Likewise.
9527 (grub_video_i386_vbefill_direct16): Likewise.
9528 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 9529
0ea85a37 9530 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
9531 types.
81a06771 9532
0ea85a37 9533 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
9534 types.
81a06771 9535
0ea85a37 9536 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
9537 blitter types.
81a06771 9538
0ea85a37 9539 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
9540 types.
9541
e8a83df6 95422008-09-06 Felix Zielcke <fzielcke@z-51.de>
9543
9544 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
9545 RAID level 1.
9546
6bcd8ee5 95472008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 9548
6bcd8ee5 9549 * fs/iso9660.c (grub_iso9660_date): New structure.
9550 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
9551 (grub_iso9660_uuid): New function.
c375ae58 9552
59261157 95532008-09-05 Bean <bean123ch@gmail.com>
9554
9555 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
9556
9557 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
9558 insensitive bit for names in Win32 and Win32 & DOS namespace.
9559
9560 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
9561
9562 * include/grub/types.h (LONG_MAX): Likewise.
9563
58b6645a 95642008-09-04 Felix Zielcke <fzielcke@z-51.de>
9565
4ee55921 9566 * util/getroot.c: Include <config.h>.
9567 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
9568 add support for /dev/md/N devices and handle LVM double dash escaping.
9569
95702008-09-04 Felix Zielcke <fzielcke@z-51.de>
9571
9572 * config.guess: Update to latest version from config git.
9573 * config.sub: Likewise.
58b6645a 9574
9124f65d 95752008-09-03 Robert Millan <rmh@aybabtu.com>
9576
9577 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
9578 `disk->total_sectors'.
9579
81a06771 95802008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 9581
9582 * include/grub/normal.h: Fixed incorrect comment for
9583 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
9584
81a06771 95852008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 9586
9587 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
9588 values with defines.
9589
9590 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
9591 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
9592 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
9593 (GRUB_VBE_MODEATTR_COLOR): Likewise.
9594 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
9595 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
9596 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
9597 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
9598 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
9599 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
9600 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
9601 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
9602 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
9603 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
9604 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
9605 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
9606 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
9607 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
9608 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
9609
93d5cbf8 96102008-08-31 Robert Millan <rmh@aybabtu.com>
9611
9612 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
9613 declaration.
9614 (grub_multiboot): Fix a few warnings.
9615
21751d50 96162008-08-31 Robert Millan <rmh@aybabtu.com>
9617
9618 * loader/i386/pc/multiboot.c: Update comment not to say that
9619 boot_device support is unimplemented.
9620
e27a75c5 96212008-08-31 Robert Millan <rmh@aybabtu.com>
9622
9623 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
9624 or memory map support are unimplemented.
9625
81a06771 96262008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 9627
9628 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
9629
81a06771 96302008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 9631
9632 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
9633 total video memory in 'vbeinfo' output; show color format details for
9634 each video mode.
9635
7c5d8d95 96362008-08-30 Pavel Roskin <proski@gnu.org>
9637
9638 * util/genmoddep.c: Remove for real this time.
9639 * DISTLIST: Remove util/genmoddep.c.
9640
4cebd25a 96412008-08-30 Robert Millan <rmh@aybabtu.com>
9642
9643 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
9644 as required by Multiboot spec (it was already 4-byte aligned, but
9645 only by chance).
9646
b497a269 96472008-08-29 Pavel Roskin <proski@gnu.org>
9648
e3925185 9649 * kern/powerpc/ieee1275/crt0.S: Rename to ...
9650 * kern/powerpc/ieee1275/startup.S: ... this.
9651 * conf/powerpc-ieee1275.rmk: Adjust for the above.
9652 * DISTLIST: Likewise.
9653
b497a269 9654 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
9655 grub/cpu/kernel.h. Add start label for consistency with other
9656 platforms. Add grub_prefix immediately after start. Add jump
9657 to the code after grub_prefix.
9658 * include/grub/powerpc/kernel.h: Provide valid values for
9659 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
9660
6e5a42fe 96612008-08-29 Bean <bean123ch@gmail.com>
9662
9663 * configure.ac: Change host_os to cygwin for mingw.
9664 (asprintf): New check for function.
9665
9666 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
9667 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
9668
9669 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 9670 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 9671 sync, sleep and grub_util_get_disk_size for mingw.
9672
9673 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
9674 to get size in mingw.
9675 (open_device): Use flag O_BINARY if it's defined.
9676 (find_root_device): Add dummy code for mingw.
9677
9678 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
9679 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
9680 (get_scsi_disk_name): Return 0 for mingw.
9681
9682 * util/hostfs.c: #include <grub/util/misc.h>.
9683 (grub_hostfs_open): Use "rb" flag to open file, use
9684 grub_util_get_disk_size to get disk size for mingw.
9685
9686 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
9687 (asprintf): New function if HAVE_ASPRINTF is not set.
9688 (sync): New function for mingw.
9689 (sleep): Likewise.
9690 (grub_util_get_disk_size): Likewise.
9691
ab3f2673 96922008-08-28 Pavel Roskin <proski@gnu.org>
9693
9694 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9695 kern/time.c.
9696
1c282483 96972008-08-28 Robert Millan <rmh@aybabtu.com>
9698
9699 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
9700
678e849c 97012008-08-28 Robert Millan <rmh@aybabtu.com>
9702
9703 Change find_grub_drive() syntax so it doesn't prevent it from
9704 detecting NULL names as errors.
9705
9706 * util/biosdisk.c (find_grub_drive): Move free slot search code
9707 from here ...
9708 (find_free_slot): ... to here.
9709 (read_device_map): Use find_free_slot() to search for free slots.
9710
965c75ca 97112008-08-27 Marco Gerards <marco@gnu.org>
9712
9713 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
9714 (scsi_mod_SOURCES): New variable.
9715 (scsi_mod_CFLAGS): Likewise
9716 (scsi_mod_LDFLAGS): Likewise.
9717
9718 * disk/scsi.c: New file.
9719
9720 * include/grub/scsi.h: Likewise.
9721
9722 * include/grub/scsicmd.h: Likewise.
9723
9724 * disk/ata.c: Include <grub/scsi.h>.
9725 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
9726 instead.
9727 (grub_ata_iterate): Skip ATAPI devices.
9728 (grub_ata_open): Only handle ATAPI devices.
9729 (struct grub_atapi_read): Removed.
9730 (grub_atapi_readsector): Likewise.
9731 (grub_ata_read): No longer handle ATAPI devices.
9732 (grub_ata_write): Likewise.
9733 (grub_atapi_iterate): New function.
9734 (grub_atapi_read): Likewise.
9735 (grub_atapi_write): Likewise.
9736 (grub_atapi_open): Likewise.
9737 (grub_atapi_close): Likewise.
9738 (grub_atapi_dev): New variable.
9739 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
9740 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
9741
9742 * include/grub/disk.h (enum grub_disk_dev_id): Add
9743 `GRUB_DISK_DEVICE_SCSI_ID'.
9744
c07ae501 97452008-08-26 Robert Millan <rmh@aybabtu.com>
9746
9747 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
9748 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
9749 descriptive.
9750
5ed20adc 97512008-08-23 Bean <bean123ch@gmail.com>
9752
9753 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
9754 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9755 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
9756 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
9757 dm_nv.mod.
9758 (raid5rec_mod_SOURCES): New macro.
9759 (raid5rec_mod_CFLAGS): Likewise.
9760 (raid5rec_mod_LDFLAGS): Likewise.
9761 (raid6rec_mod_SOURCES): Likewise.
9762 (raid6rec_mod_CFLAGS): Likewise.
9763 (raid6rec_mod_LDFLAGS): Likewise.
9764 (mdraid_mod_SOURCES): Likewise.
9765 (mdraid_mod_CFLAGS): Likewise.
9766 (mdraid_mod_LDFLAGS): Likewise.
9767 (dm_nv_mod_SOURCES): Likewise.
9768 (dm_nv_mod_CFLAGS): Likewise.
9769 (dm_nv_mod_LDFLAGS): Likewise.
9770
9771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
9772 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9773 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9774
9775 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
9776 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9777
9778 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9779
9780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9781
9782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9783
9784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9785
9786 * disk/raid5_recover.c: New file.
9787
9788 * disk/raid6_recover.c: Likewise.
9789
9790 * disk/mdraid_linux.c: Likewise.
9791
9792 * disk/dmraid_nvidia.c: Likewise.
9793
9794 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
9795 ULONG_MAX.
9796
9797 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
9798 calculate the size of raid device.
9799 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
9800 different layout of raid5.
9801 (grub_raid_scan_device): Remove code specific to mdraid.
9802 (grub_raid_list): New variable.
9803 (free_array): New function.
9804 (grub_raid_register): Likewise.
9805 (grub_raid_unregister): Likewise.
9806 (grub_raid_rescan): Likewise.
9807 (GRUB_MOD_INIT): Don't iterate device here.
9808 (GRUB_MOD_FINI): Use free_array to release resource.
9809
9810 * include/grub/raid.h: Remove macro and structure specific to mdraid.
9811 (grub_raid5_recover_func_t): New function variable type.
9812 (grub_raid6_recover_func_t): Likewise.
9813 (grub_raid5_recover_func): New variable.
9814 (grub_raid6_recover_func): Likewise.
9815 (grub_raid_register): New function.
9816 (grub_raid_unregister): Likewise.
9817 (grub_raid_rescan): Likewise.
9818 (grub_raid_block_xor): Likewise.
9819
9820 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
9821 (CMD_CRC): New macro.
9822 (part): Removed.
9823 (read_file): Handle device as well as file.
9824 (cmd_crc): New function.
9825 (fstest): Handle multiple disks.
9826 (options): Remove part, raw and long, add root and diskcount.
9827 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 9828 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 9829 add handling for the new options, support multiple disks.
9830
9831 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
9832
29c18915 98332008-08-23 Bean <bean123ch@gmail.com>
9834
9835 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
9836
9837 * genfslist.sh: Ignore kernel.mod.
9838
9839 * genpartmaplist.sh: Likewise.
9840
8415f261 98412008-08-23 Robert Millan <rmh@aybabtu.com>
9842
9843 * util/getroot.c (find_root_device): Skip anything that starts with
9844 a dot, not just directories. This avoids things like /dev/.tmp.md0.
9845
d5a7dc5b 98462008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 9847
d5a7dc5b 9848 * util/update-grub.in (GRUB_GFXMODE): Export variable.
9849 * util/grub.d/00_header.in: Allow the administrator to change default
9850 gfxmode via ${GRUB_GFXMODE}.
9851
380cfbb4 98522008-08-21 Felix Zielcke <fzielcke@z-51.de>
9853
9854 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
9855
c9baafe7 98562008-08-21 Robert Millan <rmh@aybabtu.com>
9857
9858 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
9859 loader.
9860 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
9861 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
9862
e290bef2 98632008-08-20 Carles Pina i Estany <carles@pina.cat>
9864
9865 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
9866 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
9867
f9dbfc96 98682008-08-19 Robert Millan <rmh@aybabtu.com>
9869
9870 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
9871 (struct grub_virtual_screen): Remove `cursor_color'.
9872 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
9873 initialization.
9874 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
9875
dd6bd6ab 98762008-08-18 Robert Millan <rmh@aybabtu.com>
9877
9878 Unify (identical) linux_normal.c files.
9879 * loader/i386/efi/linux_normal.c: Move from here ...
9880 * loader/linux_normal.c: ... to here. Update all users.
9881 * loader/i386/pc/linux_normal.c: Delete. Update all users.
9882 * loader/i386/ieee1275/linux_normal.c: Likewise.
9883
7f42f83e 98842008-08-18 Robert Millan <rmh@aybabtu.com>
9885
9886 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
9887 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
9888 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
9889 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
9890 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
9891 New macros.
9892 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
9893 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
9894 (GRUB_LINUX_CL_END_OFFSET): ... to here.
9895 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
9896 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
9897 (GRUB_EFI_CL_END_OFFSET): Rename to ...
9898 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
9899 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
9900 Initialize `params->video_cursor_x' and `params->video_cursor_y'
9901 portably using grub_getxy().
9902 Replace `-EFI' with `-bzImage' in boot message.
9903
38487ddb 99042008-08-17 Robert Millan <rmh@aybabtu.com>
9905
9906 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
9907
deceb3ec 99082008-08-17 Robert Millan <rmh@aybabtu.com>
9909
9910 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
9911
9912 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
9913 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
9914 (grub_machine_mmap_iterate): New function declaration.
9915 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
9916 structure.
9917 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
9918 macros.
9919
9920 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
9921 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
9922 Move e820 parsing from here ...
9923 * kern/i386/pc/mmap.c: New file.
9924 (grub_machine_mmap_iterate): ... to here.
9925
9926 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
9927 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
9928 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
9929 (grub_available_iterate): Redeclare to return `void', and redeclare
9930 its hook to use grub_uint64_t as addr and size parameters, and rename
9931 to ...
9932 (grub_machine_mmap_iterate): ... this. Update all users.
9933
9934 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
9935 to make it more readable. Rename to ...
9936 (grub_machine_mmap_iterate): ... this.
9937
9938 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
9939 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
9940 (grub_multiboot): Allocate an extra region after the payload, and fill
9941 it with a Multiboot memory map. Adjust a.out loader to calculate size
9942 with the extra space.
9943 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
9944 with the extra space.
9945
f8aa0f43 99462008-08-17 Carles Pina i Estany <carles@pina.cat>
9947
9807deb9 9948 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 9949
605f5bb6 99502008-08-17 Felix Zielcke <fzielcke@z-51.de>
9951
9952 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
9953 mdate-sh to the list `find' searches for.
9954 * DISTLIST: Regenerated.
9955
210db6c6 99562008-08-16 Felix Zielcke <fzielcke@z-51.de>
9957
9958 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
9959 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 9960 genmoddep.awk, gensymlist.sh.in.
9961 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 9962 * DISTLIST: Regenerated.
48cdbfd4 9963 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 9964
1082b929 99652008-08-16 Robert Millan <rmh@aybabtu.com>
9966
9967 * disk/raid.c (grub_raid_init): Handle/report errors set by
9968 grub_device_iterate().
9969 * disk/lvm.c (grub_lvm_init): Likewise.
9970
42ce5170 99712008-08-15 Bean <bean123ch@gmail.com>
9972
9973 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9974 and datehook.mod.
9975 (datetime_mod_SOURCES): New macro.
9976 (datetime_mod_CFLAGS): Likewise.
9977 (datetime_mod_LDFLAGS): Likewise.
9978 (date_mod_SOURCES): Likewise.
9979 (date_mod_CFLAGS): Likewise.
9980 (date_mod_LDFLAGS): Likewise.
9981 (datehook_mod_SOURCES): Likewise.
9982 (datehook_mod_CFLAGS): Likewise.
9983 (datehook_mod_LDFLAGS): Likewise.
9984
9985 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9986 and datehook.mod.
9987 (datetime_mod_SOURCES): New macro.
9988 (datetime_mod_CFLAGS): Likewise.
9989 (datetime_mod_LDFLAGS): Likewise.
9990 (date_mod_SOURCES): Likewise.
9991 (date_mod_CFLAGS): Likewise.
9992 (date_mod_LDFLAGS): Likewise.
9993 (datehook_mod_SOURCES): Likewise.
9994 (datehook_mod_CFLAGS): Likewise.
9995 (datehook_mod_LDFLAGS): Likewise.
9996
9997 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9998 and datehook.mod.
9999 (datetime_mod_SOURCES): New macro.
10000 (datetime_mod_CFLAGS): Likewise.
10001 (datetime_mod_LDFLAGS): Likewise.
10002 (date_mod_SOURCES): Likewise.
10003 (date_mod_CFLAGS): Likewise.
10004 (date_mod_LDFLAGS): Likewise.
10005 (datehook_mod_SOURCES): Likewise.
10006 (datehook_mod_CFLAGS): Likewise.
10007 (datehook_mod_LDFLAGS): Likewise.
10008
10009 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10010 and datehook.mod.
10011 (datetime_mod_SOURCES): New macro.
10012 (datetime_mod_CFLAGS): Likewise.
10013 (datetime_mod_LDFLAGS): Likewise.
10014 (date_mod_SOURCES): Likewise.
10015 (date_mod_CFLAGS): Likewise.
10016 (date_mod_LDFLAGS): Likewise.
10017 (datehook_mod_SOURCES): Likewise.
10018 (datehook_mod_CFLAGS): Likewise.
10019 (datehook_mod_LDFLAGS): Likewise.
10020
10021 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10022 and datehook.mod.
10023 (datetime_mod_SOURCES): New macro.
10024 (datetime_mod_CFLAGS): Likewise.
10025 (datetime_mod_LDFLAGS): Likewise.
10026 (date_mod_SOURCES): Likewise.
10027 (date_mod_CFLAGS): Likewise.
10028 (date_mod_LDFLAGS): Likewise.
10029 (datehook_mod_SOURCES): Likewise.
10030 (datehook_mod_CFLAGS): Likewise.
10031 (datehook_mod_LDFLAGS): Likewise.
10032
10033 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10034
10035 * commands/date.c: New file.
10036
10037 * hook/datehook.c: Likewise.
10038
10039 * include/grub/lib/datetime.h: Likewise.
10040
10041 * include/grub/i386/cmos.h: Likewise.
10042
10043 * lib/datetime.c: Likewise.
10044
10045 * lib/i386/datetime.c: Likewise.
10046
10047 * lib/efi/datetime.c: Likewise.
10048
0e9242da 100492008-08-14 Robert Millan <rmh@aybabtu.com>
10050
10051 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10052 (grub_mkelfimage_SOURCES): New variable.
10053 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10054
10055 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10056 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10057 * conf/powerpc-ieee1275.rmk: Likewise.
10058 * conf/i386-ieee1275.rmk: Likewise.
10059
10060 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
10061 * kern/i386/coreboot/init.c: Likewise.
10062
10063 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
10064 with `<grub/cpu/kernel.h>'.
10065 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
10066 to ...
10067 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
10068 * kern/i386/coreboot/startup.S: Likewise.
10069
10070 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
10071 (GRUB_MOD_GAP): Remove.
10072 * include/grub/powerpc/kernel.h: New file.
10073 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
10074 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10075 * include/grub/i386/kernel.h: New file.
10076 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
10077 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
10078 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10079
10080 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
10081 `grub-mkelfimage'.
10082 Use --directory when invoking grub_mkimage.
10083
10084 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
10085 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
10086 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
10087 and GRUB_KERNEL_CPU_PREFIX.
10088
b86408f8 100892008-08-14 Felix Zielcke <fzielcke@z-51.de>
10090
d5e619ca 10091 * include/grub/err.h (grub_err_printf): New function prototype.
10092 * util/misc.c (grub_err_printf): New function.
10093 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
10094 grub_printf.
10095 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 10096
7161f0e0 100972008-08-13 Robert Millan <rmh@aybabtu.com>
10098
10099 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
10100
a1967522 101012008-08-13 Robert Millan <rmh@aybabtu.com>
10102
10103 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
10104 boot entry.
10105
371458b5 101062008-08-12 Robert Millan <rmh@aybabtu.com>
10107
10108 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
10109 of the relocation code from here ...
10110 (grub_multiboot): ... to here.
10111 (forward_relocator, backward_relocator): Move from here ...
10112 * kern/i386/loader.S (grub_multiboot_forward_relocator)
10113 (grub_multiboot_backward_relocator): ... to here.
10114 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
10115 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
10116 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
10117 (grub_multiboot_forward_relocator_end)
10118 (grub_multiboot_backward_relocator)
10119 (grub_multiboot_backward_relocator_end): New variables.
10120
05f9452b 101212008-08-12 Bean <bean123ch@gmail.com>
10122
10123 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
10124
20024ab0 101252008-08-11 Robert Millan <rmh@aybabtu.com>
10126
10127 * kern/i386/linuxbios/startup.S: Move from here ...
10128 * kern/i386/coreboot/startup.S: ... to here.
10129
10130 * kern/i386/linuxbios/init.c: Move from here ...
10131 * kern/i386/coreboot/init.c: ... to here.
10132
10133 * kern/i386/linuxbios/table.c: Move from here ...
10134 * kern/i386/coreboot/mmap.c: ... to here.
10135
10136 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
10137
e352e9cd 101382008-08-11 Robert Millan <rmh@aybabtu.com>
10139
10140 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
10141 errors. Leave it to the upper layer to handle them.
10142
2d05bc6a 101432008-08-09 Christian Franke <franke@computer.org>
10144
10145 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
10146 * conf/common.rmk: Install `grub-pe2elf' only if requested.
10147 Install `grub.d/10_windows' only on Cygwin.
10148 * configure.ac: Add subst of `target_os'.
10149 Check `target_os' also before setting TARGET_OBJ2ELF.
10150 Add `--enable-grub-pe2elf'.
10151
042bd419 101522008-08-08 Robert Millan <rmh@aybabtu.com>
10153
10154 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10155 (grub_last_time): Change type to grub_uint64_t.
10156 (grub_disk_open): Migrate code from to using grub_get_time_ms().
10157 (grub_disk_close): Likewise.
10158
10159 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10160 (run_menu): Migrate code from to using grub_get_time_ms().
10161
10162 * util/misc.c (grub_get_time_ms): New function.
10163
7f280db5 101642008-08-08 Marco Gerards <marco@gnu.org>
10165
10166 * disk/ata.c (grub_ata_regget): Change return type to
10167 `grub_uint8_t'.
10168 (grub_ata_regget2): Likewise.
10169 (grub_ata_wait_status): New function.
10170 (grub_ata_wait_busy): Removed function, updated all users to use
10171 `grub_ata_wait_status'.
10172 (grub_ata_wait_drq): Likewise.
10173 (grub_ata_cmd): New function.
10174 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
10175 error handling.
10176 (grub_ata_pio_write): Add error handling.
10177 (grub_atapi_identify): Likewise.
10178 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
10179 handling.
10180 (grub_ata_identify): Use `grub_ata_cmd' and improve error
10181 handling. Actually use the detected registers. Reorder the
10182 detection logic such that it is easier to read.
10183 (grub_ata_pciinit): Do not assign the same ID to each controller.
10184 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
10185 handling.
10186 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
10187
10188 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
10189
1fbc5e66 101902008-08-08 Marco Gerards <marco@gnu.org>
10191
10192 * NEWS: Update.
10193
819ce6c0 101942008-08-07 Bean <bean123ch@gmail.com>
10195
10196 * include/grub/x86_64/pci.h: New file.
10197
5c41d44d 101982008-08-07 Christian Franke <franke@computer.org>
10199
10200 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
10201 (TIMER2_GATE): Likewise.
10202 (grub_pit_wait): Add enable/disable of the timer2 gate
10203 bit of port 0x61. This fixes a possible infinite loop.
10204
5ebc275d 102052008-08-07 Bean <bean123ch@gmail.com>
10206
10207 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
10208 kern/i386/tsc.c and kern/i386/pit.c.
10209
10210 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
10211 x86_64 platform.
10212
10213 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
10214 <grub/i386/tsc.h>.
10215
10216 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
10217
e383b3d0 102182008-08-07 Bean <bean123ch@gmail.com>
10219
10220 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
10221
10222 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
10223
10224 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
10225 multiple inclusion. Add #include <grub/types.h>.
10226
1cbb58ac 102272008-08-06 Christian Franke <franke@computer.org>
10228
10229 * conf/common.rmk: Build and install `10_windows'.
10230 * util/grub.d/10_windows.in: New script.
10231
337f5a1e 102322008-08-06 Pavel Roskin <proski@gnu.org>
10233
10234 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
10235
057bc4ac 102362008-08-06 Robert Millan <rmh@aybabtu.com>
10237
10238 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
10239 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
10240
2b99f123 102412008-08-06 Bean <bean123ch@gmail.com>
10242
10243 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
10244 (grub_pxefs_fs_int): Remove dummy definition.
10245 (grub_pxefs_open): Use data->block_size to store the current block
10246 size setting.
10247 (grub_pxefs_read): Use block size stored in data->block_size. As the
10248 value of grub_pxe_blksize can be changed after the file is opened.
10249
9f0234cb 102502008-08-06 Bean <bean123ch@gmail.com>
10251
10252 * fs/i386/pc/pxe.c (curr_file): new variable.
10253 (grub_pxefs_open): Simply the handling of pxe file system. Don't
10254 require the dummy internal file system anymore.
10255 (grub_pxefs_read): Removed.
10256 (grub_pxefs_close): Likewise.
10257 (grub_pxefs_fs_int): Likewise.
10258 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
10259 connection when we switch file.
10260 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
10261
a55d42e0 102622008-08-06 Robert Millan <rmh@aybabtu.com>
10263
10264 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
10265 `halt.mod'.
10266 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
10267 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
10268
10269 * kern/i386/halt.c: New file.
10270 * kern/i386/reboot.c: Likewise.
10271 * include/grub/i386/reboot.h: Likewise.
10272 * include/grub/i386/halt.h: Likewise.
10273
10274 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
10275 Include `<grub/cpu/halt.h>'.
10276 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
10277 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
10278
10279 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
10280 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
10281 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
10282 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
10283 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
10284 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
10285 from here ...
10286 * include/grub/i386/at_keyboard.h: ... to here.
10287
24371d26 102882008-08-05 Robert Millan <rmh@aybabtu.com>
10289
10290 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
10291 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
10292 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
10293 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10294 `kern/generic/millisleep.c'.
10295
10296 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
10297 instead of grub_get_rtc().
10298 (grub_tsc_init): Initialize `tsc_boot_time'.
10299
10300 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
10301 (grub_machine_init): Use grub_tsc_init() rather than
10302 installing an RTC-based handler via grub_install_get_time_ms().
10303
10304 * kern/i386/pit.c: New file.
10305 * include/grub/i386/pit.h: Likewise.
10306
9e7007b3 103072008-08-05 Bean <bean123ch@gmail.com>
10308
10309 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
10310
10311 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
10312 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
10313 (pxe_mod_SOURCES): New macro.
10314 (pxe_mod_CFLAGS): Likewise.
10315 (pxe_mod_LDFLAGS): Likewise.
10316 (pxecmd_mod_SOURCES): Likewise.
10317 (pxecmd_mod_CFLAGS): Likewise.
10318 (pxecmd_mod_LDFLAGS): Likewise.
10319
10320 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
10321 (grub_pxe_call): Likewise.
10322
10323 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
10324
10325 * commands/i386/pc/pxecmd.c: New file.
10326
9f0234cb 10327 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 10328
10329 * include/grub/i386/pc/pxe.h: Likewise.
10330
6977d49f 103312008-08-05 Bean <bean123ch@gmail.com>
10332
10333 * util/console.c (grub_console_cur_color): New variable.
10334 (grub_console_standard_color): Likewise.
10335 (grub_console_normal_color): Likewise.
10336 (grub_console_highlight_color): Likewise.
10337 (color_map): Likewise.
10338 (use_color): Likewise.
10339 (NUM_COLORS): New macro.
10340 (grub_ncurses_setcolorstate): Handle color properly.
10341 (grub_ncurses_setcolor): Don't change color here, just remember the
10342 settings, color will be set in grub_ncurses_setcolorstate.
10343 (grub_ncurses_getcolor): New function.
10344 (grub_ncurses_init): Initialize color pairs.
10345 (grub_ncurses_term): New member grub_ncurses_getcolor.
10346
9c2ff3ee 103472008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 10348
9c2ff3ee 10349 High resolution timer support. Implemented for x86 CPUs using TSC.
10350 Extracted generic grub_millisleep() so it's linked in only as needed.
10351 This requires a Pentium compatible CPU; if the RDTSC instruction is
10352 not supported, then it falls back on the generic grub_get_time_ms()
10353 implementation that uses the machine's RTC.
10354
10355 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
10356 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10357 `kern/generic/millisleep.c'.
10358
10359 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
10360 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
10361
10362 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
10363 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
10364
10365 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10366
10367 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10368 `kern/generic/millisleep.c'.
10369
10370 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10371
10372 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
10373
10374 * kern/generic/rtc_get_time_ms.c: New file.
10375
10376 * kern/generic/millisleep.c: New file.
337f5a1e 10377
9c2ff3ee 10378 * kern/misc.c: Don't include
10379 <kern/time.h> anymore.
10380 (grub_millisleep_generic): Removed.
10381
10382 * commands/sleep.c (grub_interruptible_millisleep): Uses
10383 grub_get_time_ms() instead of grub_get_rtc().
10384
10385 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
10386 function.
10387 (grub_cpu_is_cpuid_supported): New inline function.
10388 (grub_cpu_is_tsc_supported): New inline function.
10389 (grub_tsc_init): New function prototype.
10390 (grub_tsc_get_time_ms): New function prototype.
10391
10392 * kern/i386/tsc.c (grub_get_time_ms): New file.
10393
10394 * include/grub/time.h: Include <grub/types.h.
10395 (grub_millisleep_generic): Removed.
10396 (grub_get_time_ms): New prototype.
10397 (grub_install_get_time_ms): New prototype.
10398 (grub_rtc_get_time_ms): New prototype.
10399
10400 * kern/time.c (grub_get_time_ms): New function.
10401 (grub_install_get_time_ms): New function.
10402
10403 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
10404 <grub/time.h> anymore.
10405 (grub_millisleep): Removed.
10406 (grub_machine_init): Call grub_tsc_init.
10407
10408 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
10409 get_time_ms() implementation.
10410
10411 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
10412 (ieee1275_get_time_ms): New function.
10413 (grub_machine_init): Install get_time_ms() implementation.
10414
10415 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
10416 (grub_machine_init): Call grub_tsc_init().
10417 (grub_millisleep): Removed.
bf06a93f 10418
9c2ff3ee 10419 * kern/ieee1275/init.c (grub_millisleep): Removed.
10420 (grub_machine_init): Install ieee1275_get_time_ms()
10421 implementation.
10422 (ieee1275_get_time_ms): New function.
10423 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
10424 real work.
10425
9ec92aaf 104262008-08-05 Marco Gerards <marco@gnu.org>
10427
10428 * disk/ata.c: Include <grub/pci.h>.
10429 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
10430 (grub_ata_initialize): Rewritten.
10431 (grub_ata_device_initialize): New function.
10432
8d23f507 104332008-08-04 Pavel Roskin <proski@gnu.org>
10434
10435 * kern/main.c: Include grub/mm.h.
10436
5e15ee3d 104372008-08-04 Robert Millan <rmh@aybabtu.com>
10438
10439 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
10440 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
10441 corruption problem).
10442
a9053f8f 104432008-08-04 Robert Millan <rmh@aybabtu.com>
10444
10445 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
10446 warnings introduced in my last commit.
10447
dd19c7d7 104482008-08-03 Robert Millan <rmh@aybabtu.com>
10449
10450 Make PCI available on all i386 architectures.
10451
10452 * include/grub/i386/pc/pci.h: Move from here ...
10453 * include/grub/i386/pci.h: ... to here.
10454
10455 * include/grub/i386/pc/pci.h: Remove.
10456 * include/grub/i386/efi/pci.h: Remove.
10457 * include/grub/x86_64/efi/pci.h: Remove.
10458
10459 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
10460 `<grub/cpu/pci.h>'.
10461
10462 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
10463 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
10464 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
10465
10466 * conf/i386-ieee1275.rmk: Likewise.
10467
e14a6184 104682008-08-03 Robert Millan <rmh@aybabtu.com>
10469
10470 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
10471 (grub_console_setcursor): Make it possible to set cursor off.
10472
52768e37 104732008-08-03 Robert Millan <rmh@aybabtu.com>
10474
10475 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
10476 of modules instead of assuming which platform provides what.
10477 * util/update-grub.in: Likewise.
10478
2d52f57f 104792008-08-03 Robert Millan <rmh@aybabtu.com>
10480
10481 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
10482 instead of `grub_install_dos_part' to determine whether a drive needs
10483 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 10484 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 10485
2a5cd121 104862008-08-02 Robert Millan <rmh@aybabtu.com>
10487
10488 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
10489
93808428 104902008-08-02 Robert Millan <rmh@aybabtu.com>
10491
10492 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
10493 of informational grub_dprintf() calls.
10494
3bd0a12a 104952008-08-02 Robert Millan <rmh@aybabtu.com>
10496
10497 * disk/memdisk.c (memdisk_size): Don't initialize.
10498 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
10499
10500 * include/grub/i386/pc/kernel.h
10501 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
10502 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
10503 (grub_memdisk_image_size, grub_arch_memdisk_addr)
10504 (grub_arch_memdisk_size): Remove.
10505
10506 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
10507 field (was only used to transfer a constant). Add `type' field to
10508 support multiple module types.
10509 (grub_module_iterate): New function.
10510
10511 * kern/device.c (grub_device_open): Do not hide error messages
10512 when grub_disk_open() fails. Use grub_print_error() instead.
10513
10514 * kern/i386/pc/init.c (grub_arch_modules_addr)
10515 (grub_arch_memdisk_size): Remove functions.
10516 (grub_arch_modules_addr): Return the module address in high memory
10517 (now that it isn't copied anymore).
10518
10519 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
10520 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
10521 decompression routine (grub_total_module_size already includes that
10522 now). Don't copy modules back to low memory.
10523
10524 * kern/main.c: Include `<grub/mm.h>'.
10525 (grub_load_modules): Split out (and use) ...
10526 (grub_module_iterate): ... this function, which iterates through
10527 module objects and runs a hook.
10528 Comment out grub_mm_init_region() call, as it would cause non-ELF
10529 modules to be overwritten.
10530
10531 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
10532 the memdisk image in its own region, make it part of the module list.
10533 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
10534 (main): Parse --memdisk|-m option, and pass user-provided path as
10535 parameter to generate_image().
10536 (add_segments): Pass `memdisk_path' down to load_modules().
10537 (load_modules): Embed memdisk image in module section when requested.
10538 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
10539 `header.type' instead of `header.offset'.
10540
10541 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
10542 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
10543 (memdisk_mod_LDFLAGS): New variables.
10544 * conf/i386-coreboot.rmk: Likewise.
10545 * conf/i386-ieee1275.rmk: Likewise.
10546
a927cc73 105472008-08-02 Robert Millan <rmh@aybabtu.com>
10548
10549 * loader/i386/pc/multiboot.c (playground, forward_relocator)
10550 (backward_relocator): New variables. Used to allocate and relocate
10551 the payload, respectively.
10552 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 10553 address, install the appropriate relocator code in each bound of
a927cc73 10554 the payload, and set the entry point such that
10555 grub_multiboot_real_boot() will jump to one of them.
10556
10557 * kern/i386/loader.S (grub_multiboot_payload_size)
10558 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10559 (grub_multiboot_payload_entry_offset): New variables.
10560 (grub_multiboot_real_boot): Set cpu context to what the relocator
10561 expects, and jump to the relocator instead of the payload.
10562
10563 * include/grub/i386/loader.h (grub_multiboot_payload_size)
10564 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10565 (grub_multiboot_payload_entry_offset): Export.
10566
b15d8a0c 105672008-08-01 Bean <bean123ch@gmail.com>
10568
10569 * normal/menu_entry.c (editor_getline): Don't return the original
10570 string as result, as it will be released by lexer once it has done
10571 using it.
10572
cdfb3d22 105732008-08-01 Robert Millan <rmh@aybabtu.com>
10574
10575 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
10576 within menuentries, not before them.
10577 util/grub.d/10_hurd.in: Likewise.
10578
9175e93d 105792008-08-01 Bean <bean123ch@gmail.com>
10580
10581 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
10582 (bufio_mod_SOURCES): New macro.
10583 (bufio_mod_CFLAGS): Likewise.
10584 (bufio_mod_LDFLAGS): Likewise.
10585
10586 * include/grub/bufio.h: New file.
10587
10588 * io/bufio.c: Likewise.
10589
10590 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
10591 (grub_video_reader_png): Use grub_buffile_open to open file.
10592
10593 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
10594 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
10595
10596 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
10597 (grub_video_reader_tga): Use grub_buffile_open to open file.
10598
10599 * font/manager.c: Include <grub/bufio.h>.
10600 (add_font): Use grub_buffile_open to open file.
10601
3d8383e7 106022008-07-31 Robert Millan <rmh@aybabtu.com>
10603
10604 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
10605 ELF segments, use a macro for arbitrarily accessing any of them instead
10606 of preparing a pointer that allows access to one at a time.
10607 (grub_multiboot_load_elf64): Likewise.
10608
16e641b6 106092008-07-31 Bean <bean123ch@gmail.com>
10610
10611 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
10612 GRUB_KERNEL_MACHINE_DATA_END.
10613
59198b72 106142008-07-30 Robert Millan <rmh@aybabtu.com>
10615
10616 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
10617 Increase from 0x50 to 0x60.
10618 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
10619 use UUIDs to identify the root drive for them. If that's not
10620 possible, abort.
10621 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
10622 check, for cross-disk installs.
10623
ae88bca3 106242008-07-30 Robert Millan <rmh@aybabtu.com>
10625
10626 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
10627 is non-empty, use it to set the `prefix' environment variable instead
10628 of the usual approach.
10629 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
10630 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
10631 environment variable instead of dummy make_install_device().
10632
10633 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
10634 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 10635 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 10636
10637 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
10638 New variable reference.
10639 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
10640 New macro. Defines offset of `grub_prefix' within startup.S (relative
10641 to `start').
10642 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
10643 section within startup.S (relative to `start').
10644 * include/grub/i386/coreboot/kernel.h: Likewise.
10645
10646 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
10647 Overwrite grub_prefix with its contents, at the beginning of the
10648 first segment.
10649 (main): Understand -p|--prefix.
10650
14f41dd1 106512008-07-30 Robert Millan <rmh@aybabtu.com>
10652
10653 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
10654
4ca049a3 106552008-07-30 Robert Millan <rmh@aybabtu.com>
10656
10657 * term/i386/pc/vga_text.c (grub_console_cls): Use
10658 grub_console_gotoxy() to go back to beginning of the screen.
10659 Found by Patrick Georgi <patrick.georgi@coresystems.de>
10660
2921d337 106612008-07-29 Christian Franke <franke@computer.org>
10662
10663 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10664 Add conversion of emulated mount points on Cygwin.
10665
b609876d 106662008-07-29 Christian Franke <franke@computer.org>
10667
10668 * util/update-grub.in: Add a check for admin
10669 group on Cygwin.
10670 Remove old `grub.cfg.new' before creation.
10671 Add `-f' to `mv' to handle the different filesystem
10672 semantics of Windows.
10673
e93e4679 106742008-07-29 Bean <bean123ch@gmail.com>
10675
10676 * normal/main.c (get_line): Fix buffer overflow bug.
10677
41694fd0 106782008-07-28 Robert Millan <rmh@aybabtu.com>
10679
10680 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
10681 (struct grub_apple_header): New struct. Describes the layout of
10682 the partmap header.
10683 (apple_partition_map_iterate): Check the header magic as well as the
10684 partition magic (which was already being checked).
10685
cfd0b4e6 106862008-07-28 Pavel Roskin <proski@gnu.org>
10687
10688 * genmk.rb: Add a warning to the beginning of the output that
10689 it's a generated file and should not be edited.
10690
93cce016 106912008-07-28 Robert Millan <rmh@aybabtu.com>
10692
10693 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10694 with the same number are found, just use issue a warning with
10695 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 10696
cd1df915 106972008-07-27 Robert Millan <rmh@aybabtu.com>
10698
10699 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
10700 information.
10701
b70a8427 107022008-07-27 Bean <bean123ch@gmail.com>
10703
10704 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
10705 (grub_fat_find_dir): Ignore case when comparing filename.
10706
8f5e379f 107072008-07-27 Bean <bean123ch@gmail.com>
10708
10709 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
10710 smallino, as it's more descriptive, and i8count can be confused with
10711 the other field count.
10712 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
10713 inode type.
10714
a85cd5a0 107152008-07-27 Bean <bean123ch@gmail.com>
10716
10717 * commands/crc.c: New file.
10718
10719 * lib/crc.c: Likewise.
10720
10721 * include/grub/lib/crc.h: Likewise.
10722
10723 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
10724
10725 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
10726 (hexdump): Move this function to ...
10727
10728 * lib/hexdump.c: ... here.
10729
10730 * include/grub/hexdump.h: Renamed to ...
10731
10732 * include/grub/lib/hexdump.h: ... this.
10733
10734 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
10735
10736 * util/grub-editenv.c: Likewise.
10737
10738 * include/envblk.h: Renamed to ...
10739
10740 * include/lib/envblk.h: ... this.
10741
10742 * util/envblk.c: Renamed to ...
10743
10744 * lib/envblk.c: ... this.
10745
10746 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
10747 lib/hexdump.c.
10748 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
10749 (pkglib_MODULES): Add crc.mod.
10750 (hexdump_mod_SOURCES): Add lib/hexdump.c.
10751 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
10752 (crc_mod_SOURCES): New macro.
10753 (crc_mod_CFLAGS): Likewise.
10754 (crc_mod_LDFLAGS): Likewise.
10755
10756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
10757
10758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10759
10760 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10761
10762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10763
10764 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10765
c298def0 107662008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 10767
10768 * commands/help.c: Include <grub/term.h>.
10769 (TERM_WIDTH): Removed. Updated all users.
10770
cc349fb3 107712008-07-27 Pavel Roskin <proski@gnu.org>
10772
10773 * util/getroot.c (find_root_device): Rephrase a comment to avoid
10774 spurious warnings about a comment within a comment.
10775
9051607e 107762008-07-25 Robert Millan <rmh@aybabtu.com>
10777
10778 * util/getroot.c (find_root_device): Skip devices that match
10779 /dev/dm-[0-9]. This lets the real device be found for any type of
10780 abstraction (LVM, EVMS, RAID..).
10781 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
10782 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
10783 device is found first, find_root_device() will now skip it.
10784
01453bfc 107852008-07-24 Pavel Roskin <proski@gnu.org>
10786
10787 * include/grub/types.h: Use __builtin_bswap32() and
10788 __builtin_bswap64() with gcc 4.3 and newer.
10789
6af9849f 107902008-07-24 Christian Franke <franke@computer.org>
10791
3a0fa256 10792 * util/i386/pc/grub-install.in: If `--debug' is specified,
10793 pass `--verbose' to grub-setup.
10794 Abort script if make_system_path_relative_to_its_root() fails.
10795
7810e747 107962008-07-24 Bean <bean123ch@gmail.com>
10797
10798 * configure.ac: Fixed a bug caused by the previous cygwin patch,
10799 variable `target_platform' should be `platform'.
10800
42290e17 108012008-07-24 Bean <bean123ch@gmail.com>
10802
51cc5193 10803 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 10804 (grub_png_init_fixed_block): New function.
10805 (grub_png_decode_image_data): Handle fixed huffman code compression.
10806
2a8a80e4 108072008-07-24 Bean <bean123ch@gmail.com>
10808
10809 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
10810 (grub_pe2elf_SOURCES): New macro.
10811 (CLEANFILES): Add grub-pe2elf.
10812
10813 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
10814 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
10815 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
10816 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
10817 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
10818 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
10819 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
10820 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
10821 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
10822 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
10823 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
10824 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
10825 (GRUB_PE32_DT_FUNCTION): Likewise.
10826 (GRUB_PE32_REL_I386_DIR32): Likewise.
10827 (GRUB_PE32_REL_I386_REL32): Likewise.
10828 (grub_pe32_symbol): New structure.
10829 (grub_pe32_reloc): Likewise.
10830
10831 * util/grub-pe2elf.c: New file.
10832
10833 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
10834 start symbol in non pc platform.
10835
10836 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
10837
10838 The following patches are from Christian Franke.
10839
10840 * include/grub/dl.h: Remove .previous, gas supports this only
10841 for ELF format.
10842
10843 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
10844 Remove .type, gas supports this only for ELF format.
10845
10846 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
10847 nullbytes in symbol table. This fixes an infinite loop if table is
10848 zero filled.
10849
10850 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
10851 TARGET_IMG_LDFLAGS and EXEEXT.
10852
10853 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
10854 TARGET_IMG_LDFLAGS_AC.
10855 (grub_CHECK_STACK_ARG_PROBE): New function.
10856
10857 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
10858
10859 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
10860
10861 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
10862 to set TARGET_IMG_LD* accordingly.
10863 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
10864 Add call to grub_CHECK_STACK_ARG_PROBE.
10865 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
10866
10867 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
10868
10869 * genmk.rb: Add EXEEXT to CLEANFILES.
10870
12ccdb75 108712008-07-23 Robert Millan <rmh@aybabtu.com>
10872
10873 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
10874 define the codes for arrows and lines used for the menu).
10875 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
10876 as well.
10877
10878 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
10879 fonts, because the latter are too slow.
10880
18eeaf04 108812008-07-21 Bean <bean123ch@gmail.com>
10882
10883 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
10884 a20. Run keyboard test last, as it will cause macbook to halt.
10885
b095e2ad 108862008-07-18 Pavel Roskin <proski@gnu.org>
10887
10888 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
10889 load foreign architecture modules correctly anyway. Keep
10890 support for loading host architecture modules, whether we
10891 compile them or not.
10892
737feb35 108932008-07-17 Pavel Roskin <proski@gnu.org>
10894
3f4ce737 10895 * configure.ac: Use -m32 or -m64 regardless of whether we had to
10896 change target_cpu. The compiler default can mismatch target_cpu
10897 in any case.
10898
4ad2d049 10899 * disk/efi/efidisk.c: Fix format warnings on x86_64.
10900 * kern/efi/efi.c: Likewise.
10901
f6130a12 10902 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
10903 target compiler is functional.
10904 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
10905 are set up.
10906
58393a2d 10907 * configure.ac: Default to efi platform for x86_64-apple. Allow
10908 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
10909 adjustments from the rest, only do them if target is not
10910 explicitly given. Merge other adjustments with the final sanity
10911 check. Remove an extraneous check for supported CPU. Be
10912 specific which CPU and which platform is not supported.
10913
737feb35 10914 * configure.ac: Default to pc platform for x86_64.
10915
546f966a 109162008-07-17 Robert Millan <rmh@aybabtu.com>
10917
10918 Partial LinuxBIOS -> Coreboot rename.
10919
10920 * conf/i386-linuxbios.rmk: Renamed to ...
10921 * conf/i386-coreboot.rmk: ... this.
10922 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
10923 * configure.ac: Accept "coreboot" as input platform (but maintain
10924 compatibility with "linuxbios").
10925 * include/grub/i386/linuxbios: Renamed to ...
10926 * include/grub/i386/coreboot: ... this.
10927
20011694 109282008-07-17 Bean <bean123ch@gmail.com>
10929
10930 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 10931 (appleldr_mod_SOURCE): New variable.
20011694 10932 (appleldr_mod_CFLAGS): Likewise.
10933 (appleldr_mod_LDFLAGS): Likewise.
10934 (pci_mod_SOURCES): Likewise.
10935 (pci_mod_CFLAGS): Likewise.
10936 (pci_mod_LDFLAGS): Likewise.
10937 (lspci_mod_SOURCES): Likewise.
10938 (lspci_mod_CFLAGS): Likewise.
10939 (lspci_mod_LDFLAGS): Likewise.
10940
10941 * conf/x86_64-efi.rmk: New file.
10942
10943 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
10944 macro.
10945 (grub_efidisk_write): Likewise.
10946
10947 * include/efi/api.h (efi_call_0): New macro.
10948 (efi_call_1): Likewise.
10949 (efi_call_2): Likewise.
10950 (efi_call_3): Likewise.
10951 (efi_call_4): Likewise.
10952 (efi_call_5): Likewise.
10953 (efi_call_6): Likewise.
10954
10955 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
10956 grub_rescue_cmd_chainloader.
10957
10958 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
10959 (grub_pe32_optional_header): Change some fields based on i386 or
10960 x86_64 platform.
10961 (GRUB_PE32_PE32_MAGIC): Likewise.
10962
10963 * include/grub/efi/uga_draw.h: New file.
10964
10965 * include/grub/elf.h (STN_ABS): New constant.
10966 (R_X86_64_NONE): Relocation constant for x86_64.
10967 (R_X86_64_64): Likewise.
10968 (R_X86_64_PC32): Likewise.
10969 (R_X86_64_GOT32): Likewise.
10970 (R_X86_64_PLT32): Likewise.
10971 (R_X86_64_COPY): Likewise.
10972 (R_X86_64_GLOB_DAT): Likewise.
10973 (R_X86_64_JUMP_SLOT): Likewise.
10974 (R_X86_64_RELATIVE): Likewise.
10975 (R_X86_64_GOTPCREL): Likewise.
10976 (R_X86_64_32): Likewise.
10977 (R_X86_64_32S): Likewise.
10978 (R_X86_64_16): Likewise.
10979 (R_X86_64_PC16): Likewise.
10980 (R_X86_64_8): Likewise.
10981 (R_X86_64_PC8): Likewise.
10982
10983 * include/grub/i386/efi/pci.h: New file.
10984
10985 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
10986 Change it value based on platform.
10987 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
10988 (GRUB_E820_RAM): Likewise.
10989 (GRUB_E820_RESERVED): Likewise.
10990 (GRUB_E820_ACPI): Likewise.
10991 (GRUB_E820_NVS): Likewise.
10992 (GRUB_E820_EXEC_CODE): Likewise.
10993 (GRUB_E820_MAX_ENTRY): Likewise.
10994 (grub_e820_mmap): New structure.
10995 (linux_kernel_header): Change the efi field according to different
10996 kernel version, also field from linux_kernel_header.
10997
10998 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
10999
11000 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11001 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11002 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11003 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11004 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11005 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11006 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11007 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11008 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11009 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11010
11011 * include/grub/x86_64/efi/kernel.h: New file.
11012
11013 * include/grub/x86_64/efi/loader.h: Likewise.
11014
11015 * include/grub/x86_64/efi/machine.h: Likewise.
11016
11017 * include/grub/x86_64/efi/pci.h: Likewise.
11018
11019 * include/grub/x86_64/efi/time.h: Likewise.
11020
11021 * include/grub/x86_64/linux.h: Likewise.
11022
11023 * include/grub/x86_64/setjmp.h: Likewise.
11024
11025 * include/grub/x86_64/time.h: Likewise.
11026
11027 * include/grub/x86_64/types.h: Likewise.
11028
11029 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11030 GRUB_TARGET_SIZEOF_VOID_P.
11031
11032 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11033 (grub_efi_locate_handle): Likewise.
11034 (grub_efi_open_protocol): Likewise.
11035 (grub_efi_set_text_mode): Likewise.
11036 (grub_efi_stall): Likewise.
11037 (grub_exit): Likewise.
11038 (grub_reboot): Likewise.
11039 (grub_halt): Likewise.
11040 (grub_efi_exit_boot_services): Likewise.
11041 (grub_get_rtc): Likewise.
11042
11043 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11044 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11045 (grub_efi_allocate_pages): Wrap efi calls.
11046 (grub_efi_free_pages): Wrap efi calls.
11047 (grub_efi_get_memory_map): Wrap efi calls.
11048
11049 * kern/x86_64/dl.c: New file.
11050
11051 * kern/x86_64/efi/callwrap.S: Likewise.
11052
11053 * kern/x86_64/efi/startup.S: Likewise.
11054
11055 * loader/efi/appleloader.c: Likewise.
11056
11057 * loader/efi/chainloader.c (cmdline): New variable.
11058 (grub_chainloader_unload): Wrap efi calls.
11059 (grub_chainloader_boot): Likewise.
11060 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
11061 command line.
11062
11063 * loader/efi/chainloader_normal.c (chainloader_command):
11064 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
11065 command line.
11066
11067 * loader/i386/efi/linux.c (allocate_pages): Change allocation
11068 method.
11069 (grub_e820_add_region): New function.
11070 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
11071 booting.
11072 (grub_find_video_card): New function.
11073 (grub_linux_setup_video): New function.
11074 (grub_rescue_cmd_linux): Probe for video information.
11075
11076 * normal/x86_64/setjmp.S: New file.
11077
11078 * term/efi/console.c (map_char): New function.
11079 (grub_console_putchar): Map unicode char.
11080 (grub_console_checkkey): Wrap efi calls.
11081 (grub_console_getkey): Likewise.
11082 (grub_console_getwh): Likewise.
11083 (grub_console_gotoxy): Likewise.
11084 (grub_console_cls): Likewise.
11085 (grub_console_setcolorstate): Likewise.
11086 (grub_console_setcursor): Likewise.
11087
11088 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
11089
59652a20 110902008-07-16 Pavel Roskin <proski@gnu.org>
11091
ef294055 11092 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
11093 format strings.
11094
59652a20 11095 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
11096 pointer, not an integer. This fixes a warning and prevents
11097 precision loss on 64-bit systems.
11098 (relocate_addresses): Remove unneeded cast.
11099
afc3b5d7 111002008-07-15 Pavel Roskin <proski@gnu.org>
11101
506b2b3e 11102 * kern/i386/ieee1275/init.c: Include grub/cache.h.
11103
62ead89c 11104 * term/ieee1275/ofconsole.c: Disable code unused on i386.
11105
c4cd51d7 11106 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
11107 Fix comparison between signed and unsigned.
11108
0d3d8f28 11109 * include/grub/i386/ieee1275/console.h: Declare
11110 grub_console_init() and grub_console_fini().
11111
8804b286 11112 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
11113 It's empty and unused.
11114
ee01cf35 11115 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
11116 beginning to avoid warnings with some compilers.
11117
afc3b5d7 11118 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
11119 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
11120
e4e8eaa5 111212008-07-14 Pavel Roskin <proski@gnu.org>
11122
407aceb4 11123 * kern/env.c (grub_register_variable_hook): Don't copy empty
11124 string, it leaks memory. Pass "" to grub_env_set(), it should
11125 handle constant strings.
11126
e4e8eaa5 11127 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
11128 * commands/cmp.c (grub_cmd_cmp): Likewise.
11129 * kern/dl.c (grub_dl_flush_cache): Likewise.
11130 (grub_dl_load_core): Likewise.
11131 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
11132 (grub_elf64_load_phdrs): Likewise.
11133
d4e2dad3 111342008-07-13 Pavel Roskin <proski@gnu.org>
11135
11136 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
11137 between signed and unsigned.
11138 (LzmaEnc_Finish): Fix warning about an unused parameter.
11139
aa24b516 111402008-07-13 Bean <bean123ch@gmail.com>
11141
11142 * Makefile.in (enable_lzo): New rule.
11143
11144 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
11145
11146 * configure.ac (ENABLE_LZO): New option --enable-lzo.
11147
11148 * boot/i386/pc/lnxboot.S: #include <config.h>.
11149
11150 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 11151 its value according to the compression algorithm used, lzo or lzma.
aa24b516 11152
11153 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
11154 compression algorithm according to configure macro.
11155
11156 * kern/i386/pc/startup.S (codestart): Likewise.
11157
11158 * kern/i386/pc/lzma_decode.S: New file.
11159
11160 * include/grub/lib/LzFind.h: Likewise.
11161
11162 * include/grub/lib/LzHash.h: Likewise.
11163
11164 * include/grub/lib/LzmaDec.h: Likewise.
11165
11166 * include/grub/lib/LzmaEnc.h: Likewise.
11167
11168 * include/grub/lib/LzmaTypes.h: Likewise.
11169
11170 * lib/LzFind.c: Likewise.
11171
11172 * lib/LzmaDec.c: Likewise.
11173
11174 * lib/LzmaEnc.c: Likewise.
11175
4ae821ac 111762008-07-13 Bean <bean123ch@gmail.com>
11177
11178 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
11179 (grub_ext4_extent_header): New structure.
11180 (grub_ext4_extent): Likewise.
11181 (grub_ext4_extent_idx): Likewise.
11182 (grub_ext4_find_leaf): New function.
11183 (grub_ext2_read_block): Handle extents.
11184
9a745147 111852008-07-12 Robert Millan <rmh@aybabtu.com>
11186
11187 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
11188
d49a4cf6 111892008-07-11 Robert Millan <rmh@aybabtu.com>
11190
11191 * util/grub.d/40_custom.in: New file. Example on how to add custom
11192 entries to /etc/grub.d.
11193 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
11194 40_custom (implicitly, by merging all the grub.d rules).
11195
947414b4 111962008-07-11 Pavel Roskin <proski@gnu.org>
11197
0059cf6f 11198 * commands/read.c (grub_getline): Fix invalid memory access.
11199 Don't add newline to the variable value.
11200
947414b4 11201 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
11202 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
11203 (serial_hw_get_port): Check validity of the port number.
11204 (grub_cmd_serial): Check return value of serial_hw_get_port().
11205
62a02d00 112062008-07-07 Pavel Roskin <proski@gnu.org>
11207
11208 * boot/i386/pc/diskboot.S (notification_string): Replace
11209 "Loading kernel" with just "loading". This is shorter, less
11210 confusing and saves a few bytes for possible future changes.
11211
3e5581b0 112122008-07-05 Pavel Roskin <proski@gnu.org>
11213
ea387a48 11214 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
11215 size for ATAPI devices, they are undefined. Output sector
11216 number in decimal form.
11217
3e5581b0 11218 * disk/ata.c: Use named constants for status bits.
11219
fdecb8fd 112202008-07-04 Pavel Roskin <proski@gnu.org>
11221
bcd35b90 11222 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
11223 grub_addr_t before casting it to the void pointer to fix a
11224 warning. Non-addressable regions are discarded earlier.
11225 (grub_arch_modules_addr): Cast _end to grub_addr_t.
11226 * kern/i386/linuxbios/table.c: Include grub/misc.h.
11227 (check_signature): Don't shadow table_header.
11228 (grub_linuxbios_table_iterate): Cast numeric constants to
11229 grub_linuxbios_table_header_t.
11230 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
11231 grub_stop().
11232
af58ab3d 11233 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
11234 prevent warnings.
11235
1759aa57 11236 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
11237 pointer, which can cause warnings. Support 64-bit addresses.
11238
fdecb8fd 11239 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
11240 of sizeof(long). This fixes PowerPC image generation on x86_64.
11241
8516d2a8 112422008-07-04 Robert Millan <rmh@aybabtu.com>
11243
11244 This fixes a performance issue when pc & gpt partmap iterators
11245 didn't abort iteration even after our hook found what it was
fe987087 11246 looking for (often causing expensive probes of non-existent drives).
8516d2a8 11247
11248 Some callers relied on previous buggy behaviour, since they would
34c44600 11249 raise an error when their own hooks caused early abortion of its
8516d2a8 11250 iteration.
11251
11252 * kern/device.c (grub_device_open): Improve error message.
11253 * disk/lvm.c (grub_lvm_open): Likewise.
11254 * disk/raid.c (grub_raid_open): Likewise.
11255
11256 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
11257 when hook requests it, independently of grub_errno.
11258 (pc_partition_map_probe): Do not fail when find_func() caused
11259 early abortion of pc_partition_map_iterate().
11260
11261 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
11262 when hook requests it, independently of grub_errno.
11263 (gpt_partition_map_probe): Do not fail when find_func() caused
11264 early abortion of gpt_partition_map_iterate().
11265
11266 * kern/partition.c (grub_partition_iterate): Abort parent iteration
11267 when hook requests it, independently of grub_errno. Do not fail when
11268 part_map_iterate_hook() caused early abortion of p->iterate().
11269
11270 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
11271 when grub_partition_iterate() returned with non-zero.
11272
277d0de9 112732008-07-03 Pavel Roskin <proski@gnu.org>
11274
11275 * disk/ata.c (grub_ata_pio_write): Check status before writing,
11276 like we do in grub_ata_pio_read().
11277 (grub_ata_readwrite): Always write individual sectors. Fix the
11278 sector count for the remainder.
11279 (grub_ata_write): Enable writing to ATA devices. Correctly
11280 report error for ATAPI devices.
11281
d4c9b428 112822008-07-02 Pavel Roskin <proski@gnu.org>
11283
e43fc690 11284 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
11285 warning.
11286
f707af42 11287 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
11288 for every read sector, we already increment it for the whole
11289 batch. This fixes reading more than 256 sectors at once.
11290
11e16b15 11291 * util/grub-editenv.c (cmd_info): Cast argument to long
11292 explicitly. ptrdiff_t reduces to int on i386.
11293
cbabfdd4 11294 * util/grub-editenv.c (main): Be specific which parameter is
11295 missing.
11296
b8fbce0a 11297 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
11298 (memdisk): Make memdisk_orig_addr a pointer.
11299
c9c8e606 11300 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
11301 for file offsets, use grub_off_t instead. Fix printf format
11302 warnings.
11303
ca62e598 11304 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
11305 there. Real unexpected warnings should not drown in the noise
11306 about known problems.
11307
ce8d1766 11308 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
11309 grub_disk_addr_t for memory addresses.
11310
00c7a56a 11311 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
11312 explicitly to fix a warning.
11313
08d3ef09 11314 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
11315
cb71ba20 11316 * Makefile.in (MODULE_LDFLAGS): New variable.
11317 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
11318 the linker accepts --build-id=none.
11319 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
11320 MODULE_LDFLAGS.
11321 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
11322
d4c9b428 11323 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
11324 those in Linux XFS code. Provide a way to access 64-bit parent
11325 inode.
11326 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
11327 the end of struct grub_xfs_dir_header.
11328
d4156eee 113292008-07-02 Bean <bean123ch@gmail.com>
11330
11331 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
11332 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11333 and GRUB_IEEE1275_FLAG_NO_ANSI.
11334
11335 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
11336 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11337 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
11338
11339 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
11340 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
11341
11342 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
11343 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
11344
11345 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
11346 esc sequence on non ANSI terminal.
11347 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
11348
11349 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
11350 beginning of file.
11351
2270f77b 113522008-07-02 Bean <bean123ch@gmail.com>
11353
11354 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
11355 (grub_editenv_SOURCES): New variable.
11356 (pkglib_MODULES): Add loadenv.mod.
11357 (loadenv_mod_SOURCES): New variable.
11358 (loadenv_mod_CFLAGS): Likewise.
11359 (loadenv_mod_LDFLAGS): Likewise.
11360
11361 * include/grub/envblk.h: New file.
11362
11363 * util/envblk.c: New file.
11364
11365 * util/grub-editenv.c: New file.
11366
11367 * commands/loadenv.c: New file.
11368
0e9e51ec 113692008-07-01 Pavel Roskin <proski@gnu.org>
11370
d89b7634 11371 * include/multiboot2.h (struct multiboot_tag_module): Use char,
11372 not unsigned char. This fixes warnings and is consistent with
11373 other tags.
11374
bf1835b1 11375 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
11376
8222a04b 11377 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
11378
6a42d99d 11379 * term/tparm.c (analyze): Always set *popcount.
11380
10b159d1 11381 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
11382 cast to fix a warning.
11383
b8789f6c 11384 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
11385 cast to suppress a warning.
11386
29d7e38a 11387 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
11388 grub_fshelp_read_file() expects.
11389
f341f669 11390 * fs/fat.c: Fix UUID calculation on big-endian systems. We
11391 write uuid as a 32-bit value in CPU byte order, so declare and
11392 use it as such.
11393
0e9e51ec 11394 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
11395 long if the format specifier expects it.
11396 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
11397 * partmap/pc.c (pc_partition_map_iterate): Likewise.
11398 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
11399 long to fix a warning.
11400 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
11401 grub_dprintf() arguments to fix warnings.
11402
3aefa857 114032008-06-30 Pavel Roskin <proski@gnu.org>
11404
56c7668b 11405 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
11406 install_bsd_part immediately before core.img is embedded or
11407 modified on disk. This fixes core.img verification if core.img
11408 cannot be embedded.
11409
3aefa857 11410 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
11411 core_path to calculate the blocklist.
11412 Patch from Javier Martín <lordhabbit@gmail.com>
11413
5444088d 114142008-06-29 Robert Millan <rmh@aybabtu.com>
11415
11416 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
11417 block to disk block.
11418 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
11419 Patch from Niels Böhm <bitbucket@arcor.de>
11420
674835c8 114212008-06-29 Robert Millan <rmh@aybabtu.com>
11422
11423 * util/update-grub_lib.in (font_path): Search for fonts in
11424 /boot/grub first, which is more likely to be readable (we aren't
11425 deciding where fonts live, just looking for them).
11426
f527dbc8 114272008-06-26 Pavel Roskin <proski@gnu.org>
11428
6c2d8df6 11429 * util/biosdisk.c (read_device_map): Don't leave dead map
11430 entries for devices failing stat() check.
11431
f527dbc8 11432 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
11433 core_path_dev for the core.img path on the target device.
11434
aebe3d13 114352008-06-26 Robert Millan <rmh@aybabtu.com>
11436
11437 * disk/fs_uuid.c: New file.
11438 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
11439 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
11440 (fs_uuid_mod_LDFLAGS): New variables.
11441 * include/grub/disk.h (grub_disk_dev_id): Add
11442 `GRUB_DISK_DEVICE_UUID_ID'.
11443 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
11444 implement iterate().
11445
37aaf354 114462008-06-26 Robert Millan <rmh@aybabtu.com>
11447
11448 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
11449 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
11450 Linux image includes no initrd.
11451
25ff262a 114522008-06-21 Javier Martín <lordhabbit@gmail.com>
11453
11454 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
11455 call to resolve the core image location that effectively appended the
11456 name twice.
11457
76a2bd44 114582008-06-21 Robert Millan <rmh@aybabtu.com>
11459
11460 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
11461 call from here ...
11462
11463 * util/grub.d/10_hurd.in: ... to here ...
11464 * util/grub.d/10_linux.in: ... and here.
11465
650e1c79 114662008-06-19 Robert Millan <rmh@aybabtu.com>
11467
fe987087 11468 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 11469 after it has been set by grub_machine_set_prefix().
11470
6ce63911 114712008-06-19 Robert Millan <rmh@aybabtu.com>
11472
11473 * commands/search.c (search_label, search_fs_uuid, search_file): Print
11474 search result when not saving to variable, not the other way around.
11475 When saving to variable, abort iteration as soon as a match is found.
11476
73940cec 114772008-06-19 Robert Millan <rmh@aybabtu.com>
11478
11479 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
11480 check for partition that provides /boot/grub. Its logic is flawed,
11481 as it prevents prepare_grub_to_access_device() from being called
11482 multiple times.
11483
3c62a39d 114842008-06-19 Robert Millan <rmh@aybabtu.com>
11485
11486 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
11487 "insmod" command directly when abstraction modules are needed,
fe987087 11488 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 11489 since it had already been processed).
11490
47395a42 114912008-06-19 Pavel Roskin <proski@gnu.org>
11492
11493 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
11494 changed. This is needed in case GRUB_LIBDIR changes.
11495 * conf/i386-ieee1275.rmk: Likewise.
11496 * conf/i386-linuxbios.rmk: Likewise.
11497 * conf/i386-pc.rmk: Likewise.
11498 * conf/powerpc-ieee1275.rmk: Likewise.
11499
a145ac2d 115002008-06-18 Pavel Roskin <proski@gnu.org>
11501
11502 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
11503 kernel_elf_symlist.c to symlist.c for consistency with other
11504 architectures. Update all users.
11505 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11506
7847c51e 115072008-06-18 Robert Millan <rmh@aybabtu.com>
11508
11509 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
11510 it in prefix.
11511
11512 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
11513 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
11514 a RAID device, run setup() for all members independently on whether
11515 LVM abstraction is being used.
11516 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
11517 If grub-mkimage has set `*install_dos_part == -2', don't override this
11518 value.
11519 Perform *install_dos_part adjustments independently on whether
11520 we're embedding or not.
11521 Clarify error message when image is too big for embedding.
11522 Remove duplicate *install_dos_part stanza.
11523
b23e5644 115242008-06-17 Robert Millan <rmh@aybabtu.com>
11525
11526 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
11527 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
11528 variables.
11529 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
11530 values in grub_ofconsole_normal_color and
11531 grub_ofconsole_highlight_color (they're not directly related to
11532 background and foreground).
11533 (grub_ofconsole_setcolorstate): Extract background and foreground
11534 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
11535
0aac2f79 115362008-06-17 Robert Millan <rmh@aybabtu.com>
11537
11538 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
11539 /boot/grub for the check in last commit, not /boot (they could be
11540 different partitions).
11541
3cca7ef3 115422008-06-16 Robert Millan <rmh@aybabtu.com>
11543
11544 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
11545 asked to setup access for the same partition that provides /boot,
11546 don't bother using UUIDs since our root already has the value we
11547 want.
11548
347396d8 115492008-06-16 Robert Millan <rmh@aybabtu.com>
11550
11551 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
11552 I2O devices.
11553 Patch from Sven Mueller <sven@debian.org>.
11554
991477f8 115552008-06-16 Robert Millan <rmh@aybabtu.com>
11556
11557 * util/update-grub.in: Check for $EUID instead of $UID.
11558 Reported by Vincent Zweije.
11559
d31a32a1 115602008-06-16 Bean <bean123ch@gmail.com>
11561
fe987087 11562 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 11563 (grub_ext2_read_block): Likewise.
11564 (grub_ext2_read_inode): Likewise.
11565 (grub_ext2_mount): Likewise.
11566 (grub_ext2_close): Likewise.
11567 (grub_ext3_get_journal): Removed.
11568
fe987087 11569 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 11570 (grub_reiserfs_read_symlink): Likewise.
11571 (grub_reiserfs_mount): Likewise.
11572 (grub_reiserfs_open): Likewise.
11573 (grub_reiserfs_read): Likewise.
11574 (grub_reiserfs_close): Likewise.
11575 (grub_reiserfs_get_journal): Removed.
11576
11577 * fs/fshelp.c (grub_fshelp_read): Removed.
11578 (grub_fshelp_map_block): Likewise.
11579
11580 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
11581 (grub_fshelp_journal): Likewise.
11582 (grub_fshelp_read): Likewise.
11583 (grub_fshelp_map_block): Likewise.
11584
3540a760 115852008-06-16 Pavel Roskin <proski@gnu.org>
11586
11587 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
11588 floating point anymore.
11589 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
11590
95614c84 115912008-06-15 Pavel Roskin <proski@gnu.org>
11592
11593 * commands/ls.c (grub_ls_list_files): Use integer calculations
11594 for human readable format, avoid floating point use.
11595 * kern/misc.c (grub_ftoa): Remove.
11596 (grub_vsprintf): Remove floating point support.
11597
50465dd6 115982008-06-15 Robert Millan <rmh@aybabtu.com>
11599
fe6b695a 11600 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 11601 devices.
11602 Reported by Max Vozeler.
11603
a9207284 116042008-06-15 Robert Millan <rmh@aybabtu.com>
11605
11606 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
11607 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
11608 skipped later.
11609 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
11610 the beginning of the prefix.
11611
11612 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
11613 It is assumed that if we have a memdisk, grub-mkimage has set
11614 grub_prefix to include the "(memdisk)" drive in it.
11615
a7cbd45a 116162008-06-15 Robert Millan <rmh@aybabtu.com>
11617
11618 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
11619 Initialize keyboard controller after registering the terminal, so that
11620 grub_printf() can be called from grub_keyboard_controller_init().
11621
21cf716a 116222008-06-15 Robert Millan <rmh@aybabtu.com>
11623
11624 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
11625 extent-btree which is written as big endian on disk.
11626 Reported by Alain Greppin <al@chilibi.org>.
11627
23a64d8e 116282008-06-14 Robert Millan <rmh@aybabtu.com>
11629
11630 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
11631 * util/i386/pc/grub-install.in (modules): Likewise.
11632
d687651c 116332008-06-13 Pavel Roskin <proski@gnu.org>
11634
11635 * commands/ls.c (grub_ls_list_files): Fix format warnings.
11636
dfe9ddd4 116372008-06-13 Bean <bean123ch@gmail.com>
11638
11639 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
11640
11641 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
11642
11643 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
11644 to indicate sparse block.
11645
16ae7781 116462008-06-12 Pavel Roskin <proski@gnu.org>
11647
e6d1a308 11648 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
11649 number, grub_fshelp_read() does it for us.
11650
16ae7781 11651 * fs/fshelp.c (grub_fshelp_read): New function. Implement
11652 linear disk read with journal translation.
11653 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
11654 * include/grub/fshelp.h: Declare grub_fshelp_read().
11655
40fd3a2b 116562008-06-09 Pavel Roskin <proski@gnu.org>
11657
11658 * fs/minix.c (grub_minix_mount): Handle error reading
11659 superblock.
11660
f5679726 116612008-06-08 Robert Millan <rmh@aybabtu.com>
11662
11663 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
11664 don't append the RAID prefix afterwards.
11665 Reported by Clint Adams.
11666
ce525529 116672008-06-08 Robert Millan <rmh@aybabtu.com>
11668
11669 Based on description from Pavel:
11670 * kern/disk.c (grub_disk_check_range): Rename to ...
11671 (grub_disk_adjust_range): ... this. Add a comment explaining the
11672 tasks performed by this function.
11673
ad4936a0 116742008-06-08 Robert Millan <rmh@aybabtu.com>
11675
11676 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
11677 `num_serial' (for consistency with other variables).
11678 (struct grub_ntfs_data): Add `uuid' member.
11679 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
11680 (grub_ntfs_uuid): New function.
11681 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
11682
dc20b0f9 116832008-06-07 Pavel Roskin <proski@gnu.org>
11684
11685 * util/biosdisk.c (open_device): Revert last change to the
11686 function, it broke installation. The sector needs to be
11687 different dependent on which device is opened.
11688
c5e3cfba 116892008-06-06 Robert Millan <rmh@aybabtu.com>
11690
11691 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
11692 rest of GRUB, and breakage doesn't happen if its value were modified.
11693
11694 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
11695 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
11696 a constant (same value).
11697 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
11698 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
11699
26a1f8c4 117002008-06-06 Robert Millan <rmh@aybabtu.com>
11701
11702 * util/biosdisk.c (open_device): Do not modify sector offset when
11703 accessing a partition. kern/disk.c already handles this for us.
11704
25d6b327 117052008-06-06 Robert Millan <rmh@aybabtu.com>
11706
11707 * util/grub-emu.c (grub_machine_init): Move code in this function from
11708 here ...
11709 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
11710 segfault in case grub_printf() is called).
11711
11712 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
11713 grub_probe. Update all users not to explicitly add it again.
11714 (grub_device): New variable; contains corresponding device for grubdir.
11715 (fs_module, partmap_module, devabstraction_module): Pass
11716 `--device ${grub_device}' to grub_probe to avoid traversing /dev
11717 every time.
11718
9ece62fb 117192008-06-05 Robert Millan <rmh@aybabtu.com>
11720
11721 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
11722 is found, print it (same layout as with labels).
11723
1ad36d37 117242008-06-04 Robert Millan <rmh@aybabtu.com>
11725
11726 * util/biosdisk.c (get_drive): Rename to ...
11727 (find_grub_drive): ... this. Update all users.
11728
11729 (get_os_disk): Rename to ...
11730 (convert_system_partition_to_system_disk): ... this. Update all users.
11731
11732 (find_drive): Rename to ...
11733 (find_system_device): ... this. Update all users.
11734
e6a30859 117352008-06-04 Robert Millan <rmh@aybabtu.com>
11736
11737 * util/biosdisk.c (get_os_disk): Handle IDA devices.
11738 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11739 (make_device_map): Likewise.
11740
00c108a4 117412008-06-01 Robert Millan <rmh@aybabtu.com>
11742
11743 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
11744 before dereferencing it.
11745
11746 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
11747 union with fat12/fat16-specific ones. Add some new fields, including
11748 `num_serial' for both versions.
11749 (struct grub_fat_data): Add `uuid' member.
11750 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
11751 names. Initialize `data->uuid' using `num_serial'.
11752 (grub_fat_uuid): New function.
11753 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
11754
11755 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
11756 (grub_reiserfs_uuid): New function.
11757 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
11758 member.
11759
11760 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
11761 (grub_xfs_uuid): New function.
11762 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
11763
1385c5bb 117642008-06-01 Robert Millan <rmh@aybabtu.com>
11765
11766 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
11767 code that is backward compatible with pre-uuid search command.
11768
c682dfd7 117692008-05-31 Robert Millan <rmh@aybabtu.com>
11770
11771 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
11772 floppies after everything else, to ensure floppy drive isn't accessed
11773 unnecessarily (patch from Bean).
11774
b7db5d47 117752008-05-31 Robert Millan <rmh@aybabtu.com>
11776
11777 * commands/search.c (search_label, search_fs_uuid, search_file): Do
11778 not print device names when we were asked to set a variable.
11779
6e037aa9 117802008-05-31 Robert Millan <rmh@aybabtu.com>
11781
11782 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
11783 using "cursor-on" and "cursor-off" commands (understood at least by
11784 the Open Firmware flavour on OLPC).
11785
41305bc8 117862008-05-31 Michael Gorven <michael@gorven.za.net>
11787
11788 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
11789 on and off sequences.
11790
69ba137e 117912008-05-31 Robert Millan <rmh@aybabtu.com>
11792
11793 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
11794 * util/update-grub.in: Likewise.
11795
520ae21b 117962008-05-30 Pavel Roskin <proski@gnu.org>
11797
11798 * util/biosdisk.c (linux_find_partition): Simplify logic and
11799 make the code more universal. Keep special processing for
11800 devfs, but use a simple rule for all other devices. If the
11801 device ends with a number, append 'p' and the partition number.
11802 Otherwise, append only the partition number.
11803
5786569b 118042008-05-30 Robert Millan <rmh@aybabtu.com>
11805
11806 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
11807 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
11808 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
11809 the `root' parameter to Linux.
11810
51500452 118112008-05-30 Robert Millan <rmh@aybabtu.com>
11812
11813 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
11814 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
11815 --fs_uuid with --fs-uuid.
11816 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
11817 all filesystems support them).
11818
811d3878 118192008-05-30 Robert Millan <rmh@aybabtu.com>
11820
11821 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 11822 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 11823
cab63c95 118242008-05-30 Robert Millan <rmh@aybabtu.com>
11825
11826 * util/grub.d/00_header.in: Remove obsolete comment referencing
11827 convert_system_path_to_grub_path().
11828 * util/update-grub.in: Likewise.
11829 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
11830 (convert_system_path_to_grub_path): Add a warning message explaining
11831 that this function is deprecated. Rely on is_path_readable_by_grub()
11832 for the readability checks.
11833 (font_path): Use is_path_readable_by_grub() for the readability
11834 check rather than convert_system_path_to_grub_path().
11835
972e2f7a 118362008-05-30 Robert Millan <rmh@aybabtu.com>
11837
11838 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
11839 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
11840 converting it first.
11841 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
11842 grub.cfg for access to font file, and afterwards call it again to set
11843 the root device.
11844
62191274 118452008-05-30 Robert Millan <rmh@aybabtu.com>
11846
11847 * commands/search.c (options): Add --fs_uuid option.
11848 (search_fs_uuid): New function.
11849 (grub_cmd_search): Fix --set argument passing.
11850 Use search_fs_uuid() when requested via --fs_uuid.
11851 (grub_search_init): Update help message.
11852 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
11853 and redeclare it as an array of 16-bit words.
11854 (grub_ext2_uuid): New function.
11855 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
11856 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
11857 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
11858 (GRUB_DEVICE_BOOT_UUID): New variables.
11859 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
11860 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
11861 whenever possible.
11862 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
11863 just assume `root' variable has the right value.
11864 * util/grub.d/10_linux.in: Likewise.
11865 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
11866 via PRINT_FS_UUID.
11867 (main): Recognise `-t fs_uuid' argument.
11868
01b73ec8 118692008-05-30 Robert Millan <rmh@aybabtu.com>
11870
11871 * util/biosdisk.c (map): Redefine structure to hold information
11872 about GRUB drive name.
fe6b695a 11873 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 11874 drive names.
11875 (call_hook): Remove.
11876 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
11877 member. Assume drive has partitions.
11878 (grub_util_biosdisk_open): Access device names via `.device' struct
11879 member.
11880 (open_device): Likewise.
11881 (find_drive): Likewise.
11882 (read_device_map): Adjust map[] usage to match the new struct
11883 definition. Don't check for duplicates (still possible, but not cheap
11884 anymore).
11885 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
11886 (make_device_name): Remove assumption of BIOS-like drive names.
11887
22f16596 118882008-05-30 Pavel Roskin <proski@gnu.org>
11889
11890 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
11891 compiling execute.c doesn't need grub_script.tab.h anymore.
11892 (normal/command.c_DEPENDENCIES): Likewise.
11893 (normal/function.c_DEPENDENCIES): Likewise.
11894 * conf/i386-ieee1275.rmk: Likewise.
11895 * conf/i386-linuxbios.rmk: Likewise.
11896 * conf/i386-pc.rmk: Likewise.
11897 * conf/powerpc-ieee1275.rmk: Likewise.
11898 * conf/sparc64-ieee1275.rmk: Likewise.
11899
528ad8f2 119002008-05-29 Pavel Roskin <proski@gnu.org>
11901
d1dff95d 11902 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
11903 when scanning metadata for volume group name.
11904
528ad8f2 11905 * include/grub/script.h: Don't include grub_script.tab.h. It's
11906 a generated file, which may only be included from the files with
11907 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
11908 use union YYSTYPE, as the later allows forward declaration.
11909 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
11910
47248e08 119112008-05-29 Robert Millan <rmh@aybabtu.com>
11912
11913 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
11914 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
11915 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
11916 (grub_console_checkkey): Add grub_dprintf() call to report unknown
11917 scan codes.
11918
ee632529 119192008-05-29 Robert Millan <rmh@aybabtu.com>
11920
11921 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
11922 control key combinations.
11923
eee96e08 119242008-05-29 Robert Millan <rmh@aybabtu.com>
11925
11926 * util/powerpc/ieee1275/grub-install.in: Move from here ...
11927 * util/ieee1275/grub-install.in: ... to here.
11928 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
11929 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
11930 (grub_install_SOURCES): Likewise.
11931
da9a6a94 119322008-05-29 Robert Millan <rmh@aybabtu.com>
11933
11934 * fs/affs.c: Update copyright year.
11935 * fs/ext2.c: Likewise.
11936 * fs/fshelp.c: Likewise.
11937 * fs/hfsplus.c: Likewise.
11938 * fs/ntfs.c: Likewise.
11939 * fs/xfs.c: Likewise.
11940 * include/grub/fshelp.h: Likewise.
11941 * util/grub-mkdevicemap.c: Likewise.
11942
12e65f3a 119432008-05-28 Robert Millan <rmh@aybabtu.com>
11944
11945 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
11946 might need to be fatfs to support some firmware implementations
11947 (e.g. OFW or EFI).
11948
23023641 119492008-05-28 Robert Millan <rmh@aybabtu.com>
11950
11951 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
11952 devices.
11953 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11954 (make_device_map): Likewise.
11955
887d2619 119562008-05-20 Bean <bean123ch@gmail.com>
11957
11958 * fs/fshelp.c (grub_fshelp_map_block): New function.
11959 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
11960 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
11961
11962 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
11963 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
11964 (grub_fshelp_journal): New structure.
11965 (grub_fshelp_map_block): New function prototype.
11966 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
11967 (grub_fshelp_map_block): Likewise.
11968
11969 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
11970 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
11971 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
11972 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
11973 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
11974 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
11975 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
11976 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
11977 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
11978 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
11979 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
11980 (grub_ext2_sblock): New members for journal support.
11981 (grub_ext3_journal_header): New structure.
11982 (grub_ext3_journal_revoke_header): Likewise.
11983 (grub_ext3_journal_block_tag): Likewise.
11984 (grub_ext3_journal_sblock): Likewise.
11985 (grub_fshelp_node): New members logfile and journal.
11986 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
11987 grub_fshelp_map_block to get real block number.
11988 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
11989 number.
11990 (grub_ext2_read_inode): Likewise.
11991 (grub_ext3_get_journal): New function.
11992 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
11993 (grub_ext2_close): Release memory used by journal.
11994
11995 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
11996 (REISERFS_MAGIC_DESC_BLOCK): New macro.
11997 (grub_reiserfs_transaction_header): Renamed to
11998 grub_reiserfs_description_block, replace field data with real_blocks.
11999 (grub_reiserfs_commit_block): New structure.
12000 (grub_reiserfs_data): New member journal.
12001 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12002 number.
12003 (grub_reiserfs_read_symlink): Likewise.
12004 (grub_reiserfs_iterate_dir): Likewise.
12005 (grub_reiserfs_open): Likewise.
12006 (grub_reiserfs_read): Likewise.
12007 (grub_reiserfs_get_journal): New function.
12008 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12009 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12010 using grub_reiserfs_get_journal.
12011 (grub_reiserfs_close): Release memory used by journal.
12012
12013 * fs/affs.c (grub_affs_read_block): Change block type to
12014 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12015
12016 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12017
12018 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12019
12020 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12021
12022 * fs/udf.c (grub_udf_read_block): Change block type to
12023 grub_disk_addr_t. Use type cast to avoid warning.
12024
12025 * fs/xfs.c (grub_xfs_read_block): Likewise.
12026
b7c6bed5 120272008-05-16 Christian Franke <franke@computer.org>
12028
12029 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12030 to ensure that break with ESC will always work.
12031 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12032 Remove ESC from keyboard queue.
12033
eedf167f 120342008-05-16 Christian Franke <franke@computer.org>
12035
12036 * util/biosdisk.c: [__CYGWIN__] Add includes.
12037 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12038 (get_os_disk): Move variable declarations to OS specific
12039 parts to avoid warning.
12040 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12041 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12042 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12043 Cygwin.
12044 * util/getroot.c: [__CYGWIN__] Add includes.
12045 (strip_extra_slashes): Fix "/" case.
12046 [__CYGWIN__] (get_win32_path): New function.
12047 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12048 [__CYGWIN__] (find_root_device): Disable.
12049 [__CYGWIN__] (get_bootsec_serial): New function.
12050 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12051 [__linux__] (grub_guess_root_device): Add early returns to simplify
12052 structure.
12053 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12054 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12055 check for Linux only.
12056
a079699e 120572008-05-15 Bean <bean123ch@gmail.com>
12058
12059 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
12060 keyboard hang problem in apple's intel mac.
12061
1cf4059a 120622008-05-09 Robert Millan <rmh@aybabtu.com>
12063
12064 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
12065 devices.
12066 * util/grub-mkdevicemap.c (get_virtio_disk_name)
12067 (make_device_map): Likewise.
12068 Reported by Aurelien Jarno <aurel32@debian.org>
12069
ed759390 120702008-05-07 Ian Campbell <ijc@hellion.org.uk>
12071
12072 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
12073 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
12074 (make_device_map): Output entries for xvd type disks.
12075
b56c4eaa 120762008-05-07 Robert Millan <rmh@aybabtu.com>
12077
12078 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
12079 devices.
12080 * util/grub-mkdevicemap.c (get_cciss_disk_name)
12081 (make_device_map): Likewise.
12082 Reported by Roland Dreier <rdreier@cisco.com>
12083
7f8866ed 120842008-05-07 Robert Millan <rmh@aybabtu.com>
12085
12086 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
12087 grub_strstr() call. Correct a few mistakes in failure path handling.
12088
b0346e0f 120892008-05-06 Robert Millan <rmh@aybabtu.com>
12090
12091 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12092 Do not print a trailing slash (therefore, the root directory is an
12093 empty string).
12094 (convert_system_path_to_grub_path): Do not remove trailing slash
12095 from make_system_path_relative_to_its_root() output.
12096
12097 * util/i386/pc/grub-install.in: Add trailing slash to output from
12098 make_system_path_relative_to_its_root().
12099
6cf12cbd 121002008-05-06 Robert Millan <rmh@aybabtu.com>
12101
12102 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
12103 ensures that output lines aren't intermangled with those sent to
12104 stderr (via grub_util_info()).
12105 * util/grub-probe.c (grub_refresh): Likewise.
12106 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
12107
0fbb3117 121082008-05-05 Christian Franke <franke@computer.org>
12109
12110 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
12111 Add Cygwin device names.
12112 (get_ide_disk_name) [__CYGWIN__]: Likewise.
12113 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
12114 (check_device): Return error instead of success on empty name.
12115 (make_device_map): Move label inside linux specific code to
12116 prevent compiler warning.
12117
8124cdb7 121182008-04-30 Robert Millan <rmh@aybabtu.com>
12119
12120 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
12121 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
12122 first boot option.
12123 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
12124
094c01d0 121252008-04-29 Robert Millan <rmh@aybabtu.com>
12126
12127 * docs/grub.cfg: New file (example GRUB configuration).
12128
f4b1fc02 121292008-04-26 Robert Millan <rmh@aybabtu.com>
12130
329ce2a5 12131 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
12132 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
12133 and `disk/ieee1275/nand.c'.
f4b1fc02 12134
25f16ec1 121352008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 12136
25f16ec1 12137 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
12138 i386-linuxbios.
12139
12140 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
12141 change the buffer size to 4096 for cdrom device.
12142
12143 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
12144 and nand.mod.
12145 (_linux_mod_SOURCES): New variable.
12146 (_linux_mod_CFLAGS): Likewise.
12147 (_linux_mod_LDFLAGS): Likewise.
12148 (linux_mod_SOURCES): Likewise.
12149 (linux_mod_CFLAGS): Likewise.
12150 (linux_mod_LDFLAGS): Likewise.
12151 (nand_mod_SOURCES): Likewise.
12152 (nand_mod_CFLAGS): Likewise.
12153 (nand_mod_LDFLAGS): Likewise.
12154
12155 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
12156 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
12157 type property. (nand device in olpc don't have this property)
12158
12159 * include/grub/disk.h (grub_disk_dev_id): New macro
12160 GRUB_DISK_DEVICE_NAND_ID.
12161
12162 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
12163 function prototype.
12164 (grub_rescue_cmd_initrd): Likewise.
12165
12166 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
12167 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
12168 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 12169
25f16ec1 12170 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
12171 GRUB_MACHINE_IEEE1275 is defined.
12172
12173 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
12174 Use NESTED_FUNC_ATTR attribute on the hook parameter.
12175
12176 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
12177 on nested function heap_init.
12178 (grub_upper_mem): New variable for i386-ieee1275.
12179 (grub_get_extended_memory): New function for i386-ieee1275.
12180 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
12181
12182 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
12183 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
12184 property.
f19dbdb7 12185
25f16ec1 12186 * loader/i386/ieee1275/linux.c: New file.
12187
12188 * loader/i386/ieee1275/linux_normal.c: New file.
12189
12190 * disk/ieee1275/nand.c: New file.
12191
e89d61e9 121922008-04-18 Thomas Schwinge <tschwinge@gnu.org>
12193
12194 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
12195 value.
12196 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
12197
602566f6 121982008-04-18 Robert Millan <rmh@aybabtu.com>
12199
12200 Restructures early code path on ieee1275 to unify grub_main() as
12201 the first C function that is executed in every platform.
12202
12203 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
12204 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
12205 cmain().
12206 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
12207 * kern/ieee1275/cmain.c (cmain): Rename to ...
12208 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
12209 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
12210 at the beginning.
12211
57490c2b 122122008-04-18 Robert Millan <rmh@aybabtu.com>
12213
12214 * util/update-grub.in: Fix syntax error when setting
12215 `GRUB_PRELOAD_MODULES'.
12216 Reported by Stephane Chazelas <stephane@artesyncp.com>
12217
1977517d 122182008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
12219
12220 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
12221 section into account, newer toolchains generate unique build ids
12222 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 12223 we want build ids to be preserved
1977517d 12224 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
12225 far from other sections don't cause the raw binary images grow
12226 size
12227
bfb1f1a2 122282008-04-15 Robert Millan <rmh@aybabtu.com>
12229
12230 * disk/lvm.c: Update copyright year.
12231 * kern/misc.c: Likewise.
12232
01979850 122332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12234
12235 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 12236 there is no memory left for physical volume name.
01979850 12237
0a1150e2 122382008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12239
12240 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
12241 volume name mapping to support bigger than 9 character names properly.
12242
82ead3fe 122432008-04-13 Robert Millan <rmh@aybabtu.com>
12244
12245 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
12246 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
12247
e54a72f5 122482008-04-13 Christian Franke <franke@computer.org>
12249
12250 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
12251 to create a floppy emulation boot CD when non emulation mode
12252 does not work.
12253 Enable Joliet CD filesystem extension.
12254
9fe86034 122552008-04-13 Robert Millan <rmh@aybabtu.com>
12256
12257 * kern/misc.c (grub_strncat): Fix off-by-one error.
12258 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
12259
12260 * kern/env.c (grub_env_context_close): Clear current context, not
12261 previous one.
12262 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
12263
12264 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
12265
7ceeee39 122662008-04-13 Robert Millan <rmh@aybabtu.com>
12267
12268 Improve robustness when handling LVM.
12269
12270 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 12271 (and leave `*p' unmodified).
7ceeee39 12272 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
12273 through it.
12274 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
12275 iterating through it.
12276 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
12277 through it.
fe6b695a 12278 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 12279 when due) on each grub_lvm_getvalue() or grub_strstr() call.
12280 Don't assume `vg->pvs != NULL' when iterating through it.
12281
58cd3d85 122822008-04-13 Robert Millan <rmh@aybabtu.com>
12283
12284 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
12285 * genmk.rb (partmap): New variable.
12286 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
12287 (#{partmap}): New target rule.
12288 * genpartmaplist.sh: New file.
12289 * Makefile.in (pkglib_DATA): Add partmap.lst.
12290 (partmap.lst): New target rule.
12291 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
12292 modules (including all partition maps), instead of preloading them.
12293
78b51059 122942007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
12295
12296 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
12297 `linux-boot-prober' (if installed) to detect other operating
12298 systems which are installed on the computer and add them to
12299 the boot menu.
12300 * conf/common.rmk: Build and install 30_os-prober.
12301
a91627b4 123022008-04-12 Robert Millan <rmh@aybabtu.com>
12303
12304 * kern/powerpc/ieee1275/init.c: Move from here ...
12305 * kern/ieee1275/init.c: ... to here. Update all users.
12306
12307 * kern/powerpc/ieee1275/cmain.c: Move from here ...
12308 * kern/ieee1275/cmain.c: ... to here. Update all users.
12309
12310 * kern/powerpc/ieee1275/openfw.c: Move from here ...
12311 * kern/ieee1275/openfw.c: ... to here. Update all users.
12312
12313 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
12314 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
12315
322562ea 123162008-04-10 Pavel Roskin <proski@gnu.org>
12317
12318 * configure.ac: Always use "_cv_" in cache variables for
12319 compatibility with Autoconf 2.62.
12320
a02a73c5 123212008-04-07 Robert Millan <rmh@aybabtu.com>
12322
12323 Revert grub/machine/init.h addition by Pavel (since it breaks on
12324 i386-ieee1275 and others):
12325 * util/i386/pc/misc.c: Remove grub/machine/init.h.
12326 * util/powerpc/ieee1275/misc.c: Likewise.
12327
25c024b1 123282008-04-07 Robert Millan <rmh@aybabtu.com>
12329
12330 * util/grub-probe.c (probe): Improve error message.
12331
3cbd2f98 123322008-04-07 Robert Millan <rmh@aybabtu.com>
12333
12334 * util/biosdisk.c (read_device_map): Skip devices that don't exist
12335 (this prevents the presence of a bogus entry from ruining the whole
12336 thing).
12337
87a297bf 123382008-04-06 Pavel Roskin <proski@gnu.org>
12339
36747a62 12340 * util/biosdisk.c: Include grub/util/biosdisk.h.
12341 * util/grub-fstest.c (execute_command): Make static.
12342 * util/grub-mkdevicemap.c (check_device): Likewise.
12343 * util/i386/pc/misc.c: Include grub/machine/init.h.
12344 * util/powerpc/ieee1275/misc.c: Likewise.
12345 * util/lvm.c: Include grub/util/lvm.h.
12346 * util/misc.c: Include grub/kernel.h, grub/misc.h and
12347 grub/cache.h.
12348 * util/raid.c: Include grub/util/raid.h.
12349 (grub_util_getdiskname): Make static.
12350
87a297bf 12351 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
12352 grub_hostfs_fini(), as they are called from grub_init_all() and
12353 grub_fini_all() respectively. This fixes an infinite loop in
12354 grub-fstest due to double registration of hostfs.
12355 Reported by Christian Franke <Christian.Franke@t-online.de>
12356
f6ce7629 123572008-04-05 Pavel Roskin <proski@gnu.org>
12358
12359 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
12360 all 8 functions. Otherwise, probe function 0 only.
12361
070e49e4 123622008-04-04 Pavel Roskin <proski@gnu.org>
12363
8b088a4c 12364 * commands/lspci.c (grub_lspci_iter): Print the bus number
12365 correctly.
12366
4f657021 12367 * commands/lspci.c (grub_pci_classes): Fix typos.
12368 (grub_lspci_iter): Don't print func twice. Print vendor ID
12369 before device ID, as it's normally done.
12370
070e49e4 12371 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
12372 Fix signedness warnings.
12373 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
12374 Likewise.
12375 * util/ieee1275/get_disk_name.c: Include config.h so that
12376 _GNU_SOURCE is defined and getline() is declared. Mark an
12377 unused argument as such. Fix a signedness warning.
12378
ba7328dc 123792008-04-02 Pavel Roskin <proski@gnu.org>
12380
26887f22 12381 * genkernsyms.sh.in: Use more robust assignments for CC and
12382 srcdir. Quote srcdir.
12383 * gensymlist.sh.in: Likewise. Assert at the compile time that
12384 the symbol table is not empty.
12385
ba7328dc 12386 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
12387 * fs/cpio.c (grub_cpio_read): Likewise.
12388
0f582c6b 123892008-04-01 Pavel Roskin <proski@gnu.org>
12390
4b6e1995 12391 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
12392 * disk/host.c (grub_host_open): Likewise.
12393 * disk/loopback.c (grub_loopback_open): Likewise.
12394 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
12395 disk->id as in disk/host.c, not a multi-character constant.
12396
828a2768 12397 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
12398 later is obsolete, potentially dangerous and sets a bad example.
12399 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
12400 * util/misc.c (grub_util_get_image_size): Likewise.
12401
2bb4fb47 12402 * disk/loopback.c (options): Improve help for "--partitions".
12403
0f582c6b 12404 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
12405 options to align them with the short options, e.g. "echo -e".
12406
a33224e0 124072008-03-31 Bean <bean123ch@gmail.com>
12408
12409 * video/reader/png.c (grub_png_data): New member is_16bit and
12410 image_data.
12411 (grub_png_decode_image_header): Detect 16 bit png image.
12412 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
12413 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
12414 (grub_video_reader_png): Release memory occupied by image_data.
12415
12416 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
12417 4096 bytes.
12418 (grub_nfs_mount): Skip the test for sector per cluster.
12419
12420 * include/grub/ntfs.h (MAX_SPC): Removed.
12421
86cb4f54 124222008-03-31 Bean <bean123ch@gmail.com>
12423
12424 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
12425 (grub_probe_SOURCES): Add fs/afs.c.
12426 (grub_fstest_SOURCES): Likewise.
12427 (afs_mod_SOURCES): New variable.
12428 (afs_mod_CFLAGS): Likewise.
12429 (afs_mod_LDFLAGS): Likewise.
12430
12431 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
12432 (grub_emu_SOURCES): Likewise.
12433
12434 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12435
12436 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12437
12438 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12439
12440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12441
12442 * fs/afs.c: New file.
12443
17c74c21 124442008-03-30 Pavel Roskin <proski@gnu.org>
12445
4cb68e89 12446 * disk/host.c: Include grub/misc.h to fix a warning.
12447 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
12448 warnings about implicit declarations.
12449
8790bb04 12450 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
12451 variable.
12452 * include/grub/i386/loader.h: Change declaration of
12453 grub_linux_boot() to match what grub_loader_set() expects.
12454 * util/getroot.c (grub_guess_root_device): Return const char* to
12455 fix a warning.
12456 * util/grub-probe.c (probe): Fix a warning about uninitialized
12457 abstraction_name variable.
12458 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
12459 second argument as unused to fix a warning.
12460
9a3f3296 12461 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
12462 missing grub_error() call.
12463
0ecef90d 12464 * util/update-grub_lib.in: Define datarootdir, since Autoconf
12465 2.60 and newer uses it to define datadir.
12466
0bf6d401 12467 * commands/sleep.c: Fix warning about implicit declaration.
12468 * disk/memdisk.c: Likewise.
12469 * loader/aout.c: Likewise.
12470 * loader/i386/bsd_normal.c: Likewise.
12471 * util/grub-probe.c: Likewise.
12472
7cdacf97 12473 * commands/i386/cpuid.c (has_longmode): Make static.
12474 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
12475 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
12476
17c74c21 12477 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
12478 GDT. This is more robust, as %ds can change.
12479 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
12480 calling real_to_prot().
12481 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
12482
80a3e68b 124832008-03-28 Pavel Roskin <proski@gnu.org>
12484
12485 * kern/i386/pc/startup.S: Assert that uncompressed functions
12486 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
12487 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
12488 code, as they push parts of the code (error handlers) beyond
12489 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
12490 code as correctness and size.
12491
77bcd272 124922008-03-28 Pavel Roskin <proski@gnu.org>
12493
12494 * kern/i386/pc/startup.S
12495 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
12496 data block address to the real mode, keep offset minimal. This
12497 works around a bug in AWARD BIOS on old Athlon systems, which
12498 makes CD detection hang.
12499
c5dfd43b 125002008-03-26 Pavel Roskin <proski@gnu.org>
12501
12502 * normal/color.c (grub_parse_color_name_pair): Make `name' a
12503 const.
12504 * include/grub/normal.h: Add grub_parse_color_name_pair()
12505 declaration.
12506
bf962df2 125072008-03-24 Bean <bean123ch@gmail.com>
12508
12509 * disk/i386/pc/biosdisk.c (cd_start): Removed.
12510 (cd_count): Removed.
12511 (cd_drive): New variable.
12512 (grub_biosdisk_get_drive): Don't check for (cdN) device.
12513 (grub_biosdisk_call_hook): Likewise.
12514 (grub_biosdisk_iterate): Change cdrom detection method.
12515 (grub_biosdisk_open): Replace cd_start with cd_drive.
12516 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
12517 detect cdrom device.
12518
12519 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
12520 Removed.
12521 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
12522 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
12523 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
12524 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
12525 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
12526 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
12527 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
12528 (grub_biosdisk_cdrp): New structure.
12529 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
12530
12531 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
12532
12533 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
12534 device.
12535
12536 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
12537 New function.
12538
68e7fc7a 125392008-03-20 Robert Millan <rmh@aybabtu.com>
12540
12541 Remove 2 TiB limit in ata.mod.
12542 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
12543 (grub_ata_dumpinfo): Print sector count with 0x%llx.
12544 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
12545 grub_uint64_t instead of grub_uint32_t.
12546
38ad2cf5 125472008-03-05 Bean <bean123ch@gmail.com>
12548
12549 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
12550 (grub_multiboot): Set boot device.
12551
12552 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
12553
2b89344e 125542008-03-02 Bean <bean123ch@gmail.com>
12555
12556 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
12557 symlink_buffer.
12558
87a95d1f 125592008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
12560
12561 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
12562 texinfo.tex.
12563
12564 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
12565 modified.
12566
12567 * docs/fdl.texi: New file.
f19dbdb7 12568
87a95d1f 12569 * docs/mdate-sh: New file. Copied from gnulib.
12570 * docs/texinfo.tex: Likewise.
12571
12572 * config.guess: Updated from gnulib.
12573 * install-sh: Likewise.
12574
7dc15d8e 125752008-02-28 Robert Millan <rmh@aybabtu.com>
12576
12577 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
12578 (aout_mod_SOURCES): New variable.
12579 (aout_mod_CFLAGS): Likewise.
12580 (aout_mod_LDFLAGS): Likewise.
12581
12582 * conf/i386-ieee1275.rmk: Likewise.
12583
b00ab696 125842008-02-28 Robert Millan <rmh@aybabtu.com>
12585
12586 * util/update-grub.in: Reorganise terminal validity check. Accept
12587 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
12588 Based on suggestion by Franklin PIAT.
12589
79ca2d78 125902008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
12591
12592 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
12593 function.
12594 * util/getroot.c (grub_util_check_block_device): New function that
12595 returns the given argument if it is a block device and returns NULL else.
12596 * util/grub-probe.c (argument_is_device): New variable.
12597 (probe): Promote device_name from a variable to an argument. Receive
12598 device_name from grub_util_check_block_device() if path is NULL and from
12599 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 12600 (options): Introduce new parameter '-d, --device'.
79ca2d78 12601 (main): Add description of the new parameter to the help screen.
12602 Rename path variable to argument. Set argument_is_device if the '-d'
12603 option is given. Pass argument to probe() depending on
12604 argument_is_device.
12605
0d16e571 126062008-02-24 Bean <bean123ch@gmail.com>
12607
12608 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
12609 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
12610 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
12611 (GRUB_ISO9660_VOLDESC_PART): Likewise.
12612 (GRUB_ISO9660_VOLDESC_END): Likewise.
12613 (grub_iso9660_primary_voldesc): New member escape.
12614 (grub_iso9660_data): New member joliet.
12615 (grub_iso9660_convert_string): New function.
12616 (grub_iso9660_mount): Detect joliet extension.
12617 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
12618 (grub_iso9660_iso9660_label): Likewise.
12619
12620 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
12621 (grub_setup_SOURCES): Add fs/udf.c.
12622 (grub_fstest_SOURCES): Likewise.
12623 (udf_mod_SOURCES): New variable.
12624 (udf_mod_CFLAGS): Likewise.
12625 (udf_mod_LDFLAGS): Likewise.
12626
12627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
12628 (grub_emu_SOURCES): Likewise.
12629
12630 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12631
12632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12633
12634 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12635
12636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12637
12638 * fs/udf.c: New file.
12639
8a594a17 126402008-02-24 Robert Millan <rmh@aybabtu.com>
12641
12642 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
12643 (normal/lexer.c_DEPENDENCIES): New variables.
12644 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12645 (normal/lexer.c_DEPENDENCIES): Likewise.
12646 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
12647 (normal/lexer.c_DEPENDENCIES): Likewise.
12648 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
12649 (normal/lexer.c_DEPENDENCIES): Likewise.
12650 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12651 (normal/lexer.c_DEPENDENCIES): Likewise.
12652 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12653 (normal/lexer.c_DEPENDENCIES): Likewise.
12654
2dc33c03 126552008-02-23 Robert Millan <rmh@aybabtu.com>
12656
12657 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
12658 since they were intended to be in hex. This didn't break previously
12659 because of a bug in gpt_partition_map_iterate() (see below).
12660
12661 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
12662 when checking the validity of GPT header.
12663 Remove `partno', since it always provides the same information as `i'.
12664
f6f4cfb0 126652008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
12666
12667 * include/grub/efi/time.h: Fix a wrong comment.
12668
79ff665f 126692008-02-19 Pavel Roskin <proski@gnu.org>
12670
12671 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
12672 message.
12673
d38e24c2 126742008-02-19 Bean <bean123ch@gmail.com>
12675
12676 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
12677 (aout_mod_SOURCES): New variable.
12678 (aout_mod_CFLAGS): Likewise.
12679 (aout_mod_LDFLAGS): Likewise.
12680 (_bsd_mod_SOURCES): New variable.
12681 (_bsd_mod_CFLAGS): Likewise.
12682 (_bsd_mod_LDFLAGS): Likewise.
12683 (bsd_mod_SOURCES): New variable.
12684 (bsd_mod_CFLAGS): Likewise.
12685 (bsd_mod_LDFLAGS): Likewise.
12686
12687 * include/grub/aout.h: New file.
12688
12689 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
12690
12691 * include/grub/i386/bsd.h: New file.
12692
12693 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
12694 to make it public.
12695
12696 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
12697 function is called, so that it's possible to change it inside the hook.
12698 (grub_elf64_load): Likewise.
12699 (grub_elf_file): Don't close the file if elf header is not found.
12700 (grub_elf_close): Close the file if grub_elf_file fails (The new
12701 grub_elf_file won't close it).
12702 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
12703 (grub_elf64_size): Likewise.
12704
12705 * kern/i386/loader.S (grub_unix_real_boot): New function.
12706
12707 * loader/aout.c: New file.
12708
12709 * loader/i386/bsd.c: New file.
12710
12711 * loader/i386/bsd_normal.c: New file.
12712
12713 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
12714
12715 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 12716 can test other formats.
d38e24c2 12717
b93bdb0f 127182008-02-19 Robert Millan <rmh@aybabtu.com>
12719
12720 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
12721 (grub_gpt_partition_type_empty): Redefine with macro from
12722 `<grub/gpt_partition.h>'.
12723 (gpt_partition_map_iterate): Adjust partition type comparison.
12724
12725 Export `entry' as partmap-specific `part.data' struct.
12726 (grub_gpt_header, grub_gpt_partentry): Move from here ...
12727
12728 * include/grub/gpt_partition.h (grub_gpt_header)
12729 (grub_gpt_partentry): ... to here (new file).
12730
12731 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
12732
12733 (grub_gpt_partition_type_bios_boot): New const variable, defined
12734 with macro from `<grub/gpt_partition.h>'.
12735
12736 (setup): Replace `first_start' with `embed_region', which keeps
12737 track of the embed region (and is partmap-agnostic).
12738
12739 Replace find_first_partition_start() with find_usable_region(),
12740 which finds a usable region for embedding using partmap-specific
12741 knowledge (supports PC/MSDOS and GPT).
12742
12743 Fix all assumptions that the embed region start at sector 1, using
12744 `embed_region.start' from now on. Similarly, use `embed_region.end'
12745 rather than `first_start' to calculate available size.
12746
12747 In grub_util_info() message, replace "into after the MBR" with an
12748 indication of the specific sector our embed region starts at.
12749
66cb40f6 127502008-02-19 Robert Millan <rmh@aybabtu.com>
12751
12752 * DISTLIST: Replace `commands/ieee1275/halt.c' and
12753 `commands/ieee1275/reboot.c' with `commands/halt.c' and
12754 `commands/reboot.c'.
12755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12756 (halt_mod_SOURCES): Likewise.
12757 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12758 (halt_mod_SOURCES): Likewise.
12759
b7202015 127602008-02-17 Christian Franke <franke@computer.org>
12761
12762 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
12763
32b0fc49 127642008-02-17 Robert Millan <rmh@aybabtu.com>
12765
12766 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12767 set `first_start' to 0 for non-PC/MSDOS partition maps.
12768
aca63502 127692008-02-16 Robert Millan <rmh@aybabtu.com>
12770
12771 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12772 do not assume partition map is PC/MSDOS before performing checks that
12773 are specific to that layout.
12774
0de8be86 127752008-02-13 Robert Millan <rmh@aybabtu.com>
12776
12777 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
12778 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
12779 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
12780
c3db8364 127812008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
12782
12783 * configure.ac: Only a cosmetic change on the handling of
12784 -fno-stack-protector.
12785
f714229e 127862008-02-12 Alexandre Boeglin <alex@boeglin.org>
12787
c3db8364 12788 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
12789 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
12790 reboot.c.
f714229e 12791 (grub_install_SOURCES): Add halt.mod and reboot.mod.
12792 (halt_mod_SOURCES): New variable.
12793 (halt_mod_CFLAGS): Likewise.
12794 (halt_mod_LDFLAGS): Likewise.
12795 (reboot_mod_SOURCES): Likewise.
12796 (reboot_mod_CFLAGS): Likewise.
12797 (reboot_mod_LDFLAGS): Likewise.
12798
c3db8364 12799 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
12800 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
12801 reboot.c.
f714229e 12802 (halt_mod_SOURCES): Likewise.
12803 (reboot_mod_SOURCES): Likewise.
12804
c3db8364 12805 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
12806 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 12807 (reboot_mod_SOURCES): Likewise.
12808
12809 * commands/i386/pc/reboot.c: merge this file ...
12810
12811 * commands/ieee1275/reboot.c: ... and this file ...
12812
12813 * commands/reboot.c: ... to this file.
c3db8364 12814 Add some precompiler directive to include the correct header for
12815 each machine.
f714229e 12816
12817 * commands/ieee1275/halt.c: move this file ...
12818
12819 * commands/halt.c: ... to here.
c3db8364 12820 Add some precompiler directive to include the correct header for
12821 each machine.
f714229e 12822
12823 * include/grub/efi/efi.h (grub_reboot): New function declaration.
12824 (grub_halt): Likewise.
12825
12826 * kern/efi/efi.c (grub_reboot): New function.
12827 (grub_halt): Likewise.
12828
c74493e0 128292008-02-12 Robert Millan <rmh@aybabtu.com>
12830
12831 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
12832 /dev (like it is done for /dev/mapper). This doesn't provide support
12833 for EVMS, but at least it is now easy to identify the problem when it
12834 arises.
12835
d0db4b04 128362008-02-11 Robert Millan <rmh@aybabtu.com>
12837
12838 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
12839 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
12840 comparing it with -1, not 0.
12841
bf748642 128422008-02-10 Robert Millan <rmh@aybabtu.com>
12843
12844 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
12845 `disk/lvm.c'.
12846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12847 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12848
12849 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
12850 `disk/lvm.c' to the end of the list.
12851 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12852 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12853
b5db202a 128542008-02-10 Robert Millan <rmh@aybabtu.com>
12855
12856 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
12857 grub_print_error() instead. This will let user know why we're entering
12858 rescue mode.
12859 Based on suggestions from Sam Morris.
12860
83abee31 128612008-02-10 Alexandre Boeglin <alex@boeglin.org>
12862
12863 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
12864 on remaining N args, instead of "--" arg N times.
12865
78d5a08b 128662008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
12867
12868 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
12869 (fill_with_default_glyph): Changed to use unknown_glyph for fill
12870 pattern for unknown glyphs.
12871
68807e5f 128722008-02-09 Robert Millan <rmh@aybabtu.com>
12873
12874 * configure.ac: Probe for `help2man'.
12875 * Makefile.in (builddir): New variable.
12876 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
12877 or otherwise add a few flags/options to it.
12878 (install-local): For every executable utility or script that is
12879 installed, invoke $(HELP2MAN) to install a manpage based on --help
12880 output.
12881
12882 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
12883 that it doesn't prevent --help from working in build tree.
12884
12885 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
12886 with `bug-grub@gnu.org'.
12887 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
12888 * util/update-grub.in (usage): New function.
12889 Implement proper argument check, with support for --help and --version
12890 (as well as existing -y).
12891
128922008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 12893
12894 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
12895 avoid overwriting previous output.
12896 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
12897
c1962162 128982008-02-09 Robert Millan <rmh@aybabtu.com>
12899
12900 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
12901 drawing the menu.
12902
3dac2e3f 129032008-02-09 Robert Millan <rmh@aybabtu.com>
12904
12905 * commands/sleep.c: New file.
12906 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
12907 (sleep_mod_SOURCES): New variable.
12908 (sleep_mod_CFLAGS): Likewise.
12909 (sleep_mod_LDFLAGS): Likewise.
12910
7a634e08 129112008-02-09 Robert Millan <rmh@aybabtu.com>
12912
12913 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
12914 situations in which we can deduce the RAID size and the superblock
12915 doesn't match it.
12916
b92f0c18 129172008-02-09 Robert Millan <rmh@aybabtu.com>
12918
12919 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
12920 and return a grub_diskmemberlist_t composed of LVM physical volumes.
12921 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
12922
12923 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
12924 and return a grub_diskmemberlist_t composed of physical array members.
12925 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
12926
12927 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
12928 prototype.
12929 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
12930 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
12931 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
12932
12933 * util/grub-probe.c (probe): Move partmap probing code from here ...
12934 (probe_partmap): ... to here.
12935 (probe): Use probe_partmap() once for the disk we're probing, and
12936 additionally, when such disk contains a memberlist() struct member,
12937 once for each disk that is contained in the structure returned by
12938 memberlist().
12939
91a4bf68 129402008-02-09 Robert Millan <rmh@aybabtu.com>
12941
12942 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
12943 environment variable to 'all' in order to obtain debug output from
12944 non-util/ code.
12945 * util/i386/pc/grub-setup.c (main): Likewise.
12946
a96f9caa 129472008-02-08 Robert Millan <rmh@aybabtu.com>
12948
12949 * disk/raid.c (grub_raid_scan_device): Check for
12950 `array->device[sb.this_disk.number]' rather than for
12951 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 12952 guaranteed to be accessible.
a96f9caa 12953
b37a9222 129542008-02-08 Robert Millan <rmh@aybabtu.com>
12955
12956 * disk/raid.c: Update copyright.
12957 * fs/cpio.c: Likewise.
12958 * include/grub/raid.h: Likewise.
12959 * loader/i386/pc/multiboot.c: Likewise.
12960 * util/hostfs.c: Likewise.
12961
5626aee1 129622008-02-08 Robert Millan <rmh@aybabtu.com>
12963
12964 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
12965 to a grub_disk_t array.
12966 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
12967 `device[x]'.
12968 (grub_raid_scan_device): Replace `device[x].name' accesses with
12969 `device[x]->name'. Simplify initialization of `array->device[x]'.
12970
554f0187 129712008-02-08 Robert Millan <rmh@aybabtu.com>
12972
12973 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
12974 grub_dprintf() calls.
12975 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
12976 error message.
12977
1ec8425d 129782008-02-07 Christian Franke <franke@computer.org>
12979
12980 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
12981 instead of fseek and ftell to support large files.
12982 (grub_hostfs_read): Likewise.
12983
f2156fda 129842008-02-07 Robert Millan <rmh@aybabtu.com>
12985
12986 Patch from Jeroen Dekkers.
12987 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 12988 failure, since successfully reading all array members might not be
f2156fda 12989 required.
12990
9216e0e7 129912008-02-06 Robert Millan <rmh@aybabtu.com>
12992
12993 * util/grub-probe.c (probe): Simplify partmap probing (with the
12994 assumption that the first word up to the underscore equals to
12995 the module name).
12996
b0dfd29a 129972008-02-06 Christian Franke <franke@computer.org>
12998
12999 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13000 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13001 last block of a cpio or tar stream.
13002 Check for "TRAILER!!!" instead of any empty data
13003 block to detect last block of a cpio stream.
13004 (grub_cpio_dir): Fix constness of variable np.
13005 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13006 cpio or tar trailer is detected. This fixes a crash
13007 on open of a non existing file.
13008
c32865bf 130092008-02-05 Bean <bean123ch@gmail.com>
13010
13011 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13012 address of entry.
13013 (grub_multiboot_load_elf64): Likewise.
13014 (grub_multiboot): Initialize mbi structure.
13015
13016 * util/grub-fstest.c: Don't include unused header file script.h.
13017
fe6b695a 13018 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13019 of file.
13020 (grub_fstest_SOURCES): Likewise.
13021
409480b7 130222008-02-05 Robert Millan <rmh@aybabtu.com>
13023
13024 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13025 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13026 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13027 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13028
13029 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13030 (translation_table): Replace hardcoded values with macros
13031 provided by `<grub/term.h>'.
13032
13033 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13034 (keyboard_map): Correct/add a few values, with macros provided
13035 by `<grub/term.h>'.
13036 (keyboard_map_shift): Zero values that don't differ from their
13037 `keyboard_map' equivalents.
13038 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13039 Discard the second scan code that is always sent by Caps lock.
13040 Only use `keyboard_map_shift' when it provides a non-zero value,
13041 otherwise fallback to `keyboard_map'.
13042
99fadbaa 130432008-02-04 Bean <bean123ch@gmail.com>
13044
13045 * Makefile.in (enable_grub_fstest): New variable.
13046
13047 * conf/common.rmk (grub_fstest_init.lst): New rule.
13048 (grub_fstest_init.h): Likewise.
13049 (grub_fstest_init.c): Likewise.
13050 (util/grub-fstest.c_DEPENDENCIES): New variable.
13051 (grub_fstest_SOURCES): Likewise.
13052
13053 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13054
13055 * util/grub-fstest.c: New file.
13056
bf567c50 130572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13058
13059 Make grub-setup handle a separate root device.
f19dbdb7 13060
bf567c50 13061 * util/i386/pc/grub-setup.c (setup): Always open the root device,
13062 so that the root device can be compared with the destination
13063 device.
13064 When embedding the core image, if the root and destination devices
13065 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
13066 0xFF.
13067 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 13068
9be6b98b 130692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13070
13071 Add support for having a grub directory in a different drive. This
13072 is still only the data handling part.
f19dbdb7 13073
9be6b98b 13074 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
13075 (codestart): Save %dh in GRUB_ROOT_DRIVE.
13076 (grub_root_drive): New variable.
13077
13078 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
13079 instead of GRUB_BOOT_DRIVE to construct a device name. Set
13080 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
13081 as it was.
13082
13083 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
13084
13085 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
13086 macro.
13087 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
13088
13089 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
13090 is bogus, because PXE booting does not specify any drive
13091 correctly.
13092
13093 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
13094 am not sure if this is really correct.
13095
13096 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
13097 is always identical to the boot drive when booting from a CD.
13098
13099 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
13100 longer.
13101 (root_drive): New variable.
13102 (real_start): Unconditionally set %dh to ROOT_DRIVE.
13103 (setup_sectors): Push %dx right after popping it, because %dh will
13104 be modified later.
13105 (copy_buffer): Restore %dx.
13106
e0ca0677 131072008-02-03 Robert Millan <rmh@aybabtu.com>
13108
13109 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
13110 use `cdboot.img' for cdrom images.
13111
3b3f6629 131122008-02-03 Robert Millan <rmh@aybabtu.com>
13113
13114 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
13115 only setup gfxterm when `font' command has succeeded.
13116
d42b3672 131172008-02-03 Robert Millan <rmh@aybabtu.com>
13118
13119 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
13120 (grub_rescue_cmd_multiboot_loader)
13121 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
13122
fa370ea6 131232008-02-03 Pavel Roskin <proski@gnu.org>
13124
e0c5dacb 13125 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 13126 %edx and %esi from stack only after grub_gate_a20() is called.
13127 grub_gate_a20() clobbers %edx.
13128
f2a76e1d 131292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13130
13131 * configure.ac (AC_INIT): Bumped to 1.96.
13132
13133 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
13134 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
13135 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
13136 video/readers/png.c.
13137
90fd32d1 131382008-02-03 Bean <bean123ch@gmail.com>
9be665dd 13139
13140 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
13141 (cdboot_img_SOURCES): New variable.
13142 (cdboot_img_ASFLAGS): New variable.
13143 (cdboot_img_LDFLAGS): New variable.
13144
13145 * boot/i386/pc/cdboot.S: New file.
13146
13147 * disk/i386/pc/biosdisk.c (cd_start): New variable.
13148 (cd_count): Likewise.
13149 (grub_biosdisk_get_drive): Add support for cd device.
13150 (grub_biosdisk_call_hook): Likewise.
13151 (grub_biosdisk_iterate): Likewise.
13152 (grub_biosdisk_open): Likewise.
13153 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
13154 (grub_biosdisk_rw): Support reading from cd device.
13155 (GRUB_MOD_INIT): Iterate cd devices.
13156
13157 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
13158 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
13159 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
13160
13161 * kern/i386/pc/init.c (make_install_device): Check for cd device.
13162
4020aa53 131632008-02-02 Robert Millan <rmh@aybabtu.com>
13164
13165 * commands/read.c: New file.
13166 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
13167 (read_mod_SOURCES): New variable.
13168 (read_mod_CFLAGS): Likewise.
13169 (read_mod_LDFLAGS): Likewise.
13170
e03a1132 131712008-02-02 Robert Millan <rmh@aybabtu.com>
13172
13173 * normal/main.c (grub_normal_execute): Check for `menu->size' when
13174 determining whether menu has to be displayed.
13175
58c69220 131762008-02-02 Marco Gerards <marco@gnu.org>
13177
13178 * bus/pci.c: New file.
13179
13180 * include/grub/pci.h: Likewise.
13181
13182 * include/grub/i386/pc/pci.h: Likewise.
13183
13184 * commands/lspci.c: Likewise.
13185
13186 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
13187 `lspci.mod'.
13188 (pci_mod_SOURCES): New variable.
13189 (pci_mod_CFLAGS): Likewise.
13190 (pci_mod_LDFLAGS): Likewise.
13191 (lspci_mod_SOURCES): Likewise.
13192 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 13193 (lspci_mod_LDFLAGS): Likewise.
58c69220 13194
c004e1b4 131952008-02-02 Bean <bean123ch@gmail.com>
13196
13197 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
13198 (grub_ufs_get_file_block): Fix indirect block calculation problem.
13199
13200 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
13201 (grub_xfs_btree_node): New structure.
13202 (grub_xfs_btree_root): New structure.
13203 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
13204 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
13205 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13206 (GRUB_XFS_EXTENT_SIZE): Likewise.
13207 (grub_xfs_read_block): Support btree format type.
13208 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
13209 Use directory block as basic unit.
13210
13211 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
13212
13213 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
13214 __attribute__ ((__regparm__ (1))).
13215
f95562bf 132162008-02-01 Robert Millan <rmh@aybabtu.com>
13217
13218 Correct a mistake in previous commit.
13219
13220 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
13221 top.
13222 (normal/command.c_DEPENDENCIES): New variable.
13223
7d31f41f 132242008-02-01 Robert Millan <rmh@aybabtu.com>
13225
13226 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
13227 top.
13228 (normal/command.c_DEPENDENCIES): New variable.
13229 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
13230 * conf/i386-ieee1275.rmk: Likewise.
13231 * conf/i386-linuxbios.rmk: Likewise.
13232 * conf/i386-pc.rmk: Likewise.
13233 * conf/sparc64-ieee1275.rmk: Likewise.
13234 * conf/powerpc-ieee1275.rmk: Likewise.
13235 (grub_emu_SOURCES): Add `fs/fshelp.c'.
13236
13237 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
13238
60b6be74 132392008-02-01 Robert Millan <rmh@aybabtu.com>
13240
13241 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
13242 call at beginning of function.
13243
078522ab 132442008-01-31 Pavel Roskin <proski@gnu.org>
13245
13246 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 13247 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
13248 (grub_mkrescue_SOURCES): Likewise.
078522ab 13249 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
13250
ccaa8a5f 132512008-01-30 Robert Millan <rmh@aybabtu.com>
13252
13253 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
13254 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
13255 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
13256 (grub_probe_SOURCES): ... to here.
13257
13258 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
13259 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
13260 * conf/i386-ieee1275.rmk: Likewise.
13261 * conf/i386-linuxbios.rmk: Likewise.
13262 * conf/powerpc-ieee1275.rmk: Likewise.
13263
ae5a9cd7 132642008-01-30 Tristan Gingold <gingold@free.fr>
13265
13266 * kern/rescue.c: Silently accept empty lines.
13267
70bc2ef2 132682008-01-29 Bean <bean123ch@gmail.com>
13269
13270 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
13271 (real_code_2): Code cleanup and change comment style.
13272 (move_memory): Avoid using 32-bit address mode.
13273
6a4d50ea 132742008-01-29 Bean <bean123ch@gmail.com>
13275
13276 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
13277 (png_mod_SOURCES): New variable.
13278 (png_mod_CFLAGS): Likewise.
13279 (png_mod_LDFLAGS): Likewise.
13280
13281 * video/readers/png.c: New file.
13282
11cc30ac 132832008-01-28 Robert Millan <rmh@aybabtu.com>
13284
13285 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
13286 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
13287 `ifndef GRUB_MOD_GAP' hack.
13288 * util/elf/grub-mkimage.c (add_segments): Likewise.
13289
3abc589f 132902008-01-27 Robert Millan <rmh@aybabtu.com>
13291
13292 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
13293 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 13294 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 13295
e1907778 132962008-01-27 Robert Millan <rmh@aybabtu.com>
13297
13298 Get grub-emu to build again (including parallel builds).
13299
13300 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
13301 Split into ...
13302 (util/grub-emu.c_DEPENDENCIES): ... this, ...
13303 (normal/execute.c_DEPENDENCIES): ... this, ...
13304 (grub-emu_DEPENDENCIES): ... and this.
13305
13306 * conf/i386-efi.rmk: Likewise.
13307 * conf/i386-linuxbios.rmk: Likewise.
13308 * conf/i386-ieee1275.rmk: Likewise.
13309 * conf/powerpc-ieee1275.rmk: Likewise.
13310 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
13311
2216b101 133122008-01-27 Robert Millan <rmh@aybabtu.com>
13313
13314 * NEWS: Add a few items.
13315
f75172d9 133162008-01-27 Robert Millan <rmh@aybabtu.com>
13317
13318 Fix parallel builds with grub-emu. Based on earlier commit for
13319 grub-probe and grub-setup.
13320
13321 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13322 (util/grub-emu.c_DEPENDENCIES): ... this.
13323 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13324 (util/grub-emu.c_DEPENDENCIES): ... this.
13325 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13326 (util/grub-emu.c_DEPENDENCIES): ... this.
13327 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13328 (util/grub-emu.c_DEPENDENCIES): ... this.
13329 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13330 (util/grub-emu.c_DEPENDENCIES): ... this.
13331
3f51de77 133322008-01-27 Pavel Roskin <proski@gnu.org>
13333
13334 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
13335 to create a gap between _end and the modules added to the image
13336 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
13337 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
13338 * util/elf/grub-mkimage.c (add_segments): Likewise.
13339
2033f53e 133402008-01-26 Pavel Roskin <proski@gnu.org>
13341
13342 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
13343 just return an error.
13344
22da1f6f 133452008-01-26 Bean <bean123ch@gmail.com>
13346
13347 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
13348 (grub_reiserfs_get_item): Save offset of the next item.
13349 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
13350
2a9525e6 133512008-01-25 Robert Millan <rmh@aybabtu.com>
13352
13353 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
13354 make all filesystem sources appear together (possibly fixing omissions
13355 while at it).
13356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13357 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13358 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13360
13361 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
13362 add `kern/file.c'.
13363 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
13364 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13365 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
13366 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13367
13368 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
13369 (probe): Add a sanity check to make sure of our ability to read
13370 requested files when probing for filesystem type.
13371
13372 * genmk.rb: Update copyright year (2007).
13373
13374 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
13375 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
13376 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
13377 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
13378 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
13379 : Remove function prototypes.
13380
b95f71b5 133812008-01-25 Robert Millan <rmh@aybabtu.com>
13382
13383 Revert my previous commits (based on wrong assumption of how grub_errno
13384 works).
13385
fe6b695a 13386 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 13387 * kern/file.c (grub_file_open): Likewise.
13388
d08bbb49 133892008-01-24 Pavel Roskin <proski@gnu.org>
13390
13391 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
13392 that hang if GRUB tries to setup colors.
13393 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
13394 colors for firmwares that don't support it.
13395 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
13396 Recognize Open Hack'Ware, set flags to work around its
13397 limitations.
13398
605e36ed 133992008-01-24 Robert Millan <rmh@aybabtu.com>
13400
13401 * kern/file.c (grub_file_open): Do not account previous failures of
13402 unrelated functions when grub_errno is checked for.
13403 Reported by Oleg Strikov.
13404
bac332a1 134052008-01-24 Bean <bean123ch@gmail.com>
13406
13407 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
13408 (grub_ufs_sblock): New member volume name.
13409 (grub_ufs_find_file): Fix string copy bug.
13410 (grub_ufs_label): Implement this function properly.
13411
13412 * fs/hfs.c (grub_hfs_cnid_type): New enum.
13413 (grub_hfs_iterate_records): Use the correct file number for extents
13414 and catalog file. Fix problem in next index calculation.
13415 (grub_hfs_find_node): Replace recursive function call with loop.
13416 (grub_hfs_iterate_dir): Replace recursive function call with loop.
13417
15c80c09 134182008-01-23 Robert Millan <rmh@aybabtu.com>
13419
13420 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
13421 `<grub/symbol.h>' and `<grub/multiboot.h>'.
13422 (grub_multiboot2_real_boot): New function prototype.
13423
13424 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
13425 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
13426
13427 * kern/i386/ieee1275/init.c (grub_os_area_addr)
13428 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
13429
305338fd 134302008-01-23 Robert Millan <rmh@aybabtu.com>
13431
13432 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
13433 #ifdef'ed out grub_printf().
13434
3ea52685 134352008-01-23 Robert Millan <rmh@aybabtu.com>
13436
13437 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
13438 grub_dprintf calls, since they make "debug=all" mode unusable.
13439 (grub_console_checkkey): Likewise.
13440
5882ae4b 134412008-01-23 Robert Millan <rmh@aybabtu.com>
13442
13443 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13444 `term/i386/pc/at_keyboard.c'.
13445 (pkglib_MODULES): Add `serial.mod'.
13446 (serial_mod_SOURCES): New variable.
13447 (serial_mod_CFLAGS): Likewise.
13448 (serial_mod_LDFLAGS): Likewise.
13449
13450 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
13451 `<grub/powerpc/ieee1275/console.h>'.
13452 (grub_keyboard_controller_init): New function prototype.
13453 (grub_console_checkkey): Likewise.
13454 (grub_console_getkey): Likewise.
13455
13456 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
13457 keyboard on i386.
13458
13459 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
13460 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
13461
06ab5303 134622008-01-23 Robert Millan <rmh@aybabtu.com>
13463
13464 * kern/i386/pc/init.c (make_install_device): When memdisk image is
13465 present, "(memdisk)/boot/grub" becomes the default prefix.
13466
13467 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
13468 a memdisk tarball with all the modules. Add --overlay=DIR option that
13469 allows users to overlay additional files into the image.
13470
dbb475a4 134712008-01-23 Robert Millan <rmh@aybabtu.com>
13472
13473 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
13474 and `machine/memory.h'.
13475 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
13476 (_multiboot_mod_SOURCES): New variable.
13477 (_multiboot_mod_CFLAGS): Likewise.
13478 (_multiboot_mod_LDFLAGS): Likewise.
13479 (multiboot_mod_SOURCES): Likewise.
13480 (multiboot_mod_CFLAGS): Likewise.
13481 (multiboot_mod_LDFLAGS): Likewise.
13482
13483 * include/grub/i386/ieee1275/loader.h: New file.
13484
13485 * include/grub/i386/ieee1275/machine.h: Likewise.
13486
13487 * include/grub/i386/ieee1275/memory.h: Likewise.
13488
13489 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
13490 variable declaration.
13491 (grub_os_area_size): Likewise.
13492
13493 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
13494 (grub_lower_mem, grub_upper_mem): New variables.
13495 (grub_stop_floppy): New function (just to make
13496 grub_multiboot2_real_boot() happy).
13497
13498 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
13499 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
13500 (grub_stop): New function.
13501 Include `"../realmode.S"' and `"../loader.S"'.
13502
13503 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
13504 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
13505
13506 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
13507 rely on grub_multiboot2_real_boot() for final boot.
13508
25638629 135092008-01-22 Robert Millan <rmh@aybabtu.com>
13510
13511 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
13512 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
13513 device that doesn't look like an SD card.
13514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13515 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
13516 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
13517 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
13518 found.
13519
9dad816d 135202008-01-22 Robert Millan <rmh@aybabtu.com>
13521
13522 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
13523 avoid claiming over our own code.
13524
34842f2d 135252008-01-22 Bean <bean123ch@gmail.com>
13526
13527 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
13528 (jpeg_mod_SOURCES): New variable.
13529 (jpeg_mod_CFLAGS): Likewise.
13530 (jpeg_mod_LDFLAGS): Likewise.
13531
13532 * video/readers/jpeg.c : New file.
13533
44023a28 135342008-01-22 Bean <bean123ch@gmail.com>
13535
13536 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
13537 there are no more items.
13538
bc2d8ac6 135392008-01-21 Robert Millan <rmh@aybabtu.com>
13540
13541 * kern/mm.c (grub_mm_init_region): Improve debug message.
13542
261bd4bc 135432008-01-21 Robert Millan <rmh@aybabtu.com>
13544
13545 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
13546 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
13547 address.
13548 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
13549 a C macro.
13550 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
13551 Indicates start of upper memory.
13552 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
13553 (generate_image): Abort when image size is big enough to corrupt
13554 upper memory.
13555
13556 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
13557 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
13558 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13559 instead of hardcoding 0xA0000.
13560 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
13561 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13562 instead of hardcoding 0xA0000.
13563
f970b55e 135642008-01-21 Robert Millan <rmh@aybabtu.com>
13565
13566 * disk/memdisk.c (memdisk_size): New variable.
13567 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
13568 `memdisk_size'.
13569 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
13570 image to dynamic memory.
13571 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
13572 `memdisk_size'. Free memdisk block.
13573
1a8b0526 135742008-01-21 Robert Millan <rmh@aybabtu.com>
13575
13576 Fix detection of very small filesystems (like tar).
13577
13578 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
13579 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
13580 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
13581 a problem with this disk).
13582
6e9b4aab 135832008-01-21 Robert Millan <rmh@aybabtu.com>
13584
13585 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
13586 on grub_biosdisk_rw_standard() error.
13587
0d8837b2 135882008-01-21 Robert Millan <rmh@aybabtu.com>
13589
13590 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
13591 recent changes.
13592 * kern/elf.c: Likewise.
13593 * kern/ieee1275/ieee1275.c: Likewise.
13594 * kern/powerpc/ieee1275/openfw.c: Likewise.
13595 * term/ieee1275/ofconsole.c: Likewise.
13596
ffd36e34 135972008-01-21 Robert Millan <rmh@aybabtu.com>
13598
13599 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
13600
3f0093d0 13601 * include/grub/kernel.h (grub_arch_memdisk_addr)
13602 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 13603
3f0093d0 13604 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
13605 (grub_arch_memdisk_size): ... to here.
ffd36e34 13606
6c391b21 136072008-01-21 Robert Millan <rmh@aybabtu.com>
13608
13609 Mostly based on bugfix from Bean.
13610
13611 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
13612 attribute with hook() parameter.
13613 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
13614 declaration.
13615 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
13616 attribute with hook() parameter.
13617 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
13618 declaration.
13619
55a581dc 136202008-01-21 Robert Millan <rmh@aybabtu.com>
13621
13622 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
13623 (pkglib_MODULES): Add `memdisk.mod'.
13624 (memdisk_mod_SOURCES): New variable.
13625 (memdisk_mod_CFLAGS): Likewise.
13626 (memdisk_mod_LDFLAGS): Likewise.
13627
13628 * disk/memdisk.c: New file.
13629
13630 * include/grub/disk.h (grub_disk_dev_id): Add
13631 `GRUB_DISK_DEVICE_MEMDISK_ID'.
13632
13633 * include/grub/i386/pc/kernel.h
13634 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
13635 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
13636 (grub_kernel_image_size): New variable declaration.
13637 (grub_total_module_size): Likewise.
13638 (grub_memdisk_image_size): Likewise.
13639
13640 * include/grub/i386/pc/memory.h
13641 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
13642
13643 * include/grub/kernel.h: Include `<grub/symbol.h>'.
13644 (grub_arch_memdisk_addr): New variable declaration.
13645 (grub_arch_memdisk_size): Likewise.
13646
13647 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
13648 (grub_arch_memdisk_size): Likewise.
13649
13650 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
13651 (codestart): Replace hardcoded `0x100000' with
13652 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
13653
13654 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
13655 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
13656 not NULL, append the contents of the file it refers to, at the end of
13657 the compressed kernel image. Initialize `grub_memdisk_image_size'
13658 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
13659 (options): Add "memdisk"|'m' option.
13660 (main): Parse --memdisk|-m option, and pass user-provided path as
13661 parameter to generate_image().
13662
3d7f54c9 136632008-01-20 Robert Millan <rmh@aybabtu.com>
13664
13665 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
13666 grub_dprintf() calls from here ...
13667 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
13668
0bf74728 136692008-01-20 Robert Millan <rmh@aybabtu.com>
13670
13671 Fix detection of "real mode" when /options/real-mode? doesn't exist.
13672
13673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
13674 declaration.
13675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
13676 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
13677 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 13678 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 13679 property).
13680 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
13681 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
13682
33bf70a7 136832008-01-19 Robert Millan <rmh@aybabtu.com>
13684
fe6b695a 13685 Get rid of confusing function (superseded by
33bf70a7 13686 `grub_ieee1275_get_integer_property')
13687 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
13688 prototype.
13689 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
13690 function.
13691 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
13692 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 13693 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 13694
e2da7d26 136952008-01-19 Robert Millan <rmh@aybabtu.com>
13696
13697 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
13698 command after "shut-down", since implementations differ on which
13699 the command for halt is.
13700
59f1fd8d 137012008-01-19 Robert Millan <rmh@aybabtu.com>
13702
13703 * include/grub/i386/linuxbios/console.h: Add header protection.
13704 (grub_keyboard_controller_init): New function prototype.
13705 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
13706 (KEYBOARD_COMMAND_READ): Likewise.
13707 (KEYBOARD_COMMAND_WRITE): Likewise.
13708 (KEYBOARD_SCANCODE_SET1): Likewise.
13709 (grub_keyboard_controller_write): New function.
13710 (grub_keyboard_controller_read): Likewise.
13711 (grub_keyboard_controller_init): Likewise.
13712
13713 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
13714 (grub_console_init): On coreboot/LinuxBIOS, call
13715 grub_keyboard_controller_init().
13716
5f5a7c15 137172008-01-19 Robert Millan <rmh@aybabtu.com>
13718
13719 PowerPC changes provided by Pavel Roskin.
13720
13721 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
13722 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
13723 don't rely on cmain() doing it.
13724 * kern/i386/ieee1275/startup.S (_start): Store %eax in
13725 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
13726
1210e168 137272008-01-16 Robert Millan <rmh@aybabtu.com>
13728
13729 * include/grub/i386/linuxbios/memory.h
13730 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
13731 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
13732 receive `table_header' as argument. Instead, probe for it in the
13733 known memory ranges where it can be present.
13734 (grub_available_iterate): Do not pass a fixed `table_header' address
13735 to grub_linuxbios_table_iterate().
13736
3d04eab8 137372008-01-15 Robert Millan <rmh@aybabtu.com>
13738
13739 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
13740 * conf/i386-ieee1275.rmk: New file.
13741 * include/grub/i386/ieee1275/console.h: Likewise.
13742 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
13743 * include/grub/i386/ieee1275/kernel.h: Likewise.
13744 * include/grub/i386/ieee1275/time.h: Likewise.
13745 * kern/i386/ieee1275/init.c: Likewise.
13746 * kern/i386/ieee1275/startup.S: Likewise.
13747
d1bc1b73 137482008-01-15 Robert Millan <rmh@aybabtu.com>
13749
13750 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
13751 when pointers are 32-bit (but still do set it to one when they are
13752 64-bit).
13753
66a65807 137542008-01-15 Robert Millan <rmh@aybabtu.com>
13755
13756 * include/grub/ieee1275/ieee1275.h
13757 (grub_ieee1275_get_integer_property): New function prototype.
13758
13759 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
13760 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 13761 grub_ieee1275_get_property() to handle endianness.
66a65807 13762
13763 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
13764 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 13765 where appropriate.
66a65807 13766 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
13767 (grub_map): Likewise.
13768 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
13769
a83ccafd 137702008-01-15 Bean <bean123ch@gmail.com>
13771
13772 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
13773 (grub_script_execute_cmdline): Reset grub_errno.
13774
13775 * normal/main.c (read_config_file): Reset grub_errno.
13776
13777 * normal/parse.y (script_init): New.
13778 (script): Move function and menuentry here.
13779 (delimiter): New.
13780 (command): Add delimiter at the end of command.
13781 (commands): Adjust to match the new command.
13782 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 13783 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 13784 (if): Use the new commands.
13785
13786 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
13787
df6ecfc6 137882008-01-15 Robert Millan <rmh@aybabtu.com>
13789
13790 * normal/menu.c (run_menu): Move timeout message from here ...
13791 (print_timeout): ... to here.
13792 (run_menu): Use print_timeout() once during initial draw to print
13793 the whole message, and again in every clock tick to update only
13794 the number of seconds.
13795
87ae25eb 137962008-01-15 Robert Millan <rmh@aybabtu.com>
13797
13798 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
13799 actual size of `available' from grub_ieee1275_get_property(), and
13800 restrict parsing to that bound.
13801
47bf09a4 138022008-01-15 Christian Franke <franke@computer.org>
13803
13804 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
13805 (argp_program_version): Remove variable.
13806 (argp_program_bug_address): Likewise.
13807 (options): Convert from struct argp_option to struct option.
13808 (struct arguments): Remove.
13809 (parse_opt): Remove.
13810 (usage): New function.
13811 (main): Replace struct args members by simple variables.
13812 Replace argp_parse() by getopt_long().
13813 Add switch to evaluate options.
13814 Add missing "(...)" around root_dev in prefix string.
13815
c86f1469 138162008-01-14 Robert Millan <rmh@aybabtu.com>
13817
13818 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
13819 for grub_ieee1275_exit(), in order to improve portability.
13820
e622c559 138212008-01-14 Robert Millan <rmh@aybabtu.com>
13822
13823 * util/grub.d/10_linux.in (prefix): Define.
13824 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
13825
44cb1ec8 138262008-01-13 Pavel Roskin <proski@gnu.org>
13827
13828 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
13829 grub_errno if no errors have been detected.
13830
1eb8c802 138312008-01-12 Robert Millan <rmh@aybabtu.com>
13832
13833 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
13834 (grub_util_get_dev_abstraction): New function prototype.
13835
13836 * util/getroot.c: Include `<grub/util/getroot.h>'
13837 (grub_util_get_grub_dev): Move detection of abstraction type to ...
13838 (grub_util_get_dev_abstraction): ... here (new function).
13839
13840 * util/grub-probe.c: Convert PRINT_* to an enum. Add
13841 `PRINT_ABSTRACTION'.
13842 (probe): Probe for abstraction type when requested.
13843 (main): Understand `--target=abstraction'.
13844
13845 * util/i386/efi/grub-install.in: Add abstraction module to core
13846 image when it is found to be necessary.
13847 * util/i386/pc/grub-install.in: Likewise.
13848 * util/powerpc/ieee1275/grub-install.in: Likewise.
13849
13850 * util/update-grub_lib.in (font_path): Return system path without
13851 converting to GRUB path.
13852 * util/update-grub.in: Convert system path returned by font_path()
13853 to a GRUB path. Use `grub-probe -t abstraction' to determine what
13854 abstraction module is needed for loading fonts (if any). Export
13855 that as `GRUB_PRELOAD_MODULES'.
13856 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
13857 insmod commands).
13858
52bd3de9 138592008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
13860
13861 Remove some unused code from reiserfs.
f19dbdb7 13862
52bd3de9 13863 * fs/reiserfs.c (struct grub_reiserfs_key)
13864 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
13865 (struct grub_reiserfs_node_body): Removed.
13866 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13867 Likewise.
13868 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13869 Likewise.
13870 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13871 Likewise.
13872 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13873 Likewise.
13874 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13875 Likewise.
13876 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
13877 Likewise.
13878 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13879 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13880 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13881
2f80039d 138822008-01-10 Robert Millan <rmh@aybabtu.com>
13883
13884 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
13885 Determines if a file is garbage left by packaging systems, etc.
13886 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
13887 for processing /etc/grub.d scripts.
13888 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
13889 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
13890 as a condition for processing Linux images.
13891
87888032 138922008-01-10 Pavel Roskin <proski@gnu.org>
13893
13894 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
13895 to compile reiserfs.c on PowerPC.
13896
7e54fced 138972008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 13898
13899 * kern/device.c (grub_device_iterate): Do not abort device iteration
13900 when one of the devices cannot be opened.
13901 * kern/disk.c (grub_disk_open): Do not account previous failures of
13902 unrelated functions when grub_errno is checked for.
13903
5aa541e6 139042008-01-08 Robert Millan <rmh@aybabtu.com>
13905
13906 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
13907 `! grub_linux_is_bzimage', change order of address comparison to make
13908 it more intuitive, and improve "too big zImage" error message.
13909
7076340d 139102008-01-08 Robert Millan <rmh@aybabtu.com>
13911
13912 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
13913 `$(update-grub_DATA)'.
13914 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
13915 targets.
13916
9ca70333 139172008-01-07 Robert Millan <rmh@aybabtu.com>
13918
13919 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
13920 which instruction is modified by grub-setup during installation
13921 (since it wasn't obvious by only looking at this file).
13922
38ccf575 139232008-01-07 Robert Millan <rmh@aybabtu.com>
13924
13925 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
13926 listing actual TODO items.
13927
f5db4291 139282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13929
868967cf 13930 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
13931 correctly.
13932 (grub_reiserfs_get_key_offset): Likewise.
13933 (grub_reiserfs_set_key_offset): Likewise.
13934 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 13935 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 13936
13937 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
13938 better to remove the bitfield version completely.
f19dbdb7 13939
868967cf 139402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13941
f5db4291 13942 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
13943 allocated from the heap, due to the fshelp implementation.
13944 (grub_reiserfs_dir): Free NODE, due to the same reason.
13945
492e6d9d 139462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13947
13948 Mostly from Vincent Pelletier:
f19dbdb7 13949
492e6d9d 13950 * fs/reiserfs.c: New file.
f19dbdb7 13951
492e6d9d 13952 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
13953 (reiserfs_mod_SOURCES): New variable.
13954 (reiserfs_mod_CFLAGS): Likewise.
13955 (reiserfs_mod_LDFLAGS): Likewise.
13956
13957 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
13958 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
13959 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
13960 normal/color.c.
13961
9ce3e7c1 139622008-01-06 Robert Millan <rmh@aybabtu.com>
13963
13964 * normal/color.c: Remove `<grub/env.h>'.
13965
f3b58148 139662008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
13967
13968 * include/grub/normal.h: Include <grub/env.h>.
13969
7ac3bcfa 139702008-01-05 Robert Millan <rmh@aybabtu.com>
13971
13972 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
13973 usage example with `(hd0,1)'.
fb358190 13974 Reported by Samuel Thibault.
7ac3bcfa 13975
c8ee99d7 139762008-01-05 Robert Millan <rmh@aybabtu.com>
13977
13978 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
13979 (grub_linux_boot_zimage): Rename to ...
13980 (grub_linux_boot): ... this.
13981 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
13982 (grub_linux_boot_zimage): Conditionalize zImage copy.
13983
13984 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
13985 (grub_linux_boot_bzimage): Remove prototype.
13986 (grub_linux_boot_zimage): Rename to ...
13987 (grub_linux_boot): ... this.
13988
13989 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
13990 (grub_linux_boot): Remove function.
13991
0ece25b1 139922008-01-05 Robert Millan <rmh@aybabtu.com>
13993
13994 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
13995 (grub_env_write_color_highlight): Likewise.
13996 (grub_wait_after_message): Likewise.
13997
13998 * normal/color.c: New file.
13999
14000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14001 (normal_mod_DEPENDENCIES): Likewise.
14002
14003 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14004 (normal_mod_DEPENDENCIES): Likewise.
14005
14006 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14007 (normal_mod_DEPENDENCIES): Likewise.
14008
14009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14010 (normal_mod_DEPENDENCIES): Likewise.
14011
14012 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14013 for waiting after a message is printed.
14014 * normal/main.c (read_config_file): Likewise.
14015 (grub_normal_init): Register grub_env_write_color_normal() and
14016 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14017 `color_highlight' variables as global.
14018
14019 * normal/menu.c (grub_wait_after_message): New function.
14020 (grub_color_menu_normal): New variable. Replaces ...
14021 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14022 (grub_color_menu_highlight): New variable. Replaces ...
14023 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14024 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14025 `GRUB_TERM_COLOR_STANDARD'.
14026 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14027 `normal_code' and `highlight_code' to `old_color_normal' and
14028 `old_color_highlight', respectively.
14029 (grub_menu_init_page): Update colors when drawing the menu, based on
14030 `menu_color_normal' and `menu_color_highlight' variables.
14031 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14032 a message is printed.
14033
182dd4e5 140342008-01-05 Robert Millan <rmh@aybabtu.com>
14035
14036 * kern/env.c (grub_env_context_open): Propagate hooks for global
14037 variables to new context.
14038
14039 * kern/main.c (grub_set_root_dev): Export `root' variable.
14040
ddf8f6ad 140412008-01-05 Robert Millan <rmh@aybabtu.com>
14042
14043 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14044 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14045 them.
14046
d8b43d9b 140472008-01-05 Robert Millan <rmh@aybabtu.com>
14048
14049 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14050
2bff2de3 140512008-01-04 Christian Franke <franke@computer.org>
14052
14053 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14054 of eisa_mmap.
14055
97eab917 140562008-01-03 Pavel Roskin <proski@gnu.org>
14057
14058 * kern/i386/linuxbios/init.c: Put "void" to all function
14059 declarations with no arguments.
14060 * kern/powerpc/ieee1275/init.c: Likewise.
14061 * term/i386/pc/at_keyboard.c: Likewise.
14062 * term/i386/pc/vga_text.c: Likewise.
14063 * util/grub-mkdevicemap.c: Likewise.
14064
b9416d00 140652008-01-02 Robert Millan <rmh@aybabtu.com>
14066
14067 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
14068 message when loaded image is out of bounds.
14069 (grub_multiboot_load_elf64): Likewise.
14070
92695df9 140712008-01-02 Pavel Roskin <proski@gnu.org>
14072
14073 * util/grub.d/10_linux.in: Try version without ".old" when
14074 looking for initrd. It's better to use initrd from the newer
14075 kernel of the same version than no initrd at all.
14076
d98d9cad 140772008-01-01 Robert Millan <rmh@aybabtu.com>
14078
14079 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
14080
dbfdce36 140812008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
14082
f19dbdb7 14083 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 14084 grub_video_get_active_render_target.
14085 (grub_video_adapter): Added unmap_color and get_active_render_target.
14086
f19dbdb7 14087 * video/video.c: Added grub_video_unmap_color and
dbfdce36 14088 grub_video_get_active_render_target.
14089 (grub_video_get_info): Changed method to accept NULL pointer as an
14090 argument to allow detection of active video adapter.
14091
14092 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
14093 grub_video_vbe_unmap_color_int.
14094 Added grub_video_vbe_unmap_color and
14095 grub_video_vbe_get_active_render_target.
14096 (grub_video_vbe_adapter): Added unmap_color and
14097 get_active_render_target.
14098
f19dbdb7 14099 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 14100 with grub_video_vbe_unmap_color_int.
14101
14102 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
14103 (DEFAULT_NORMAL_COLOR): Likewise.
14104 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
14105 (DEFAULT_FG_COLOR): Removed.
14106 (DEFAULT_BG_COLOR): Likewise.
14107 (DEFAULT_CURSOR_COLOR): Changed value.
14108 (grub_virtual_screen): Added standard_color_setting,
14109 normal_color_setting, highlight_color_setting and term_color.
14110 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
14111 (bitmap_width): Added.
14112 (bitmap_height): Likewise.
14113 (bitmap): Likewise.
14114 (set_term_color): Likewise.
14115 (grub_virtual_screen_setup): Changed to use new terminal coloring
14116 settings.
14117 (grub_gfxterm_init): Added init for bitmap.
14118 (grub_gfxterm_fini): Added destroy for bitmap.
14119 (redraw_screen_rect): Updated to use background bitmap and new
14120 terminal coloring.
14121 (scroll_up): Added optimization for case when there is no bitmap.
14122 (grub_gfxterm_cls): Fixed to use correct background color.
14123 (grub_virtual_screen_setcolorstate): Changed to use new terminal
14124 coloring.
14125 (grub_virtual_screen_setcolor): Likewise.
14126 (grub_virtual_screen_getcolor): Added.
14127 (grub_gfxterm_background_image_cmd): Likewise.
14128 (grub_video_term): Added setcolor and getcolor.
14129 (MOD_INIT): Added registration of background_image command.
14130 (MOD_TERM): Added unregistration for background_image command.
14131
c3c20931 141322007-12-30 Pavel Roskin <proski@gnu.org>
14133
14134 * loader/multiboot_loader.c: Fix multiboot command
14135 unregistration. Fix all typos in the word "multiboot".
14136
df266716 141372007-12-29 Pavel Roskin <proski@gnu.org>
94239199 14138
14139 * util/grub.d/10_linux.in: Refactor search for initrd. Add
14140 support for initrd names used in Fedora.
14141
fc6e896c 141422007-12-26 Bean <bean123ch@gmail.com>
14143
14144 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
14145 (cpio_mod_SOURCES): New variable.
14146 (cpio_mod_CFLAGS): Likewise.
14147 (cpio_mod_LDFLAGS): Likewise.
14148
14149 * fs/cpio.c: New file.
14150
14151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
14152
14153 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14154
14155 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14156
14157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14158
533110ad 141592007-12-25 Robert Millan <rmh@aybabtu.com>
14160
14161 * include/grub/term.h (struct grub_term): Add `getcolor' function.
14162 (grub_getcolor): New function.
14163
14164 * kern/term.c (grub_getcolor): New function.
14165 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
14166 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
14167 (print_entry): Set normal and highlight colors to
14168 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
14169 respectively, before printing and restore them to old
14170 values afterwards.
14171 (grub_menu_init_page): Likewise. Fill an additional colored space
14172 that would otherwise be left blank.
14173
14174 * term/efi/console.c (grub_console_getcolor): New function.
14175 (struct grub_console_term.getcolor): New variable.
14176 * term/i386/pc/console.c (grub_console_getcolor): New function.
14177 (struct grub_console_term.getcolor): New variable.
14178 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
14179 (struct grub_console_term.getcolor): New variable.
14180
14181 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
14182 (struct grub_console_term.setcolor): Remove variable.
14183 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
14184 (struct grub_console_term.setcolor): Remove variable.
14185 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
14186 (struct grub_console_term.setcolor): Remove variable.
14187 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
14188 (struct grub_console_term.setcolor): Remove variable.
14189
4931827f 141902007-12-25 Robert Millan <rmh@aybabtu.com>
14191
14192 * configure.ac: Search for possible unifont.hex locations, and
14193 define UNIFONT_HEX if found.
14194
14195 * Makefile.in (UNIFONT_HEX): Define variable.
14196 (DATA): Rename to ...
14197 (PKGLIB): ... this. Update all users.
14198 (PKGDATA): New variable.
14199 (pkgdata_IMAGES): Rename to ...
14200 (pkglib_IMAGES): ... this. Update all users.
14201 (pkgdata_MODULES): Rename to ...
14202 (pkglib_MODULES): ... this. Update all users.
14203 (pkgdata_PROGRAMS): Rename to ...
14204 (pkglib_PROGRAMS): ... this. Update all users.
14205 (pkgdata_DATA): Rename to ...
14206 (pkglib_DATA): ... this. Update all users.
14207 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
14208 (unicode.pff, ascii.pff): New rules.
14209 (all-local): Add `$(PKGDATA)' dependency.
14210 (install-local): Process `$(PKGDATA)'.
14211
14212 * util/update-grub_lib.in (font_path): Search for *.pff files in
14213 a few more locations, including `${pkgdata}'.
14214
57e57e31 142152007-12-23 Robert Millan <rmh@aybabtu.com>
14216
14217 Patch from Bean <bean123ch@gmail.com>:
14218 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
14219 `size'.
14220
4bc72aa9 142212007-12-21 Bean <bean123ch@gmail.com>
14222
14223 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
14224 (ntfscomp_mod_SOURCES): New variable.
14225 (ntfscomp_mod_CFLAGS): Likewise.
14226 (ntfscomp_mod_LDFLAGS): Likewise.
14227
14228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
14229 (grub_probe_SOURCES): Likewise.
14230 (grub_emu_SOURCES): Likewise.
14231
14232 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14233 (grub_emu_SOURCES): Likewise.
14234
14235 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14236 (grub_emu_SOURCES): Likewise.
14237
14238 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14239 (grub_emu_SOURCES): Likewise.
14240
14241 * fs/ntfs.c (grub_ntfscomp_func): New variable.
14242 (read_run_list): Renamed to grub_ntfs_read_run_list.
14243 (decomp_nextvcn): Moved to ntfscomp.c.
14244 (decomp_getch): Likewise.
14245 (decomp_get16): Likewise.
14246 (decomp_block): Likewise.
14247 (read_block): Likewise.
14248 (read_data): Partially moved to ntfscomp.c.
14249 (fixup): Change unsigned to grub_uint16_t.
14250 (read_mft): Change unsigned long to grub_uint32_t.
14251 (read_attr): Likewise.
14252 (read_data): Likewise.
14253 (read_run_data): Likewise.
14254 (read_run_list): Likewise.
14255 (read_mft): Likewise.
14256
14257 * fs/ntfscomp.c: New file.
14258
14259 * include/grub/ntfs.h: New file.
14260
af680a87 142612007-12-16 Robert Millan <rmh@aybabtu.com>
14262
14263 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
14264 IDE disk check, since Linux is known to support 20 IDE disks.
14265 Reported by Colin Watson.
14266
84be7599 142672007-12-15 Bean <bean123ch@gmail.com>
14268
14269 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
14270 (lnxboot_img_SOURCES): New variable.
14271 (lnxboot_img_ASFLAGS): Likewise.
14272 (lnxboot_img_LDFLAGS): Likewise.
14273
14274 * boot/i386/pc/lnxboot.S: New file.
14275
6af9db01 142762007-11-24 Pavel Roskin <proski@gnu.org>
14277
14278 * configure.ac: Test if '--build-id=none' is supported by the
14279 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
14280 objcopy to generate incorrect binary files (binutils
14281 2.17.50.0.18-1 as shipped by Fedora 8).
14282 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
14283 linking, so that build ID doesn't break the test.
14284
7361cfe6 142852007-11-24 Pavel Roskin <proski@gnu.org>
14286
14287 * include/grub/i386/time.h: use "void" in the argument list
14288 of grub_cpu_idle().
14289 * include/grub/powerpc/time.h: Likewise.
14290 * include/grub/sparc64/time.h: Likewise.
14291
1593e10c 142922007-11-18 Christian Franke <franke@computer.org>
14293
14294 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
14295 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
14296 This fixes the problem that function keys did not work in grub-emu.
14297
3b8db1a8 142982007-11-18 Christian Franke <franke@computer.org>
14299
14300 * disk/host.c (grub_host_open): Remove attribute unused from
14301 name parameter. Add check for "host". This fixes the problem
14302 that grub-emu does not find partitions.
14303
2e29408d 143042007-11-18 Christian Franke <franke@computer.org>
14305
14306 * util/hostfs.c (is_dir): New function.
14307 (grub_hostfs_dir): Handle missing dirent.d_type case.
14308 (grub_hostfs_read): Add missing fseek().
14309 (grub_hostfs_label): Clear label pointer. This fixes a crash
14310 of grub-emu on "ls (host)".
14311
398cd047 143122007-11-18 Christian Franke <franke@computer.org>
14313
14314 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
14315 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
14316 to 64 bit boundary by default.
14317
c405c391 143182007-11-18 Bean <bean123ch@gmail.com>
14319
14320 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
14321 (hexdump_mod_SOURCES): New variable.
14322 (hexdump_mod_CFLAGS): Likewise.
14323 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 14324
c405c391 14325 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14326
14327 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14328
14329 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14330
14331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14332
14333 * include/grub/hexdump.h: New file.
14334
14335 * commands/hexdump.c: New file.
14336
5cced7fd 143372007-11-10 Robert Millan <rmh@aybabtu.com>
14338
14339 * commands/i386/pc/play.c (beep_off): Switch order of arguments
14340 in grub_outb() calls.
14341 (beep_on): Likewise.
14342
8b714eb0 143432007-11-10 Christian Franke <franke@computer.org>
14344
14345 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
14346 (grub_menu_run): Likewise.
14347
ce0f1839 143482007-11-10 Robert Millan <rmh@aybabtu.com>
14349
14350 * include/grub/i386/efi/machine.h: New file.
14351 * include/grub/i386/linuxbios/machine.h: Likewise.
14352 * include/grub/i386/pc/machine.h: Likewise.
14353 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14354 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14355
14356 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
14357 (serial_hw_io_addr): New variable.
14358 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
14359 instead of `(unsigned short *) 0x400'.
14360
270c237d 143612007-11-10 Bean <bean123ch@gmail.com>
14362
14363 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
14364
a87783bf 143652007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14366
14367 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
14368 (vga_mod_SOURCES): Added.
14369 (vga_mod_CFLAGS): Likewise.
14370 (vga_mod_LDFLAGS): Likewise.
14371
14372 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
14373 grub_outb() calls.
14374 (set_map_mask): Likewise.
14375 (set_read_map): Likewise.
14376 (set_read_address): Likewise.
14377 (vga_font): Removed variable.
14378 (get_vga_glyph): Removed function.
14379 (invalidate_char): Likewise.
14380 (write_char): Changed to use grub_font_get_glyph() for font
14381 information.
14382 (grub_vga_putchar): Likewise.
14383 (grub_vga_getcharwidth): Likewise.
14384
6433b448 143852007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14386
14387 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
14388 flags.
14389 (pxeboot_img_LDFLAGS): Likewise.
14390 (diskboot_img_LDFLAGS): Likewise.
14391 (kernel_img_LDFLAGS): Likewise.
14392
49178511 143932007-11-06 Robert Millan <rmh@aybabtu.com>
14394
14395 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
14396 in grub_outb() calls.
14397 (serial_hw_init): Likewise.
14398
53b052de 143992007-11-05 Robert Millan <rmh@aybabtu.com>
14400
14401 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
14402 spaces. Skip non-regular files.
14403
5ab33bba 144042007-11-05 Robert Millan <rmh@aybabtu.com>
14405
14406 * kern/disk.c (grub_disk_firmware_fini)
14407 (grub_disk_firmware_is_tainted): New variables.
14408
14409 * include/grub/disk.h (grub_disk_firmware_fini)
14410 (grub_disk_firmware_is_tainted): Likewise.
14411
14412 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
14413 (grub_disk_biosdisk_fini): ... to here.
14414 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
14415 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
14416 is set. Register grub_disk_biosdisk_fini() in
14417 `grub_disk_firmware_fini'.
14418
14419 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
14420 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
14421 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
14422 to finish existing firmware disk interface.
14423
14424 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
14425 (ata_mod_SOURCES): New variable.
14426 (ata_mod_CFLAGS): Likewise.
14427 (ata_mod_LDFLAGS): Likewise.
14428
0149ab7c 144292007-11-05 Robert Millan <rmh@aybabtu.com>
14430
14431 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
14432 (grub_ata_wait): Reimplement using grub_millisleep().
14433
14434 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
14435 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
14436
be7ac41e 144372007-11-03 Marco Gerards <marco@gnu.org>
14438
14439 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
14440 (CRTC_ADDR_PORT): New macro.
14441 (CRTC_DATA_PORT): Likewise.
14442 (CRTC_CURSOR): Likewise.
14443 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14444 (CRTC_CURSOR_ADDR_LOW): Likewise.
14445 (update_cursor): New function.
14446 (grub_console_real_putchar): Call `update_cursor'.
14447 (grub_console_gotoxy): Likewise.
14448 (grub_console_cls): Set the default color when clearing the
14449 screen.
14450 (grub_console_setcursor): Implemented.
14451
bb06ab2e 144522007-11-03 Marco Gerards <marco@gnu.org>
14453
14454 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
14455 become activate.
14456 (grub_ata_pio_write): Likewise.
14457
14458 (grub_atapi_identify): Wait after issuing an ATA command.
14459 (grub_atapi_packet): Likewise.
14460 (grub_ata_identify): Likewise.
14461 (grub_ata_readwrite): Likewise.
14462
cf8f780b 144632007-11-03 Marco Gerards <marco@gnu.org>
14464
14465 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
14466 (grub_ata_pio_write): Likewise.
14467 (grub_ata_readwrite): Use `grub_error', instead of
14468 returning `grub_errno'.
14469
ed649e54 144702007-11-03 Marco Gerards <marco@gnu.org>
14471
14472 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
14473 grub_ata_pio_write once for every single sector, instead of for
14474 multiple sectors.
14475
ca25d8f0 144762007-10-31 Robert Millan <rmh@aybabtu.com>
14477
14478 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
14479
14480 * conf/i386-linuxbios.rmk: New file.
14481
14482 * kern/i386/pc/hardware.c: Likewise.
14483 * term/i386/pc/at_keyboard.c: Likewise.
14484 * term/i386/pc/vga_text.c: Likewise.
14485
14486 * include/grub/i386/linuxbios/boot.h: Likewise.
14487 * include/grub/i386/linuxbios/console.h: Likewise.
14488 * include/grub/i386/linuxbios/init.h: Likewise.
14489 * include/grub/i386/linuxbios/kernel.h: Likewise.
14490 * include/grub/i386/linuxbios/loader.h: Likewise.
14491 * include/grub/i386/linuxbios/memory.h: Likewise.
14492 * include/grub/i386/linuxbios/serial.h: Likewise.
14493 * include/grub/i386/linuxbios/time.h: Likewise.
14494
14495 * kern/i386/linuxbios/init.c: Likewise.
14496 * kern/i386/linuxbios/startup.S: Likewise.
14497 * kern/i386/linuxbios/table.c: Likewise.
14498
e911ecc1 144992007-10-31 Marco Gerards <marco@gnu.org>
14500
14501 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
14502 (ata_mod_SOURCES): New variable.
14503 (ata_mod_CFLAGS): Likewise.
14504 (ata_mod_LDFLAGS): Likewise.
14505
14506 * disk/ata.c: New file.
14507
14508 * include/grub/disk.h (grub_disk_dev_id): Add
14509 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 14510
7f66d0e0 145112007-10-31 Robert Millan <rmh@aybabtu.com>
14512
14513 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
14514 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
14515
14516 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
14517 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
14518
14519 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
14520 `<grub/types.h>'.
14521
14522 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
14523
5cd7dd46 145242007-10-27 Robert Millan <rmh@aybabtu.com>
14525
3236ca65 14526 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 14527
2ebfc90f 145282007-10-22 Robert Millan <rmh@aybabtu.com>
14529
14530 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
14531 `"../realmode.S"'.
14532 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
14533
73fcb0f3 145342007-10-22 Robert Millan <rmh@aybabtu.com>
14535
14536 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
14537 (pkgdata_MODULES): Add `biosdisk.mod'.
14538 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
14539 variables.
14540
14541 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
14542 (grub_biosdisk_init): Replace with ...
14543 (GRUB_MOD_INIT(biosdisk)): ... this.
14544 (grub_biosdisk_fini): Replace with ...
14545 (GRUB_MOD_FINI(biosdisk)): ... this.
14546
14547 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
14548 (grub_machine_init): Remove call to grub_biosdisk_init().
14549 (grub_machine_fini): Remove call to grub_machine_fini().
14550
14551 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
14552
3381d274 145532007-10-22 Robert Millan <rmh@aybabtu.com>
14554
14555 * include/grub/time.h: New file.
14556 * include/grub/i386/time.h: Likewise.
14557 * include/grub/powerpc/time.h: Likewise.
14558 * include/grub/sparc64/time.h: Likewise.
14559
14560 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
14561 instances to ...
14562 (KERNEL_MACHINE_TIME_HEADER): ... this.
14563 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14564 instances to ...
14565 (KERNEL_MACHINE_TIME_HEADER): ... this.
14566 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14567 instances to ...
14568 (KERNEL_MACHINE_TIME_HEADER): ... this.
14569
14570 * kern/i386/efi/init.c: Include `<grub/time.h>'.
14571 (grub_millisleep): New function.
14572 * kern/i386/pc/init.c: Include `<grub/time.h>'.
14573 (grub_millisleep): New function.
14574 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
14575 Remove `grub/machine/time.h' include.
14576 (grub_millisleep): New function.
14577 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
14578 Remove `grub/machine/time.h' include.
14579 (grub_millisleep): New function.
14580
14581 * include/grub/misc.h (grub_div_roundup): New function.
14582
14583 * kern/misc.c: Include `<grub/time.h>'.
14584 (grub_millisleep_generic): New function.
14585
14586 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
14587 Add `time.h'.
14588 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
14589 Add `time.h'.
14590 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
14591 `machine/time.h'. Add `time.h'.
14592 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14593
a39a0312 145942007-10-21 Robert Millan <rmh@aybabtu.com>
14595
14596 * include/grub/misc.h (grub_max): New function.
14597
2aad70e2 145982007-10-21 Robert Millan <rmh@aybabtu.com>
14599
14600 * util/misc.c (grub_util_info): Call fflush() before returning.
14601
54b71c4b 146022007-10-20 Robert Millan <rmh@aybabtu.com>
14603
14604 * genmk.rb (Image): Copy `extra_flags' from here ...
14605 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
14606
14607 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
14608 to `argc' and `args' arguments.
14609
a979f513 146102007-10-17 Robert Millan <rmh@aybabtu.com>
14611
14612 * kern/i386/loader.S: New file.
14613
14614 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
14615 * kern/i386/loader.S (grub_linux_prot_size)... to here.
14616 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
14617 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
14618 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
14619 * kern/i386/loader.S (grub_linux_real_addr)... to here.
14620 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
14621 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
14622 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
14623 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
14624 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
14625 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
14626 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
14627 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
14628
14629 * kern/i386/realmode.S: New file.
14630
14631 * kern/i386/pc/startup.S (protstack): Moved from here ...
14632 * kern/i386/realmode.S (protstack)... to here.
14633 * kern/i386/pc/startup.S (gdt): Moved from here ...
14634 * kern/i386/realmode.S (gdt)... to here.
14635 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
14636 * kern/i386/realmode.S (prot_to_real)... to here.
14637
14638 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
14639 `kern/i386/realmode.S'.
14640
825fc8fd 146412007-10-17 Robert Millan <rmh@aybabtu.com>
14642
14643 * include/grub/i386/loader.h: New file.
14644
14645 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
14646 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
14647 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
14648 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
14649 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
14650 * include/grub/i386/loader.h (grub_linux_prot_size)
14651 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
14652 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
14653 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
14654 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
14655
14656 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
14657
e179b2f4 146582007-10-15 Robert Millan <rmh@aybabtu.com>
14659
14660 * normal/misc.c (grub_normal_print_device_info): Do not probe for
14661 filesystem when dev->disk is unset.
14662 Do probe for filesystem even when dev->disk->has_partitions is set.
14663 In case a filesystem is found, always report it.
14664 In case it isn't, if dev->disk->has_partitions is set, report that
14665 a partition table was found instead of reporting that no filesystem
14666 could be identified.
14667
5db82af6 146682007-10-12 Robert Millan <rmh@aybabtu.com>
14669
14670 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
14671 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
14672
68f6ac74 14673 * include/grub/types.h (grub_host_to_target16): New macro.
14674 (grub_host_to_target32): Likewise.
14675 (grub_host_to_target64): Likewise.
14676 (grub_target_to_host16): Likewise.
14677 (grub_target_to_host32): Likewise.
14678 (grub_target_to_host64): Likewise.
5db82af6 14679
14680 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14681 Renamed from to ...
14682 (GRUB_MOD_ALIGN): ...this. Update all users.
14683
68f6ac74 14684 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
14685 grub_host_to_target32.
14686 Replace grub_be_to_cpu32 with grub_target_to_host32.
14687 (load_modules): Likewise.
14688 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
14689 Replace grub_be_to_cpu32 with grub_target_to_host32.
14690 Replace grub_cpu_to_be16 with grub_host_to_target16.
14691 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 14692
3cf497cc 146932007-10-12 Robert Millan <rmh@aybabtu.com>
14694
14695 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
14696 * util/elf/grub-mkimage.c: ... here.
14697
14698 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
14699 `util/powerpc/ieee1275/grub-mkimage.c'.
14700
c8cc3692 147012007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 14702
c8cc3692 14703 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
14704 and make it easier to figure out.
14705 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
14706 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
14707 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
14708 leave us with less than HEAP_MIN_SIZE total heap.
14709 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 14710
5c58b791 147112007-10-03 Robert Millan <rmh@aybabtu.com>
14712
14713 * include/grub/i386/io.h: New file.
14714 * commands/i386/pc/play.c (inb): Removed.
14715 (outb): Removed.
14716 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14717 with grub_outb().
afcd2ef8 14718 * term/i386/pc/serial.c (inb): Removed.
14719 (outb): Removed.
14720 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14721 with grub_outb().
14722 * term/i386/pc/vga.c (inb): Removed.
14723 (outb): Removed.
14724 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14725 with grub_outb().
5c58b791 14726
1a477ed6 147272007-10-02 Robert Millan <rmh@aybabtu.com>
14728
14729 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
14730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14731 Reported by Marcin Kurek.
14732
6b5d80fa 147332007-09-07 Robert Millan <rmh@aybabtu.com>
14734
14735 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
14736 SmartFirmware version updates (as released by Sven Luther), and avoid
14737 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
14738 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
14739 known broken.
14740
5618afbf 147412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14742
14743 From Hitoshi Ozeki:
14744 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
14745 when merging two regions.
14746
6139dcd9 147472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14748
508e39ee 14749 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
14750 * normal/completion.c (grub_normal_do_completion): Likewise.
14751 Reported by Hitoshi Ozeki.
14752
147532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14754
6139dcd9 14755 Do not use devices at boot in chainloading.
f19dbdb7 14756
6139dcd9 14757 * loader/i386/pc/chainloader.c (boot_drive): New variable.
14758 (boot_part_addr): Likewise.
14759 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
14760 with BOOT_DRIVE and BOOT_PART_ADDR.
14761 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
14762 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
14763
38da6516 147642007-08-29 Robert Millan <rmh@aybabtu.com>
14765
14766 Patch from Simon Peter <dn.tlp@gmx.net>:
14767 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
14768 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
14769 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
14770 util/i386/pc/grub-setup.c_DEPENDENCIES.
14771 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
14772 util/grub-probe.c_DEPENDENCIES.
14773 * conf/powerpc-ieee1275.rmk: Likewise.
14774
29d0928c 147752007-08-28 Robert Millan <rmh@aybabtu.com>
14776
14777 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
14778 to tell grub-mkdevicemap how to name devices.
14779 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
14780 feature).
14781
14782 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
14783 util/i386/get_disk_name.c.
14784 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
14785 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
14786 util/ieee1275/get_disk_name.c.
14787
14788 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
14789
14790 * DISTLIST: Add util/i386/get_disk_name.c and
14791 util/ieee1275/get_disk_name.c.
14792
14793 * util/grub-mkdevicemap.c: Replace device naming logic with
14794 grub_util_get_disk_name() calls.
14795
5a0d3cca 147962007-08-20 Robert Millan <rmh@aybabtu.com>
14797
14798 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
14799 (so that it works for both plural and singular quantities).
14800
8b72db2f 148012007-08-05 Robert Millan <rmh@aybabtu.com>
14802
14803 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
14804 so that [xz] isn't taken into account when determining order.
14805
352466bf 148062007-08-02 Marco Gerards <marco@gnu.org>
14807
14808 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
14809 `include/multiboot2.h', `include/grub/elfload.h',
14810 `include/multiboot.h', `include/grub/multiboot.h',
14811 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
14812 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
14813 `kern/elf.c', `loader/multiboot_loader.c',
14814 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
14815 `loader/i386/pc/multiboot2.c',
14816 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
14817 `util/i386/pc/grub-mkrescue.in'. Remove
14818 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
14819 `include/grub/i386/pc/util/biosdisk.h' and
14820 `include/grub/powerpc/ieee1275/multiboot.h'.
14821
8f096014 148222007-08-02 Bean <bean123ch@gmail.com>
14823
14824 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
14825 (ntfs_mod_SOURCES): New variable.
14826 (ntfs_mod_CFLAGS): Likewise.
14827 (ntfs_mod_LDFLAGS): Likewise.
14828
14829 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
14830 (grub_probe_SOURCES): Likewise.
14831 (grub_emu_SOURCES): Likewise.
14832
14833 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
14834 (grub_emu_SOURCES): Likewise.
14835
14836 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
14837 (grub_emu_SOURCES): Likewise.
f19dbdb7 14838
8f096014 14839 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
14840
14841 * fs/ntfs.c: New file.
14842
9959f7db 148432007-08-02 Bean <bean123ch@gmail.com>
14844
14845 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
14846
14847 * file.h (grub_file): Likewise.
14848
14849 * fshelp.h (grub_fshelp_read_file): Likewise.
14850
14851 * util/i386/pc/grub-setup.c (setup): Likewise.
14852 (save_first_sector): Likewise.
14853 (save_blocklists): Likewise.
f19dbdb7 14854
9959f7db 14855 * fs/affs.c (grub_affs_read_file): Likewise.
14856
14857 * fs/ext2.c (grub_ext2_read_file): Likewise.
14858
14859 * fs/fat.c (grub_fat_read_data): Likewise.
14860
14861 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
14862
14863 * fs/hfs.c (grub_hfs_read_file): Likewise.
14864
14865 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14866
14867 * fs/jfs.c (grub_jfs_read_file): Likewise.
14868
14869 * fs/minix.c (grub_minix_read_file): Likewise.
14870
14871 * fs/sfs.c (grub_sfs_read_file): Likewise.
14872
14873 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 14874
9959f7db 14875 * fs/xfs.c (grub_xfs_read_file): Likewise.
14876
14877 * command/blocklist.c (read_blocklist): Likewise.
14878 (print_blocklist): Likewise.
14879
0a203f83 148802007-08-02 Marco Gerards <marco@gnu.org>
14881
14882 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
14883 `util/hostfs.c'.
14884
14885 * disk/host.c: New file.
14886
14887 * util/hostfs.c: Likewise.
14888
14889 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
14890 return `GRUB_ERR_BAD_FS'.
14891 * fs/sfs.c (grub_sfs_mount): Likewise.
14892 * fs/xfs.c (grub_xfs_mount): Likewise.
14893
14894 * include/grub/disk.h (enum grub_disk_dev_id): Add
14895 `GRUB_DISK_DEVICE_HOST_ID'.
14896
14897 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
14898
e5dfe777 148992007-07-24 Jerone Young <jerone@gmail.com>
14900
f19dbdb7 14901 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 14902 modules for compilation.
14903 * conf/powerpc-ieee1275.rmk: Likewise.
14904
14905 * include/multiboot.h: Move multiboot definitions to one file. Rename
14906 many definitions to not get grub specific.
14907 * include/multiboot2.h: Create header with multiboot 2 definitions.
14908 * include/grub/multiboot.h: Header for grub specific function
14909 prototypes and definitions.
14910 * include/grub/multiboot2.h: Likewise.
14911 * include/grub/multiboot_loader.h: Likewise.
14912 * include/grub/i386/pc/multiboot.h: Removed.
14913 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
14914
14915 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
14916 and 2 to allow for one multiboot and module commands.
14917 * loader/multiboot2.c: Add multiboot2 functionality.
14918 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
14919 and definition names.
14920 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
14921 2 functions.
14922 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
14923 ieee1275 specific multiboot2 code.
14924
14925 * kern/i386/pc/startup.S: Change headers and definition names for
14926 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
14927
daf0f0ba 149282007-07-22 Robert Millan <rmh@aybabtu.com>
14929
14930 * geninitheader.sh: Process file specified in first parameter rather
14931 than hardcoding grub_modules_init.lst.
fe6b695a 14932 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 14933 than hardcoding grub_modules_init.h.
14934
14935 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
14936 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
14937 grub_probe_init.[ch] and grub_setup_init.[ch].
14938
14939 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
14940 grub_modules_init.h with grub_emu_init.h.
14941 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
14942 grub_probe_init.[ch] files.
14943 * conf/i386-efi.rmk: Likewise.
14944 * conf/i386-pc.rmk: Likewise.
14945 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
14946 grub_setup_init.[ch] files.
14947
14948 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
14949 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
14950 to initialize modules rather than a list of hardcoded functions.
14951 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
14952 grub_init_all() to initialize modules rather than a list of hardcoded
14953 functions.
14954
54cdc1cc 149552007-07-22 Robert Millan <rmh@aybabtu.com>
14956
14957 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14958 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
14959
ad0686cc 149602007-07-22 Robert Millan <rmh@aybabtu.com>
14961
14962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14963 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
14964 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
14965 flag when running on SmartFirmware.
14966 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
14967 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
14968 was set.
14969
14970 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14971 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
14972 rather than decreasing it.
14973
14974 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
14975 there's not enough space to do it, fail in the same way as when it
14976 can't be done because there are no partitions.
14977
14978 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
14979 when nvsetenv failed.
14980
969c02ec 149812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14982
14983 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
14984 because this rule is automatically generated.
14985 (grub-mkrescue): Removed for the same reason as above.
14986
5a79f472 149872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14988
14989 Migrate to GNU General Public License Version 3.
f19dbdb7 14990
5a79f472 14991 * COPYING: Replaced with the plain text version of GPLv3.
14992
14993 * config.guess: Updated from gnulib.
14994 * config.sub: Likewise.
14995
14996 * geninit.sh: Output a GPLv3 copyright notice.
14997 * geninitheader.sh: Likewise.
14998 * genmodsrc.sh: Likewise.
14999 * gensymlist.sh.in: Likewise.
15000
15001 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15002 * boot/i386/pc/diskboot.S: Likewise.
15003 * boot/i386/pc/pxeboot.S: Likewise.
15004 * commands/blocklist.c: Likewise.
15005 * commands/boot.c: Likewise.
15006 * commands/cat.c: Likewise.
15007 * commands/cmp.c: Likewise.
15008 * commands/configfile.c: Likewise.
15009 * commands/echo.c: Likewise.
15010 * commands/help.c: Likewise.
15011 * commands/ls.c: Likewise.
15012 * commands/search.c: Likewise.
15013 * commands/terminal.c: Likewise.
15014 * commands/test.c: Likewise.
15015 * commands/videotest.c: Likewise.
15016 * commands/i386/cpuid.c: Likewise.
15017 * commands/i386/pc/halt.c: Likewise.
15018 * commands/i386/pc/play.c: Likewise.
15019 * commands/i386/pc/reboot.c: Likewise.
15020 * commands/i386/pc/vbeinfo.c: Likewise.
15021 * commands/i386/pc/vbetest.c: Likewise.
15022 * commands/ieee1275/halt.c: Likewise.
15023 * commands/ieee1275/reboot.c: Likewise.
15024 * commands/ieee1275/suspend.c: Likewise.
15025 * disk/loopback.c: Likewise.
15026 * disk/lvm.c: Likewise.
15027 * disk/raid.c: Likewise.
15028 * disk/efi/efidisk.c: Likewise.
15029 * disk/i386/pc/biosdisk.c: Likewise.
15030 * disk/ieee1275/ofdisk.c: Likewise.
15031 * font/manager.c: Likewise.
15032 * fs/affs.c: Likewise.
15033 * fs/ext2.c: Likewise.
15034 * fs/fat.c: Likewise.
15035 * fs/fshelp.c: Likewise.
15036 * fs/hfs.c: Likewise.
15037 * fs/hfsplus.c: Likewise.
15038 * fs/iso9660.c: Likewise.
15039 * fs/jfs.c: Likewise.
15040 * fs/minix.c: Likewise.
15041 * fs/sfs.c: Likewise.
15042 * fs/ufs.c: Likewise.
15043 * fs/xfs.c: Likewise.
15044 * hello/hello.c: Likewise.
15045 * include/grub/acorn_filecore.h: Likewise.
15046 * include/grub/arg.h: Likewise.
15047 * include/grub/bitmap.h: Likewise.
15048 * include/grub/boot.h: Likewise.
15049 * include/grub/cache.h: Likewise.
15050 * include/grub/device.h: Likewise.
15051 * include/grub/disk.h: Likewise.
15052 * include/grub/dl.h: Likewise.
15053 * include/grub/elfload.h: Likewise.
15054 * include/grub/env.h: Likewise.
15055 * include/grub/err.h: Likewise.
15056 * include/grub/file.h: Likewise.
15057 * include/grub/font.h: Likewise.
15058 * include/grub/fs.h: Likewise.
15059 * include/grub/fshelp.h: Likewise.
15060 * include/grub/gzio.h: Likewise.
15061 * include/grub/hfs.h: Likewise.
15062 * include/grub/kernel.h: Likewise.
15063 * include/grub/loader.h: Likewise.
15064 * include/grub/lvm.h: Likewise.
15065 * include/grub/misc.h: Likewise.
15066 * include/grub/mm.h: Likewise.
15067 * include/grub/net.h: Likewise.
15068 * include/grub/normal.h: Likewise.
15069 * include/grub/parser.h: Likewise.
15070 * include/grub/partition.h: Likewise.
15071 * include/grub/pc_partition.h: Likewise.
15072 * include/grub/raid.h: Likewise.
15073 * include/grub/rescue.h: Likewise.
15074 * include/grub/script.h: Likewise.
15075 * include/grub/setjmp.h: Likewise.
15076 * include/grub/symbol.h: Likewise.
15077 * include/grub/term.h: Likewise.
15078 * include/grub/terminfo.h: Likewise.
15079 * include/grub/tparm.h: Likewise.
15080 * include/grub/types.h: Likewise.
15081 * include/grub/video.h: Likewise.
15082 * include/grub/efi/api.h: Likewise.
15083 * include/grub/efi/chainloader.h: Likewise.
15084 * include/grub/efi/console.h: Likewise.
15085 * include/grub/efi/console_control.h: Likewise.
15086 * include/grub/efi/disk.h: Likewise.
15087 * include/grub/efi/efi.h: Likewise.
15088 * include/grub/efi/pe32.h: Likewise.
15089 * include/grub/efi/time.h: Likewise.
15090 * include/grub/i386/linux.h: Likewise.
15091 * include/grub/i386/setjmp.h: Likewise.
15092 * include/grub/i386/types.h: Likewise.
15093 * include/grub/i386/efi/kernel.h: Likewise.
15094 * include/grub/i386/efi/loader.h: Likewise.
15095 * include/grub/i386/efi/time.h: Likewise.
15096 * include/grub/i386/pc/biosdisk.h: Likewise.
15097 * include/grub/i386/pc/boot.h: Likewise.
15098 * include/grub/i386/pc/chainloader.h: Likewise.
15099 * include/grub/i386/pc/console.h: Likewise.
15100 * include/grub/i386/pc/init.h: Likewise.
15101 * include/grub/i386/pc/kernel.h: Likewise.
15102 * include/grub/i386/pc/loader.h: Likewise.
15103 * include/grub/i386/pc/memory.h: Likewise.
15104 * include/grub/i386/pc/multiboot.h: Likewise.
15105 * include/grub/i386/pc/serial.h: Likewise.
15106 * include/grub/i386/pc/time.h: Likewise.
15107 * include/grub/i386/pc/vbe.h: Likewise.
15108 * include/grub/i386/pc/vbeblit.h: Likewise.
15109 * include/grub/i386/pc/vbefill.h: Likewise.
15110 * include/grub/i386/pc/vbeutil.h: Likewise.
15111 * include/grub/i386/pc/vga.h: Likewise.
15112 * include/grub/ieee1275/ieee1275.h: Likewise.
15113 * include/grub/ieee1275/ofdisk.h: Likewise.
15114 * include/grub/powerpc/libgcc.h: Likewise.
15115 * include/grub/powerpc/setjmp.h: Likewise.
15116 * include/grub/powerpc/types.h: Likewise.
15117 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
15118 * include/grub/powerpc/ieee1275/console.h: Likewise.
15119 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
15120 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15121 * include/grub/powerpc/ieee1275/loader.h: Likewise.
15122 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
15123 * include/grub/powerpc/ieee1275/time.h: Likewise.
15124 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
15125 * include/grub/sparc64/libgcc.h: Likewise.
15126 * include/grub/sparc64/setjmp.h: Likewise.
15127 * include/grub/sparc64/types.h: Likewise.
15128 * include/grub/sparc64/ieee1275/console.h: Likewise.
15129 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15130 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15131 * include/grub/sparc64/ieee1275/time.h: Likewise.
15132 * include/grub/util/biosdisk.h: Likewise.
15133 * include/grub/util/getroot.h: Likewise.
15134 * include/grub/util/lvm.h: Likewise.
15135 * include/grub/util/misc.h: Likewise.
15136 * include/grub/util/raid.h: Likewise.
15137 * include/grub/util/resolve.h: Likewise.
15138 * io/gzio.c: Likewise.
15139 * kern/device.c: Likewise.
15140 * kern/disk.c: Likewise.
15141 * kern/dl.c: Likewise.
15142 * kern/elf.c: Likewise.
15143 * kern/env.c: Likewise.
15144 * kern/err.c: Likewise.
15145 * kern/file.c: Likewise.
15146 * kern/fs.c: Likewise.
15147 * kern/loader.c: Likewise.
15148 * kern/main.c: Likewise.
15149 * kern/misc.c: Likewise.
15150 * kern/mm.c: Likewise.
15151 * kern/parser.c: Likewise.
15152 * kern/partition.c: Likewise.
15153 * kern/rescue.c: Likewise.
15154 * kern/term.c: Likewise.
15155 * kern/efi/efi.c: Likewise.
15156 * kern/efi/init.c: Likewise.
15157 * kern/efi/mm.c: Likewise.
15158 * kern/i386/dl.c: Likewise.
15159 * kern/i386/efi/init.c: Likewise.
15160 * kern/i386/efi/startup.S: Likewise.
15161 * kern/i386/pc/init.c: Likewise.
15162 * kern/i386/pc/lzo1x.S: Likewise.
15163 * kern/i386/pc/startup.S: Likewise.
15164 * kern/ieee1275/ieee1275.c: Likewise.
15165 * kern/powerpc/cache.S: Likewise.
15166 * kern/powerpc/dl.c: Likewise.
15167 * kern/powerpc/ieee1275/cmain.c: Likewise.
15168 * kern/powerpc/ieee1275/crt0.S: Likewise.
15169 * kern/powerpc/ieee1275/init.c: Likewise.
15170 * kern/powerpc/ieee1275/openfw.c: Likewise.
15171 * kern/sparc64/cache.S: Likewise.
15172 * kern/sparc64/dl.c: Likewise.
15173 * kern/sparc64/ieee1275/init.c: Likewise.
15174 * kern/sparc64/ieee1275/openfw.c: Likewise.
15175 * loader/efi/chainloader.c: Likewise.
15176 * loader/efi/chainloader_normal.c: Likewise.
15177 * loader/i386/efi/linux.c: Likewise.
15178 * loader/i386/efi/linux_normal.c: Likewise.
15179 * loader/i386/pc/chainloader.c: Likewise.
15180 * loader/i386/pc/chainloader_normal.c: Likewise.
15181 * loader/i386/pc/linux.c: Likewise.
15182 * loader/i386/pc/linux_normal.c: Likewise.
15183 * loader/i386/pc/multiboot.c: Likewise.
15184 * loader/i386/pc/multiboot_normal.c: Likewise.
15185 * loader/powerpc/ieee1275/linux.c: Likewise.
15186 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
15187 * normal/arg.c: Likewise.
15188 * normal/cmdline.c: Likewise.
15189 * normal/command.c: Likewise.
15190 * normal/completion.c: Likewise.
15191 * normal/execute.c: Likewise.
15192 * normal/function.c: Likewise.
15193 * normal/lexer.c: Likewise.
15194 * normal/main.c: Likewise.
15195 * normal/menu.c: Likewise.
15196 * normal/menu_entry.c: Likewise.
15197 * normal/misc.c: Likewise.
15198 * normal/parser.y: Likewise.
15199 * normal/script.c: Likewise.
15200 * normal/i386/setjmp.S: Likewise.
15201 * normal/powerpc/setjmp.S: Likewise.
15202 * normal/sparc64/setjmp.S: Likewise.
15203 * partmap/acorn.c: Likewise.
15204 * partmap/amiga.c: Likewise.
15205 * partmap/apple.c: Likewise.
15206 * partmap/gpt.c: Likewise.
15207 * partmap/pc.c: Likewise.
15208 * partmap/sun.c: Likewise.
15209 * term/gfxterm.c: Likewise.
15210 * term/terminfo.c: Likewise.
15211 * term/efi/console.c: Likewise.
15212 * term/i386/pc/console.c: Likewise.
15213 * term/i386/pc/serial.c: Likewise.
15214 * term/i386/pc/vesafb.c: Likewise.
15215 * term/i386/pc/vga.c: Likewise.
15216 * term/ieee1275/ofconsole.c: Likewise.
15217 * util/biosdisk.c: Likewise.
15218 * util/console.c: Likewise.
15219 * util/genmoddep.c: Likewise.
15220 * util/getroot.c: Likewise.
15221 * util/grub-emu.c: Likewise.
15222 * util/grub-mkdevicemap.c: Likewise.
15223 * util/grub-probe.c: Likewise.
15224 * util/lvm.c: Likewise.
15225 * util/misc.c: Likewise.
15226 * util/raid.c: Likewise.
15227 * util/resolve.c: Likewise.
15228 * util/update-grub.in: Likewise.
15229 * util/update-grub_lib.in: Likewise.
15230 * util/grub.d/00_header.in: Likewise.
15231 * util/grub.d/10_hurd.in: Likewise.
15232 * util/grub.d/10_linux.in: Likewise.
15233 * util/i386/efi/grub-install.in: Likewise.
15234 * util/i386/efi/grub-mkimage.c: Likewise.
15235 * util/i386/pc/grub-install.in: Likewise.
15236 * util/i386/pc/grub-mkimage.c: Likewise.
15237 * util/i386/pc/grub-mkrescue.in: Likewise.
15238 * util/i386/pc/grub-setup.c: Likewise.
15239 * util/i386/pc/misc.c: Likewise.
15240 * util/powerpc/ieee1275/grub-install.in: Likewise.
15241 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
15242 * util/powerpc/ieee1275/misc.c: Likewise.
15243 * video/bitmap.c: Likewise.
15244 * video/video.c: Likewise.
15245 * video/i386/pc/vbe.c: Likewise.
15246 * video/i386/pc/vbeblit.c: Likewise.
15247 * video/i386/pc/vbefill.c: Likewise.
15248 * video/i386/pc/vbeutil.c: Likewise.
15249 * video/readers/tga.c: Likewise.
15250
3572d015 152512007-07-02 Robert Millan <rmh@aybabtu.com>
15252
15253 * conf/i386-efi.rmk: Replace obsolete reference to
15254 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
15255 with util/getroot.c.
15256 * conf/powerpc-ieee1275.rmk: Likewise.
15257 * conf/sparc64-ieee1275.rmk: Likewise.
15258
15259 * util/grub-emu.c (main): Fix unchecked pointer handling.
15260
2c2a681b 152612007-07-02 Robert Millan <rmh@aybabtu.com>
15262
15263 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
15264 invocation to fail, in order to support partition-less media.
15265
15266 * util/i386/pc/grub-install.in: Likewise.
15267
15268 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
15269 which fs or partmap modules are needed (akin to its sister scripts).
15270
15271 Also use grub-probe to get rid of unportable /proc/mounts check.
15272
15273 Print the same informational message that the other scripts do, before
fe6b695a 15274 exiting.
2c2a681b 15275
6193defe 152762007-06-23 Robert Millan <rmh@aybabtu.com>
15277
fe6b695a 15278 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 15279 a font file can be found and, if so, echo the GRUB path to it.
15280
15281 * util/update-grub.in: Handle multiple terminals depending on user
15282 input, platform availability and font file presence. Propagate
15283 variables of our findings to /etc/grub.d/ children.
15284
15285 * util/grub.d/00_header.in: Handle multiple terminals, based on
15286 environment setup by update-grub.
15287
eface1dc 152882007-06-23 Robert Millan <rmh@aybabtu.com>
15289
ba50d28f 15290 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 15291
bf697e28 152922007-06-21 Robert Millan <rmh@aybabtu.com>
15293
15294 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
15295 indicate end of data section in kernel image.
15296 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
15297 GRUB_KERNEL_MACHINE_DATA_END.
15298
15299 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
15300 space for it.
15301 * kern/i386/efi/startup.S: Likewise.
15302
15303 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
15304 during image generation. Implement --prefix option to override this
15305 patch.
15306 * util/i386/efi/grub-mkimage.c: Likewise.
15307
15308 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
15309 code to make path relative to its root into a separate function.
15310
15311 * util/i386/pc/grub-install.in: Use newly provided
15312 make_system_path_relative_to_its_root() to convert ${grubdir}, then
15313 pass the result to grub-install --prefix.
15314
baa574b4 153152007-06-13 Robert Millan <rmh@aybabtu.com>
15316
15317 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
15318 DEFAULT_DEVICE_MAP.
15319 * util/grub-emu.c: Use above definitions from misc.h instead of
15320 defining them.
15321 * util/grub-mkdevicemap.c: Likewise.
15322 * util/i386/pc/grub-setup.c: Likewise.
15323 * util/grub-probe.c: Likewise.
15324 (probe): Abort with grub_util_error() when either
15325 grub_guess_root_device or grub_util_get_grub_dev fails.
15326
0215dcbf 153272007-06-12 Robert Millan <rmh@aybabtu.com>
15328
15329 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
15330 "pager" assignment.
15331 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
15332 "pcdata".
15333 * util/grub-probe.c (probe): Likewise for "drive_name".
15334
8af2ab7b 153352007-06-11 Robert Millan <rmh@aybabtu.com>
15336
15337 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
15338 not just the cdrom one.
15339
59d31694 153402007-06-11 Robert Millan <rmh@aybabtu.com>
15341
15342 * util/i386/pc/grub-mkrescue.in: Add "set -e".
15343 Add --pkglibdir=DIR option to override pkglibdir.
15344 Mention --image-type=TYPE in help output.
15345 Fix --grub-mkimage (it was a no-op).
fe6b695a 15346 Abort gracefully when no parameter is given.
59d31694 15347
7ee367e4 153482007-06-11 Robert Millan <rmh@aybabtu.com>
15349
15350 * util/i386/pc/grub-mkrescue.in: New file.
15351 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
15352 * Makefile.in: Handle bin_SCRIPTS.
15353
29b0ed46 153542007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
15355
15356 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
15357 list of video modes.
15358
c0f90770 153592007-06-06 Robert Millan <rmh@aybabtu.com>
15360
15361 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
15362 file doesn't exist, or if it is in a filesystem grub can't read.
15363
15364 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
15365 not abort if GRUB_DRIVE could not be defined. Rearrange generated
15366 header comment to fit in 80 columns when the variables are resolved.
15367
15368 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
15369 could be identified by update-grub. Remove redundant check for
fe6b695a 15370 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 15371 handles that).
15372
fb36dc26 153732007-06-04 Robert Millan <rmh@aybabtu.com>
15374
15375 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
15376
15377 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
15378
15379 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
15380
0c68c93e 153812007-06-04 Robert Millan <rmh@aybabtu.com>
15382
15383 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
15384
15385 * include/grub/partition.h: Declare grub_apple_partition_map_init and
15386 grub_apple_partition_map_fini.
15387
15388 * util/biosdisk.c
15389 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
15390 to access >2 TiB disks).
15391
15392 Print disk->total_sectors with %llu instead of %lu, since this
15393 variable is always 64-bit (prevents wrong disk size from being displayed
15394 on either >2 TiB disk or big-endian CPU).
15395
15396 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
15397 into a generic case that supports all (sane) partition maps.
15398
15399 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
15400 breaks big-endian.
15401
15402 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
15403 and grub_apple_partition_map_fini() after that.
15404
0f23eb74 154052007-06-01 Robert Millan <rmh@aybabtu.com>
15406
15407 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
15408
15409 * util/grub.d/00_header.in: Only enable gfxterm when
15410 convert_system_path_to_grub_path() succeeds.
15411
42c71976 154122007-05-20 Robert Millan <rmh@aybabtu.com>
15413
15414 * util/update-grub_lib.in: New file.
15415 * DISTLIST: Add update-grub_lib.in.
15416 * conf/common.rmk: Generate update-grub_lib and install it in
15417 $(lib_DATA).
15418 * Makefile.in: Add install routine for $(lib_DATA).
15419
15420 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
15421 function provided by update-grub_lib to support arbitrary paths of
15422 unifont.pff.
15423 * util/update-grub.in: Use convert_system_path_to_grub_path() to
15424 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
15425
5beb2291 154262007-05-19 Robert Millan <rmh@aybabtu.com>
15427
15428 * commands/i386/cpuid.c: New module.
15429 * DISTLIST: Add it.
15430 * conf/i386-efi.rmk: Enable cpuid.mod.
15431 * conf/i386-pc.rmk: Likewise.
15432
7262eca1 154332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15434
15435 * kern/disk.c (grub_disk_read): Check return value of
15436 grub_realloc().
15437
260ba823 154382007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15439
15440 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
15441 arrays.
15442 * disk/raid.c (grub_raid_open): Likewise.
15443
1ecb6cf2 154442007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15445
15446 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
15447 stack instead of on the heap.
15448
15449 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
15450 before doing a read on it.
15451
15452 * configure.ac: Only use -fno-stack-protector for the target
15453 environment.
f19dbdb7 15454
21c8cbb1 154552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15456
15457 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
15458 __attribute_ ((unused)) to mode_type argument.
15459
15460 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 15461
21c8cbb1 15462 * kern/misc.c (memcmp): Fix prototype.
15463
15464 * include/grub/partition.h [GRUB_UTIL]
15465 (grub_gpt_partition_map_init): Add prototype.
15466 (grub_gpt_partition_map_fini): Likewise.
15467
15468 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
15469 at the right place.
15470
15471 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
15472 (grub_fat_read_data): Likewise.
15473 (grub_fat_find_dir): Likewise.
15474
15475 * font/manager.c (find_glyph): Make table a const.
15476 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 15477
849d55d3 154782007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
15479
15480 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
15481 code, first search for device in /dev/mapper, then in /dev.
15482 (grub_util_get_grub_dev): New function.
15483 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
15484 prototype.
15485 * util/grub-probe.c (probe): Remove check for RAID, call
15486 grub_util_get_grub_dev() instead of
15487 grub_util_biosdisk_get_grub_dev().
15488 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
15489 grub_util_biosdisk_get_grub_dev().
15490 * util/i386/pc/grub-setup.c (main): Likewise.
15491
8fff7c2f 154922007-05-16 Robert Millan <rmh@aybabtu.com>
15493
15494 * DISTLIST: Update for the latest changes.
15495 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
15496 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
15497 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
15498 grub/util/biosdisk.h.
15499 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
15500 grub/util/biosdisk.h.
15501
48e12b52 155022007-05-16 Robert Millan <rmh@aybabtu.com>
15503
15504 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
15505
46b9d128 155062007-05-16 Robert Millan <rmh@aybabtu.com>
15507
15508 * util/i386/efi/grub-install.in: New.
15509 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
15510 newly added grub-install.
15511 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
15512 include.
15513 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
15514 grub/util/biosdisk.h.
15515 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
15516 grub/util/biosdisk.h.
15517
2d1a40a9 155182007-05-16 Robert Millan <rmh@aybabtu.com>
15519
15520 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
15521 * include/grub/util/biosdisk.h: ... here.
15522 * util/i386/pc/biosdisk.c: Moved to ...
15523 * util/biosdisk.c: ... here.
15524 * util/i386/pc/getroot.c: Moved to ...
15525 * util/getroot.c: ... here.
15526 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
15527 * util/grub-mkdevicemap.c: ... here.
15528 * util/i386/pc/grub-probe.c: Moved to ...
15529 * util/grub-probe.c: ... here.
15530
9e26e3bc 155312007-05-15 Robert Millan <rmh@aybabtu.com>
15532
15533 * util/update-grub.in: Remove duplicated line in grub.cfg header
15534 message.
15535
57f96397 155362007-05-13 Robert Millan <rmh@aybabtu.com>
15537
15538 * util/update-grub.in: Fix a few assumptions about the devices holding
15539 /, /boot and /boot/grub being the same.
15540 * util/grub.d/00_header.in: Likewise.
15541 * util/grub.d/10_hurd.in: Likewise.
15542 * util/grub.d/10_linux.in: Likewise.
15543
15544 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
15545 patterns. Use that to define the `.old' suffix as older than `'.
15546
15547 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
15548
15549 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
15550 the grub.cfg header message.
15551
2e610d62 155522007-05-11 Robert Millan <rmh@aybabtu.com>
15553
15554 * util/update-grub.in: Create device.map if it doesn't already exist,
15555 before attempting to run grub-probe.
15556 Check for grub-probe and grub-mkdevicemap with the same code
15557 grub-install is using.
15558 Remove test mode.
15559
3f6a10ef 155602007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
15561
15562 * Makefile.in: Add the datarootdir autoconf variable.
15563
02e7b75e 155642007-05-09 Robert Millan <rmh@aybabtu.com>
15565
15566 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 15567 fail gracefully if dev->disk->partition == NULL.
02e7b75e 15568
75f396cc 155692007-05-07 Robert Millan <rmh@aybabtu.com>
15570
15571 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
15572 determine partition map module.
15573 * util/i386/pc/grub-install.in: Use this feature to decide which
15574 partition module to load, instead of hardcoding pc and gpt.
15575
da65cb36 155762007-05-07 Robert Millan <rmh@aybabtu.com>
15577
15578 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
15579 source directory differs from build directory.
15580
b57d6a91 155812007-05-05 Robert Millan <rmh@aybabtu.com>
15582
15583 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
15584 initialisation.
15585
509d00f1 155862007-05-05 Robert Millan <rmh@aybabtu.com>
15587
15588 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
15589
c48f23ef 155902007-05-05 Robert Millan <rmh@aybabtu.com>
15591
15592 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
15593 command-line arguments via ${GRUB_CMDLINE_LINUX}.
15594
20b97658 155952007-05-05 Robert Millan <rmh@aybabtu.com>
15596
15597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
15598 (grub_probe_SOURCES): Likewise.
15599 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
15600 GPT and initialize dos_part and bsd_part accordingly.
15601 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
15602 install_bsd_part.
15603 (main): Activate gpt module for use during partition identification,
15604 and deactivate it afterwards.
15605 * util/i386/pc/grub-install.in: Add gpt module to core.img.
15606 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
15607 partition identification, and deactivate it afterwards.
15608
99123174 156092007-05-05 Robert Millan <rmh@aybabtu.com>
15610
15611 * term/i386/pc/console.c (grub_console_fini): Call
15612 grub_term_set_current() before grub_term_unregister().
15613
ebd97f6e 156142007-05-04 Robert Millan <rmh@aybabtu.com>
15615
15616 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
15617 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
15618 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
15619 and update-grub_DATA.
15620 * conf/common.rmk: Build and install update-grub components.
15621 * conf/common.mk: Regenerate.
15622 * util/update-grub.in: New. Core of update-grub.
15623 * util/grub.d/00_header.in: New. Generates grub.cfg header.
15624 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
15625 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
15626 * util/grub.d/README: New. Document grub.d directory layout.
15627
b06a264d 156282007-05-01 Robert Millan <rmh@aybabtu.com>
15629
15630 * util/grub-emu.c: Move initialization functions
15631 grub_util_biosdisk_init() and grub_init_all() before
15632 grub_util_biosdisk_get_grub_dev(), which relies on them.
15633
41f0050e 156342007-04-19 Robert Millan <rmh@aybabtu.com>
15635
15636 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
15637 it is used later.
15638
04582bb3 156392007-04-18 Jerone Young <jerone@gmail.com>
15640
f19dbdb7 15641 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 15642 stanza.
15643
08db4632 156442007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 15645
08db4632 15646 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
15647 continue on and look for device node with real device name.
15648
801b76be 156492007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 15650
fe6b695a 15651 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 15652 ability.
15653 * Makefile.in: Add autoconf package transformation code.
15654 * util/i386/pc/grub-install.in: Likewise.
15655 * util/powerpc/ieee1275/grub-install.in: Likewise.
15656
6795c4e1 156572007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
15658
15659 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
15660 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
15661 (EXT2_REVISION): Likewise.
15662 (EXT2_INODE_SIZE): Likewise.
15663 (struct grub_ext2_block_group): Added a missing member
15664 "used_dirs".
15665 (grub_ext2_read_inode): Divide by the inode size in a superblock
15666 instead of 128 to obtain INODES_PER_BLOCK.
15667 Use the macro EXT2_INODE_SIZE instead of directly using
15668 SBLOCK->INODE_SIZE.
15669
d70af616 156702007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
15671
15672 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
15673 superblock instead of the structure size to compute an
15674 offset. This fixes the problem that GRUB could not read a
15675 filesystem when inode size is different from 128-byte.
15676
3b801603 156772007-03-05 Marco Gerards <marco@gnu.org>
15678
15679 * normal/main.c (read_config_file): When "menu" is not set, create
15680 an initial context.
15681
4785bfe4 156822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15683
15684 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
15685 (HEAP_LIMIT): New macro.
15686 (grub_claim_heap): Claim memory up to `heaplimit'.
15687
a0cbb023 156882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15689
15690 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
15691 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
15692 (_start): Likewise.
15693 (grub_arch_modules_addr): Return address after `_end'.
15694 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
15695 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
15696 (add_segments): Calculate `_end' from phdr size and location.
15697 (ALIGN_UP): Moved to ...
15698 * include/grub/misc.h: here.
15699 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15700 New macro.
15701 (GRUB_IEEE1275_MODULE_BASE): Removed.
15702
fd7d8eba 157032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15704
15705 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
15706 loop boundary.
15707
9b09e6fc 157082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15709
15710 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
15711 All users updated.
15712 (grub_elf64_load_hook_t): Likewise.
15713 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
15714 debug output.
15715
3ce27299 157162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15717
15718 * kern/mm.c: Update copyright.
15719 (grub_mm_debug): Correct syntax error.
15720 (grub_mm_dump_free): New function.
15721 (grub_debug_free): Call `grub_free'.
15722 * include/grub/mm.h: Update copyright.
15723 (grub_mm_dump_free): Add declaration.
15724
077d5fee 157252007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15726
15727 * include/grub/ieee1275/ieee1275.h: Update copyright.
15728 * kern/powerpc/ieee1275/init.c: Likewise.
15729 * kern/powerpc/ieee1275/openfw.c: Likewise.
15730
15731 * loader/powerpc/ieee1275/linux.c: Likewise.
15732 * include/grub/elfload.h: Likewise.
15733 * kern/elf.c: Likewise.
15734 (grub_elf32_load): Pass `base' and `size' parameters. Update all
15735 callers.
15736 (grub_elf64_load): Likewise.
15737 (grub_elf32_load_segment): Move to a nested function.
15738 (grub_elf64_load_segment): Likewise.
15739
dc946850 157402007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15741
15742 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
15743 prototype.
15744 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
15745 (grub_heap_len): Likewise.
15746 (HEAP_SIZE): New macro.
15747 (grub_claim_heap): New function.
15748 (grub_machine_init): Don't claim heap directly. Call
15749 `grub_claim_heap'.
15750 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
15751 (grub_available_iterate): New function.
15752
baa2a121 157532007-02-03 Thomas Schwinge <tschwinge@gnu.org>
15754
15755 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
15756 * configure.ac: Use it for testing the HOST and TARGET compilers.
15757
4fe9862e 157582006-12-13 Thomas Schwinge <tschwinge@gnu.org>
15759
15760 * Makefile.in (enable_grub_emu): New variable.
15761 * configure.ac (--enable-grub-emu): New option.
15762 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
15763 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
15764 * conf/i386-pc.rmk: Likewise.
15765 * conf/powerpc-ieee1275.rmk: Likewise.
15766 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
15767
a8aa5762 157682006-12-12 Marco Gerards <marco@gnu.org>
15769
15770 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
15771
15772 * kern/env.c (grub_env_unset): Don't free the member `value' when
15773 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
15774 pointer.
15775
15776 * normal/main.c (current_menu): Removed.
15777 (free_menu): Unset the `menu' environment variable.
15778 (grub_normal_menu_addentry): Make use of the environment variable
15779 `menu', instead of using the global `current_menu'. Allocate
15780 memory for the sourcecode of this entry.
15781 (read_config_file): New argument `nested', changed all callers.
15782 Only in the case of a new context, initialize a new menu. Set the
15783 `menu' environment variable.
15784 (grub_normal_execute): Don't set and unset the environment
15785 variable `menu' here anymore. Only free the menu when leaving the
15786 context.
15787
15788 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
15789 leak.
15790
957b3a3e 157912006-12-11 Marco Gerards <marco@gnu.org>
15792
15793 * normal/menu_entry.c (run): Fix off by one bug so the last line
15794 is executed. Move the loader check to outside the loop.
15795
ef875714 157962006-12-08 Hollis Blanchard <hollis@penguinppc.org>
15797
15798 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
15799
4e739985 158002006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
15801
15802 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
15803 the number of sectors. Reported by Andrey Shuvikov
15804 <mr_hyro@yahoo.com>.
f19dbdb7 15805
790707f2 158062006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
15807
15808 * kern/disk.c (grub_disk_read): When there is a read error, always
15809 try to read only the necessary data.
f19dbdb7 15810
790707f2 15811 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
15812 disk/raid.c.
15813 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
15814 prototype.
15815 [GRUB_UTIL] (grub_raid_fini): Likewise.
15816 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 15817 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 15818 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
15819 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
15820 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
15821 and grub_raid_fini().
f19dbdb7 15822
03e58196 158232006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
15824
15825 * include/grub/types.h (__unused): Rename to UNUSED.
15826 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
15827 (grub_elf64_size): Likewise.
f19dbdb7 15828
ae4f23bf 158292006-11-03 Hollis Blanchard <hollis@penguinppc.org>
15830
15831 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
15832 grub_error_push and grub_error_pop in the error-handling path.
15833 (grub_elf32_load_segment): Only call grub_file_read with non-zero
15834 length.
15835
2166cc83 158362006-11-03 Hollis Blanchard <hollis@penguinppc.org>
15837
15838 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
15839 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15841 (kernel_elf_SOURCES): Likewise.
15842 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
15843 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
15844 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15845 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15846 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
15847 (elf_mod_SOURCES): New variable.
15848 (elf_mod_CFLAGS): Likewise.
15849 (elf_mod_LDFLAGS): Likewise.
15850 * include/grub/types.h (__unused): New macro.
15851 * include/grub/elfload.h: New file.
15852 * kern/elf.c: Likewise.
15853 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
15854 (ELF32_LOADMASK): New macro.
15855 (ELF64_LOADMASK): Likewise.
15856 (vmlinux): Removed.
15857 (grub_linux_load32): New function.
15858 (grub_linux_load64): Likewise.
15859 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
15860 Use grub_elf_t instead of grub_file_t.
15861
a09d5aa5 158622006-11-02 Hollis Blanchard <hollis@penguinppc.org>
15863
15864 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
15865 `catch_result' to struct set_color_args.
15866
d976fc51 158672006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
15868
15869 * normal/menu.c: Include grub/script.h.
15870 * normal/menu_entry.c: Likewise.
15871 * include/grub/normal.h: Do not include grub/script.h.
15872
67507549 158732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15874
15875 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
15876
69203a99 158772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15878
15879 * kern/disk.c (grub_disk_open): Print debug messages when opening a
15880 disk.
15881 (grub_disk_close): Print debug messages when closing a disk.
15882 (grub_disk_read): Print debug messages when disk read fails.
15883 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
15884 filesystem type.
15885 * kern/partition.c: Include misc.h.
15886 (grub_partition_iterate): Print debug messages when detecting
15887 partition type.
15888
e2b8278c 158892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15890
15891 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
15892 is negative.
15893 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
15894
97b2f2ff 158952006-10-26 Hollis Blanchard <hollis@penguinppc.org>
15896
15897 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15898 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
15899
6555d655 159002006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
15901
15902 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
15903 instead of sizeof(lv). Patch by Michael Guntsche.
15904
4d42b77f 159052006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
15906
15907 * disk/lvm.c: Rename VGS to VG_LIST.
15908 (grub_lvm_iterate): Change VGS->LV to VG-LV.
15909 (grub_lvm_open): Likewise.
15910 Thanks to Michael Guntsche for finding this bug.
15911
5d74d927 159122006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
15913
15914 * configure.ac (AC_INIT): Bumped to 1.95.
15915
a1bb27e4 159162006-10-14 Robert Millan <rmh@aybabtu.com>
15917
15918 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
15919 with "/dev/.static/dev/md".
15920
e0994b8b 159212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15922
15923 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
15924 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
15925 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
15926 DRIVE_NAME are always freed.
15927
15928 * util/i386/pc/biosdisk.c (make_device_name): Add one into
15929 DOS_PART, as a DOS partition is counted from one instead of zero
15930 now. Reported by Robert Millan.
15931
ddd5cee9 159322006-10-14 Robert Millan <rmh@aybabtu.com>
15933
15934 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
15935 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
15936 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
15937 string returned by grub_guess_root_device.
15938 * util/i386/pc/grub-setup.c: Likewise.
15939 * util/i386/pc/grub-probefs.c: Likewise.
15940
15941 * util/i386/pc/grub-probefs.c: Rename to ...
15942 * util/i386/pc/grub-probe.c: ... this.
15943 * DISTLIST: Remove grub-probefs, add grub-probe.
15944 * conf/i386-efi.rmk: Likewise.
15945 * conf/i386-pc.rmk: Likewise.
15946 * util/i386/pc/grub-install.in: Likewise.
15947
15948 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
15949 choose which information we want to print.
15950
2b002173 159512006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15952
15953 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
15954 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
15955 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
15956 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
15957 video/readers/tga.c and video/i386/pc/vbeutil.c.
15958
159592006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
15960
15961 Added support for RAID and LVM.
f19dbdb7 15962
2b002173 15963 * disk/lvm.c: New file.
15964 * disk/raid.c: Likewise.
15965 * include/grub/lvm.h: Likewise.
f19dbdb7 15966 * include/grub/raid.h: Likewise.
2b002173 15967 * include/grub/util/lvm.h: Likewise.
15968 * include/grub/util/raid.h: Likewise.
15969 * util/lvm.c: Likewise.
15970 * util/raid.c: Likewise.
15971
15972 * include/grub/disk.h (grub_disk_dev_id): Add
15973 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
15974 (grub_disk_get_size): New prototype.
15975 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
15976 returns a partition.
15977 (grub_disk_get_size): New function.
f19dbdb7 15978
2b002173 15979 * kern/i386/pc/init.c (make_install_device): Copy the prefix
15980 verbatim if grub_install_dos_part is -2.
15981
15982 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
15983 and LVM devices.
15984
15985 * util/i386/pc/grub-setup.c (setup): New argument
15986 MUST_EMBED. Force embedding of GRUB when the argument is
15987 true. Close FILE before returning.
15988 (main): Add support for RAID and LVM.
f19dbdb7 15989
2b002173 15990 * conf/common.rmk: Add RAID and LVM modules.
15991 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
15992 util/lvm.c.
15993 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
15994
15995 * kern/misc.c (grub_strstr): New function.
15996 * include/grub/misc.h (grub_strstr): New prototype.
15997
050548d0 159982006-10-10 Tristan Gingold <tristan.gingold@bull.net>
15999
16000 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16001
da849d2d 160022006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16003
16004 * kern/misc.c (grub_strtoull): Guess the base only if not
16005 specified.
16006
97b2f2ff 160072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16008
16009 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16010 PowerMac support.
16011
97b2f2ff 160122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16013
16014 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16015
16016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16017 Remove `flags' argument. All callers changed.
16018 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16019 (IEEE1275_IHANDLE_INVALID): New variable.
16020 (IEEE1275_CELL_INVALID): New variable.
16021 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16022 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16023 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16024 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16025 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16026 codes from Open Firmware. All callers updated.
16027 (grub_ieee1275_next_property): Directly return Open Firmware return
16028 code.
16029 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16030 Standardize error checking from `grub_ieee1275_get_property'.
16031 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16032 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16033
97b2f2ff 160342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16035
16036 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16037 `instance_to_package_args' to `instance_to_path_args'.
16038
16039 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16040 `grub_ieee1275_chosen'.
16041
16042 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16043 `grub_ieee1275_interpret'.
16044
97b2f2ff 160452006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16046
16047 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16048
97b2f2ff 160492006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16050
16051 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16052 (__cmpdi): Likewise.
16053
16054 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16055 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16056 `grub_ssize_t'.
16057
02bb8acc 16058 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 16059
16060 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
16061 to type `grub_ssize_t'.
16062 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
16063
7f9a8531 160642006-09-22 Marco Gerards <marco@gnu.org>
16065
16066 * normal/script.c (grub_script_create_cmdmenu): Skip leading
16067 newlines.
16068
b5ef1102 160692006-09-22 Marco Gerards <marco@gnu.org>
16070
16071 * commands/echo.c: New file.
16072
16073 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
16074
16075 * conf/common.rmk (echo_mod_SOURCES): New variable.
16076 (echo_mod_CFLAGS): Likewise.
16077 (echo_mod_LDFLAGS): Likewise.
16078
2cff3677 160792006-09-22 Marco Gerards <marco@gnu.org>
16080
16081 * normal/main.c (get_line): Malloc memory instead of using
16082 preallocated memory. Removed the arguments `cmdline' and
16083 `max_len'. Updated all callers.
16084
6ba4688b 160852006-09-22 Marco Gerards <marco@gnu.org>
16086
16087 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
16088 (normal_mod_DEPENDENCIES): Likewise.
16089
16090 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
16091 (normal_mod_DEPENDENCIES): Likewise.
16092
16093 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
16094
e02ac02c 160952006-09-22 Johan Rydberg <jrydberg@gnu.org>
16096
16097 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
16098 programs.
16099 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
16100 (normal_mod_DEPENDENCIES): Likewise.
16101 * conf/i386-pc.mk: Regenerate.
16102 * conf/i386-efi.mk: Likewise
16103 * conf/common.mk: Likewise.
16104 * conf/powerpc-ieee1275.mk: Likewise.
16105 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16106
8d252e44 161072006-09-22 Robert Millan <rmh@aybabtu.com>
16108
16109 Sync with i386 version.
16110 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
16111 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
16112
209bf7ac 161132006-09-21 Robert Millan <rmh@aybabtu.com>
16114
16115 Import from GRUB Legacy (lib/device.c):
16116 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
16117 (init_device_map) [__linux__]: Add support for I2O devices.
16118
6b146090 161192006-09-14 Marco Gerards <marco@gnu.org>
16120
16121 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
16122 `-melf_i386'.
16123
e38600a8 161242006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 16125
16126 * util/i386/pc/grub-install.in: Skip menu.lst when removing
16127 /boot/grub/*.lst.
78fa1790 16128
2952da5d 16129 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 16130
2952da5d 16131 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
16132 before adding it to device.map.
16133
01b82a64 161342006-08-15 Johan Rydberg <jrydberg@gnu.org>
16135
fe6b695a 16136 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 16137 compiles a file; using the -MD option.
16138 * conf/common.mk: Regenerate.
16139 * conf/i386-pc.mk: Likewise.
16140 * conf/i386-efi.mk: Likewise.
16141 * conf/powerpc-ieee1275.mk: Likewise.
16142 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16143
1064790d 161442006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
16145
16146 Move the prototypes of grub_setjmp and grub_longjmp to
16147 cpu/setjmp.h, so that each architecture may specify different
16148 attributes.
f19dbdb7 16149
1064790d 16150 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
16151 (grub_longjmp): Likewise.
16152 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
16153 (grub_longjmp): Likewise.
16154 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
16155 (grub_longjmp): Likewise.
16156
16157 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
16158 [!GRUB_UTIL] (grub_longjmp): Removed.
16159
29dda3ed 161602006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
16161
16162 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
16163 "color!" method does not return any value.
16164
ad2a06ed 161652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16166
16167 * include/grub/bitmap.h: New file.
16168
16169 * include/grub/i386/pc/vbeutil.h: Likewise.
16170
16171 * video/bitmap.c: Likewise.
16172
16173 * video/readers/tga.c: Likewise.
16174
16175 * video/i386/pc/vbeutil.c: Likewise.
16176
16177 * commands/videotest.c: Code cleanup and updated to reflect to new
16178 video API.
16179
16180 * term/gfxterm.c: Likewise.
16181
16182 * video/video.c: Likewise.
16183
16184 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
16185 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
16186 (bitmap_mod_SOURCES): New entry.
16187 (bitmap_mod_CFLAGS): Likewise.
16188 (bitmap_mod_LDFLAGS): Likewise.
16189 (tga_mod_SOURCES): Likewise.
16190 (tga_mod_CFLAGS): Likewise.
16191 (tga_mod_LDFLAGS): Likewise.
16192
16193 * include/grub/video.h (grub_video_blit_operators): New enum type.
16194 (grub_video_render_target): Changed as forward declaration and moved
16195 actual definition to be video driver specific.
16196 (grub_video_adapter.blit_bitmap): Added blitting operator.
16197 (grub_video_adapter.blit_render_target): Likewise.
16198 (grub_video_blit_bitmap): Likewise.
16199 (grub_video_blit_render_target): Likewise.
16200
16201 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
16202 driver specific render target definition.
16203 (grub_video_vbe_map_rgba): Added driver internal helper.
16204 (grub_video_vbe_unmap_color): Updated to use
16205 grub_video_i386_vbeblit_info.
16206 (grub_video_vbe_get_video_ptr): Likewise.
16207
16208 * include/grub/i386/pc/vbeblit.h
16209 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
16210 grub_video_i386_vbeblit_info.
16211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16212 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16213 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16214 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16215 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16216 (grub_video_i386_vbeblit_index_index): Likewise.
16217 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
16218 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16219 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16220 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
16221 operator.
16222 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
16223 operator.
16224
16225 * video/i386/pc/vbeblit.c: Updated to reflect changes on
16226 include/grub/i386/pc/vbeblit.h.
16227
16228 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
16229 Updated to use grub_video_i386_vbeblit_info.
16230 (grub_video_i386_vbefill_R8G8B8): Likewise.
16231 (grub_video_i386_vbefill_index): Likewise.
16232 (grub_video_i386_vbefill): Added generic filler.
16233
16234 * video/i386/pc/vbefill.c: Updated to reflect changes on
16235 include/grub/i386/pc/vbefill.h.
16236
16237 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
16238 grub_video_i386_vbeblit_info.
16239 (grub_video_vbe_unmap_color): Likewise.
16240 (grub_video_vbe_blit_glyph): Likewise.
16241 (grub_video_vbe_scroll): Likewise.
16242 (grub_video_vbe_draw_pixel): Removed function.
16243 (grub_video_vbe_get_pixel): Likewise.
16244 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
16245 updated code to use it.
16246 (common_blitter): Added common blitter for render target and bitmap.
16247 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
16248 (grub_video_vbe_blit_render_target): Likewise.
16249
bc8c036d 162502006-07-30 Johan Rydberg <jrydberg@gnu.org>
16251
16252 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
16253 is in text mode if there is no console control protocol instance
16254 available.
16255
684a8eff 162562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16257
16258 * include/grub/video.h: Code cleanup.
16259
16260 * include/grub/i386/pc/vbe.h: Likewise.
16261
16262 * video/i386/pc/vbe.c: Likewise.
16263
16264 * video/i386/pc/vbeblit.c: Likewise.
16265
16266 * video/i386/pc/vbefill.c: Likewise.
16267
16268 * video/video.c: Likewise. Also added more comments.
16269
5915059b 162702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16271
16272 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
16273 (struct grub_biosdisk_dap): Likewise.
16274
16275 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
16276 linkage settings for all functions.
16277
90ce5d56 162782006-07-12 Marco Gerards <marco@gnu.org>
16279
16280 * configure.ac (--enable-mm-debug): Fix typo.
16281
16282 * genkernsyms.sh.in: Use proper quoting for `CC'.
16283
43e7f879 162842006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
16285
16286 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
16287 (normal_mod_ASFLAGS): Remove "-m32".
16288
4889bdec 162892006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
16290
16291 * util/misc.c: Include config.h.
16292 [!HAVE_MEMALIGN]: Do not include malloc.h.
16293 (grub_memalign): Use posix_memalign, if present. Then, use
16294 memalign, if present. Otherwise, emit an error.
16295
16296 * util/grub-emu.c: Do not include malloc.h.
16297
16298 * include/grub/util/misc.h: Include unistd.h. This is required for
16299 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
16300 D. Eades III <hde@foobar-qux.org>.
16301
16302 * configure.ac (AC_GNU_SOURCE): Added.
16303 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
16304 type.
16305
fd39d4da 163062006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
16307
16308 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
16309 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
16310
b786f3b5 163112006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
16312
16313 * include/grub/types.h (grub_host_addr_t): Rename to
16314 grub_target_addr_t.
16315 (grub_host_off_t): Rename to grub_target_off_t.
16316 (grub_host_size_t): Rename to grub_target_size_t.
16317 (grub_host_ssize_t): Rename to grub_target_ssize_t.
16318 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
16319
16320 * include/grub/kernel.h (struct grub_module_header): Change type
16321 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
16322 (grub_module_info): Likewise.
f19dbdb7 16323
051988bb 163242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16325
16326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
16327 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
16328 Velazquez <jesus.velazquez@gmail.com>.
16329
deae281b 163302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16331
16332 Count partitions from 1 instead of 0 in the string representation
16333 of partitions. Still use 0-based internally.
f19dbdb7 16334
deae281b 16335 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
16336 (sun_partition_map_iterate): Use grub_partition_t instead of
16337 struct grub_partition *. Cast DESC->START_CYLINDER to
16338 grub_uint64_t after converting the endian.
16339 (sun_partition_map_probe): Subtract 1 for PARTNUM.
16340 (sun_partition_map_get_name): Add 1 to P->INDEX.
16341
16342 * partmap/pc.c (grub_partition_parse): Subtract 1 for
16343 PCDATA->DOS_PART.
16344 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
16345
16346 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
16347 zero instead of one.
16348 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
16349 (gpt_partition_map_get_name): Add 1 into P->INDEX.
16350
16351 * partmap/apple.c (apple_partition_map_iterate): Change the type
16352 of POS to unsigned.
16353 (apple_partition_map_probe): Subtract 1 for PARTNUM.
16354 (apple_partition_map_get_name): Add 1 into P->INDEX.
16355
16356 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
16357 of POS to unsigned.
16358 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
16359 calculate the offset of a partition.
16360 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
16361 (amiga_partition_map_get_name): Add 1 into P->INDEX.
16362
16363 * partmap/acorn.c (acorn_partition_map_find): Change the type of
16364 SECTOR to grub_disk_addr_t.
16365 (acorn_partition_map_iterate): Likewise.
16366 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
16367 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
16368 top.
16369 (acorn_partition_map_get_name): Add 1 into P->INDEX.
16370
16371 * kern/i386/pc/init.c (make_install_device): Add 1 into
16372 GRUB_INSTALL_DOS_PART.
16373
16374 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
16375 conditional.
16376
524a1e6a 163772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16378
16379 Clean up the code to support 64-bit addressing in disks and
16380 files. This change is not enough for filesystems yet.
f19dbdb7 16381
524a1e6a 16382 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
16383 type of "start" to grub_uint64_t.
16384 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
16385 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
16386 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
16387 convert addresses.
16388
16389 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
16390 to grub_disk_addr_t.
16391
16392 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
16393 string.
16394
16395 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16396
16397 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
16398 to char *.
16399
16400 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
16401
16402 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
16403
16404 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
16405
16406 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
16407 to grub_off_t, to detect an error from grub_file_seek.
16408 (grub_multiboot_load_elf32): Likewise.
16409
16410 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
16411 maximum unsigned long value when an overflow is detected.
16412 (grub_strtoull): New function.
16413 (grub_divmod64): Likewise.
16414 (grub_lltoa): use grub_divmod64.
16415
16416 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
16417 grub_disk_addr_t.
16418 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
16419 the pointer to next character. Use grub_strtoull instead of
16420 grub_strtoul.
16421 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
16422 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
16423 respectively.
16424
fe6b695a 16425 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 16426 return value is signed.
16427 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
16428 test if OFFSET is less than zero, as OFFSET is unsigned now.
16429
16430 * kern/disk.c (struct grub_disk_cache): Change the type of
16431 "sector" to grub_disk_addr_t.
16432 (grub_disk_cache_get_index): Change the type of SECTOR to
16433 grub_disk_addr_t. Calculate the hash with SECTOR casted to
16434 unsigned after shifting.
16435 (grub_disk_cache_invalidate): Change the type of SECTOR to
16436 grub_disk_addr_t.
16437 (grub_disk_cache_unlock): Likewise.
16438 (grub_disk_cache_store): Likewise.
16439 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
16440 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
16441 grub_disk_addr_t and grub_uint64_t, respectively.
16442 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
16443 body, as the value of OFFSET is tweaked by
16444 grub_disk_check_range. Change the types of START_SECTOR, LEN and
16445 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
16446 respectively.
16447 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
16448 body, as the value of OFFSET is tweaked by
16449 grub_disk_check_range. Change the types of LEN and N to
16450 grub_size_t.
16451
16452 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
16453 and "saved_offset" to grub_off_t.
16454 (test_header): Cast BUF to char *.
16455 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
16456 to char *.
16457 (grub_gzio_read): Change the types of OFFSET and SIZE to
16458 grub_off_t and grub_size_t, respectively.
16459
16460 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
16461 Removed.
16462 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
16463 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
16464 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
16465 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
16466 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
16467
16468 * include/grub/types.h (grub_off_t): Unconditionally set to
16469 grub_uint64_t.
16470 (grub_disk_addr_t): Changed to grub_uint64_t.
16471
16472 * include/grub/partition.h (struct grub_partition): Change the
16473 types of "start", "len" and "offset" to grub_disk_addr_t,
16474 grub_uint64_t and grub_disk_addr_t, respectively.
16475 (grub_partition_get_start): Return grub_disk_addr_t.
16476 (grub_partition_get_len): Return grub_uint64_t.
16477
16478 * include/grub/misc.h (grub_strtoull): New prototype.
16479 (grub_divmod64): Likewise.
16480
16481 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
16482 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
16483 grub_off_t, respectively.
16484 All callers and references changed.
16485
16486 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
16487 grub_size_t in "read".
16488 All callers and references changed.
16489
16490 * include/grub/file.h (struct grub_file): Change the types of
16491 "offset" and "size" to grub_off_t and grub_off_t,
16492 respectively. Change the type of SECTOR to grub_disk_addr_t in
16493 "read_hook".
16494 (grub_file_read): Change the type of LEN to grub_size_t.
16495 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
16496 grub_off_t.
16497 (grub_file_size): Return grub_off_t.
16498 (grub_file_tell): Likewise.
16499 All callers and references changed.
16500
16501 * include/grub/disk.h (struct grub_disk_dev): Change the types of
16502 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
16503 "write".
16504 (struct grub_disk): Change the type of "total_sectors" to
16505 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 16506 "read_hook".
524a1e6a 16507 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
16508 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
16509 (grub_disk_write): Likewise.
16510 All callers and references changed.
16511
16512 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
16513 char * for grub_strncmp to silence gcc.
16514 (grub_iso9660_mount): Likewise.
16515 (grub_iso9660_mount): Likewise.
16516 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
16517 return statement.
16518 (grub_iso9660_iterate_dir): Likewise.
16519 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
16520
16521 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
16522 LEN to grub_disk_addr_t and grub_size_t, respectively.
16523
16524 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16525
16526 * fs/jfs.c (grub_jfs_read_file): Likewise.
16527
16528 * fs/minix.c (grub_jfs_read_file): Likewise.
16529
16530 * fs/sfs.c (grub_jfs_read_file): Likewise.
16531
16532 * fs/ufs.c (grub_jfs_read_file): Likewise.
16533
16534 * fs/xfs.c (grub_jfs_read_file): Likewise.
16535
16536 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
16537 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
16538 respectively.
16539
16540 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
16541 BLKNR to -1 instead of returning GRUB_ERRNO.
16542 (grub_ext2_read_file): Change the types of SECTOR and
16543 LEN to grub_disk_addr_t and grub_size_t, respectively.
16544
16545 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
16546 LEN to grub_disk_addr_t and grub_size_t, respectively.
16547
16548 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
16549 grub_file_read.
16550
16551 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
16552 string. Do not cast SECTOR explicitly.
16553
16554 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
16555 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
16556 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
16557 grub_disk_addr_t and grub_size_t, respectively. If the sector is
16558 over 2TB and LBA mode is not supported, raise an error.
16559 (get_safe_sectors): New function.
16560 (grub_biosdisk_read): Use get_safe_sectors.
16561 (grub_biosdisk_write): Likewise.
16562
16563 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
16564 (grub_efidisk_write): Likewise.
16565
16566 * disk/loopback.c (delete_loopback): Cosmetic changes.
16567 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
16568 correctly.
16569 (grub_loopback_open): Likewise.
16570 (grub_loopback_read): Likewise. Also, change the type of POS to
16571 grub_off_t, and fix the usage of grub_memset.
16572
16573 * commands/i386/pc/play.c: Include grub/machine/time.h.
16574
16575 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
16576 print FILE->SIZE.
16577
16578 * commands/configfile.c: Include grub/env.h.
16579
16580 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
16581 GRUB_ERRNO directly instead. Change the type of POS to
16582 grub_off_t. Follow the coding standard.
16583
16584 * commands/blocklist.c: Include grub/partition.h.
16585 (grub_cmd_blocklist): Return an error if the underlying device is
16586 not a disk. Take the starting sector of a partition into account,
16587 if a partition is used.
16588
16589 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
16590 a length field.
16591 (lba_mode): Support 64-bit addresses.
16592 (chs_mode): Likewise.
16593 (copy_buffer): Adapted to the new offsets of a length field and a
16594 segment field.
16595 (blocklist_default_start): Allocate 64-bit space.
16596
16597 * boot/i386/pc/boot.S (force_lba): Removed.
16598 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 16599 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 16600 space.
16601 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
16602 is useless.
16603 (lba_mode): Refactored to support a 64-bit address. More size
16604 optimization.
16605 (setup_sectors): Likewise.
16606
53af98ad 166072006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16608
16609 * DISTLIST: Added include/grub/i386/linux.h. Removed
16610 include/grub/i386/pc/linux.h
16611
16612 * configure.ac (AC_INIT): Bumped to 1.94.
16613
16614 * config.guess: Updated from gnulib.
16615 * config.sub: Likewise.
16616 * install-sh: Likewise.
16617 * mkinstalldirs: Likewise.
16618
b4c1940a 166192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16620
16621 * conf/common.rmk (grub_modules_init.lst): Depended on
16622 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
16623 MODSRCFILES.
16624
16625 * genmk.rb (PModule::rule): Reverted the previous change.
16626
cfca1cfd 166272006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16628
16629 * conf/common.rmk (grub_modules_init.lst): Depends on
16630 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
16631 that the target does not exist before producing.
16632 (grub_modules_init.h): Remove the target before generating.
16633 (grub_emu_init.c): Likewise.
16634
16635 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
16636
aa6d7826 166372006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
16638
16639 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
16640 for the target-specific tests. Make sure that we also have the
16641 up-to-date target variables for those tests.
16642
26c607b9 166432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
16644
16645 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
16646 (PModule::rule): Likewise.
16647
0162321a 166482006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
16649
16650 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
16651 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
16652 target-specific flags should be prefixed.
16653 (PModule::rule): Likewise.
16654
6c826348 166552006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
16656
16657 * configure.ac (CMP): Check if cmp is available explicitly.
16658
b977bf01 166592006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
16660
16661 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
16662 (target_cpu): New variable.
16663 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 16664
b977bf01 16665 * util/i386/pc/grub-install.in (host_cpu): Removed.
16666 (target_cpu): New variable.
16667 (pkglibdir): Use target_cpu instead of host_cpu.
16668
16669 * util/genmoddep.c: Removed.
f19dbdb7 16670
b977bf01 16671 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
16672 instead of GRUB_HOST_SIZEOF_VOID_P.
16673 * kern/dl.c: Likewise.
16674
16675 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
16676 ...
16677 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16678 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16679 (GRUB_TARGET_SIZEOF_LONG): ... this.
16680 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16681 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16682 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16683 to ...
16684 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16685 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16686 (GRUB_TARGET_SIZEOF_LONG): ... this.
16687 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16688 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16689 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16690 to ...
16691 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16692 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16693 (GRUB_TARGET_SIZEOF_LONG): ... this.
16694 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16695 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16696
16697 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
16698 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
16699 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
16700 instead of GRUB_HOST_SIZEOF_LONG.
16701 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
16702 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
16703 GRUB_CPU_WORDS_BIGENDIAN.
16704 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
16705 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
16706 grub_host_ssize_t.
16707
16708 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
16709 (genmoddep_SOURCES): Likewise.
16710 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
16711 (genmoddep_SOURCES): Likewise.
16712 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
16713 (genmoddep_SOURCES): Likewise.
16714 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
16715 Likewise.
16716 (genmoddep_SOURCES): Likewise.
16717
16718 * genmoddep.awk: New file.
16719
16720 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
16721 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
16722 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
16723 (PModule::rule): Likewise.
16724 (Program::rule): Likewise.
16725 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
16726 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
16727 respectively.
16728
16729 * configure.ac: Rewritten intensively to use host and target
16730 instead of build and host, respectively.
16731
16732 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
16733 (host_cpu): Removed.
16734 (target_cpu): New variable.
16735 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
16736 (BUILD_CC): Removed.
16737 (BUILD_CFLAGS): Likewise.
16738 (BUILD_CPPFLAGS): Likewise.
16739 (TARGET_CC): New variable.
16740 (TARGET_CFLAGS): Likewise.
16741 (TARGET_CPPFLAGS): Likewise.
16742 (TARGET_LDFLAGS): Likewise.
16743 (AWK): Likewise.
16744 (include): Use target_cpu instead of host_cpu.
16745 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 16746
b977bf01 16747 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
16748
f09771a1 167492006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
16750
16751 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
16752 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
16753 field 'false' to 'exec_on_false'.
16754 (grub_script_create_cmdif): Renamed argument names to reflect above
16755 changes.
16756
16757 * normal/execute.c (grub_script_execute_cmdif): Likewise.
16758
16759 * normal/script.c (grub_script_create_cmdif): Likewise.
16760
118f4fb3 167612006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
16762
16763 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
16764 top.
16765 (grub_hfsplus_btree_recptr): Likewise.
16766 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
16767 FILEBLOCK both to pass a block number and store next block
16768 number.
16769 (grub_hfsplus_read_block): Rewritten heavily to support an extent
16770 overflow file correctly. Specify errors appropriately, because
16771 fshelp expects that GRUB_ERRNO is set when fails. Reuse
16772 grub_hfsplus_btree_recptr to get the pointer to a found key.
16773 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
16774 is found.
16775
16776 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
16777 linux.mod.
16778 (_linux_mod_SOURCES): New variable.
16779 (_linux_mod_CFLAGS): Likewise.
16780 (_linux_mod_LDFLAGS): Likewise.
16781 (linux_mod_SOURCES): Likewise.
16782 (linux_mod_CFLAGS): Likewise.
16783 (linux_mod_LDFLAGS): Likewise.
16784
16785 * DISTLIST: Added loader/i386/efi/linux.c,
16786 loader/i386/efi/linux_normal.c and
16787 include/grub/i386/efi/loader.h.
16788
16789 * loader/i386/efi/linux.c: New file.
16790 * loader/i386/efi/linux_normal.c: Likewise.
16791 * include/grub/i386/efi/loader.h: Likewise.
16792
89a7d726 167932006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
16794
16795 * commands/blocklist.c: New file.
16796
16797 * DISTLIST: Added commands/blocklist.c.
16798
16799 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 16800 color for the background, and a darker color for the foreground.
89a7d726 16801 (grub_console_checkkey): Return READ_KEY.
16802 (grub_console_cls): Set the background to
16803 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
16804
16805 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
16806
16807 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
16808 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
16809
16810 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
16811 prototype.
16812
16813 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
16814 BG. The spec is wrong again.
16815
16816 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
16817 prototype.
16818 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
16819
16820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
16821 commands/blocklist.c.
16822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 16823
89a7d726 16824 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
16825 (blocklist_mod_SOURCES): New variable.
16826 (blocklist_mod_CFLAGS): Likewise.
16827 (blocklist_mod_LDFLAGS): Likewise.
16828
75c8f258 168292006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
16830
16831 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
16832 duplication.
16833 (lba_mode): Use %eax more intensively to reduce the code size.
16834
da2eb181 168352006-05-20 Marco Gerards <marco@gnu.org>
16836
16837 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
16838
16839 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
16840 for `menuentry'.
16841 (script): Accept leading newlines.
16842 (newlines): New rule to describe 0 or more newlines.
16843 (commands): Accept `command' with trailing newline. Fixed the
16844 order in which arguments were passed to `grub_script_add_cmd'.
16845 Accept commands separated by newlines.
16846 (function): Changed to accept newlines.
16847 (menuentry) Rewritten.
16848
16849 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
16850 front of the list, instead of to the end.
16851
577b4050 168522006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
16853
16854 * util/i386/pc/grub-install.in (bindir): New variable.
16855 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
16856 Shaver <lbgwjl@gmail.com>.
16857
0d6e1189 168582006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
16859
16860 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
16861 grub/machine/linux.h
16862 * loader/i386/pc/linux.c: Likewise.
16863
16864 * include/grub/i386/pc/linux.h: Moved to ...
16865 * include/grub/i386/linux.h: ... here.
16866
16867 * include/grub/i386/linux.h (struct linux_kernel_params): New
16868 struct.
f19dbdb7 16869
31b86e9f 168702006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
16871
16872 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
16873 checking.
16874 (grub_video_vbe_blit_glyph): Likewise.
16875 (grub_video_vbe_blit_bitmap): Likewise.
16876 (grub_video_vbe_blit_render_target): Likewise.
16877
83b984de 168782006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
16879
16880 * configure.ac (--with-platform): Properly quote the square
16881 brackets.
16882
5f0413bd 168832006-05-08 Marco Gerards <marco@gnu.org>
16884
16885 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
16886 this...
16887 (kernel_elf_HEADERS): ...to this. Updated all users.
16888 (grubof_symlist.c): Renamed from this...
16889 (kernel_elf_symlist.c): ...to this. Updated all users.
16890 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16891 (grubof_SOURCES): Renamed from this...
16892 (kernel_elf_SOURCES): ...to this.
16893 (grubof_HEADERS): Renamed from this...
16894 (kernel_elf_HEADERS): ...to this.
16895 (grubof_CFLAGS): Renamed from this...
16896 (kernel_elf_CFLAGS): ...to this.
16897 (grubof_ASFLAGS): Renamed from this...
16898 (kernel_elf_ASFLAGS): ...to this.
16899 (grubof_LDFLAGS): Renamed from this...
16900 (kernel_elf_LDFLAGS): ...to this.
16901
16902 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
16903 this...
16904 (kernel_elf_HEADERS): ...to this. Updated all users.
16905 (grubof_symlist.c): Renamed from this...
16906 (kernel_elf_symlist.c): ...to this. Updated all users.
16907 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16908 (grubof_SOURCES): Renamed from this...
16909 (kernel_elf_SOURCES): ...to this.
16910 (grubof_HEADERS): Renamed from this...
16911 (kernel_elf_HEADERS): ...to this.
16912 (grubof_CFLAGS): Renamed from this...
16913 (kernel_elf_CFLAGS): ...to this.
16914 (grubof_ASFLAGS): Renamed from this...
16915 (kernel_elf_ASFLAGS): ...to this.
16916 (grubof_LDFLAGS): Renamed from this...
16917 (kernel_elf_LDFLAGS): ...to this.
16918
16919 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
16920 `kernel.elf' instead of `grubof'.
16921
05568c2e 169222006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
16923
16924 Add --with-platform to configure. Use pkglibdir instead of
16925 pkgdatadir. This is reported by Roger Leigh.
16926
16927 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
16928 (host_vendor): Likewise.
16929 (host_os): Likewise.
16930 (pkgdatadir): Likewise.
16931 (platform): New variable.
16932 (pkglibdir): Likewise.
16933 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 16934
05568c2e 16935 * util/i386/pc/grub-install.in (datadir): Removed.
16936 (host_vendor): Likewise.
16937 (host_os): Likewise.
16938 (pkgdatadir): Likewise.
16939 (platform): New variable.
16940 (pkglibdir): Likewise.
16941 Use PKGLIBDIR instead of PKGDATADIR.
16942
16943 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
16944 instead of GRUB_DATADIR.
16945 (main): Likewise.
16946 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16947 (main): Likewise.
16948 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16949 (main): Likewise.
16950
16951 * configure.ac (--with-platform): New option.
16952 Use PLATFORM instead of HOST_VENDOR to specify a platform.
16953
16954 * Makefile.in: Include a makefile based on PLATFORM instead of
16955 HOST_VENDOR.
16956 (pkgdatadir): Not appended by the machine type.
16957 (pkglibdir): Appended by the machine type.
16958 (host_vendor): Removed.
16959 (platform): New variable.
16960 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
16961 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
16962 (uninstall): Likewise.
16963
4e93851c 169642006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
16965
16966 Use the environment context in the menu. Remove the commands
16967 "default" and "timeout", and use variables instead.
f19dbdb7 16968
4e93851c 16969 * normal/menu.c: Include grub/env.h.
16970 (print_entry): Cast TITLE to silence gcc.
16971 (get_timeout): New function.
16972 (set_timeout): Likewise.
16973 (get_entry_number): Likewise.
16974 (run_menu): Use a default entry, a fallback entry and a timeout
16975 in the environment variables "default", "fallback" and
16976 "timeout". Also, tweak the default entry if it is not within the
16977 current menu entries.
16978 (grub_menu_run): Use a fallback entry in the environment variable
16979 "fallback".
16980
16981 * normal/main.c (read_config_file): Do not initialize
16982 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
16983 NEWMENU->TIMEOUT.
16984 (grub_normal_execute): Use a data slot to store the menu.
16985
16986 * include/grub/normal.h (struct grub_menu): Removed default_entry,
16987 fallback_entry and timeout.
16988 (struct grub_menu_list): Removed.
16989 (grub_menu_list_t): Likewise.
16990 (struct grub_context): Likewise.
16991 (grub_context_t): Likewise.
16992 (grub_context_get): Likewise.
16993 (grub_context_get_current_menu): Likewise.
16994 (grub_context_push_menu): Likewise.
16995 (grub_context_pop_menu): Likewise.
16996 (grub_default_init): Likewise.
16997 (grub_default_fini): Likewise.
16998 (grub_timeout_init): Likewise.
16999 (grub_timeout_fini): Likewise.
17000
17001 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17002 and timeout.mod.
17003 (normal_mod_SOURCES): Removed normal/context.c.
17004
17005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17006 commands/default.c, commands/timeout.c and normal/context.c.
17007 (normal_mod_SOURCES): Removed normal/context.c.
17008
17009 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17010 commands/timeout.c and normal/context.c.
17011 (normal_mod_SOURCES): Removed normal/context.c.
17012
17013 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17014 commands/default.c, commands/timeout.c and normal/context.c.
17015 (normal_mod_SOURCES): Removed normal/context.c.
17016
17017 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17018 timeout.mod.
17019 (default_mod_SOURCES): Removed.
17020 (default_mod_CFLAGS): Likewise.
17021 (default_mod_LDFLAGS): Likewise.
17022 (timeout_mod_SOURCES): Removed.
17023 (timeout_mod_CFLAGS): Likewise.
17024 (timeout_mod_LDFLAGS): Likewise.
17025
17026 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17027 normal/context.c.
17028
17029 * commands/default.c: Removed.
17030 * commands/timeout.c: Likewise.
17031 * normal/context.c: Likewise.
17032
1eb9cc1d 170332006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17034
17035 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17036
385bd9c1 170372006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17038
17039 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17040 "next" to "prev" for readability.
17041 (struct grub_env_sorted_var): New struct.
17042 (grub_env_context): Renamed to ...
17043 (initial_context): ... this.
17044 (grub_env_var_context): Renamed to ...
17045 (current_context): ... this.
17046 (grub_env_find): Look only at CURRENT_CONTEXT.
17047 (grub_env_context_open): Rewritten to copy exported variables from
17048 previous context.
17049 (grub_env_context_close): Rewritten according to the new
17050 scheme. Also, add an assertion to prevent the initial context from
17051 removed.
17052 (grub_env_insert): Removed the code for the sorted list.
17053 (grub_env_remove): Likewise.
17054 (grub_env_export): Simply mark the variable with
17055 GRUB_ENV_VAR_GLOBAL.
17056 (grub_env_set): A cosmetic change for naming consistency.
17057 (grub_env_get): Likewise.
17058 (grub_env_unset): Likewise.
17059 (grub_env_iterate): Rewritten to sort variables within this
17060 function.
17061 (grub_register_variable_hook): Fixed for naming consistency. Call
17062 grub_env_find again, only if NAME is not found at the first time.
17063 (mangle_data_slot_name): New function.
17064 (grub_env_set_data_slot): Likewise.
17065 (grub_env_get_data_slot): Likewise.
17066 (grub_env_unset_data_slot): Likewise.
17067
17068 * include/grub/env.h (grub_env_var_type): New enum.
17069 (GRUB_ENV_VAR_LOCAL): New constant.
17070 (GRUB_ENV_VAR_GLOBAL): Likewise.
17071 (GRUB_ENV_VAR_DATA): Likewise.
17072 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
17073 "type".
17074 (grub_env_set): Replace VAR with NAME for consistency.
17075 (grub_register_variable_hook): Likewise.
17076 (grub_env_export): Specify the name of the argument.
17077 (grub_env_set_data_slot): New prototype.
17078 (grub_env_get_data_slot): Likewise.
17079 (grub_env_unset_data_slot): Likewise.
17080
7f362539 170812006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17082
17083 Extend the loader so that GRUB can accept a loader which comes
17084 back to GRUB when a loaded image exits. Also, this change adds
17085 support for a chainloader on EFI.
f19dbdb7 17086
7f362539 17087 * term/efi/console.c: Include grub/misc.h.
17088 (grub_console_checkkey): Display a scan code on the top for
17089 debugging. This will be removed once the EFI port gets stable.
17090 Correct the scan code mapping.
17091
17092 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
17093 allocate memory from larger regions, in order to reduce the number
17094 of allocated regions. Otherwise, the MacOSX loader panics.
17095 (filter_memory_map): Avoid less than 1MB for compatibility with
17096 other loaders.
17097 (add_memory_regions): Allocate from the tail of a region, if
17098 possible, to avoid allocating a region near to 1MB, for the MacOSX
17099 loader.
17100
17101 * kern/efi/init.c (grub_efi_set_prefix): Specify
17102 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
17103
17104 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
17105 argument IMAGE_HANDLE and specify it to get a loaded image.
17106 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
17107 grub_efi_get_loaded_image.
fe6b695a 17108 (grub_efi_get_filename): Divide the length by the size of
7f362539 17109 grub_efi_char16_t.
17110 (grub_efi_get_device_path): New function.
17111 (grub_efi_print_device_path): Print End Device Path nodes. Divide
17112 the length by the size of grub_efi_char16_t for a file path device
17113 path node.
17114
17115 * kern/loader.c (grub_loader_noreturn): New variable.
17116 (grub_loader_set): Accept a new argument NORETURN. Set
17117 GRUB_LOADER_NORETURN to NORETURN.
17118 All callers changed.
17119 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
17120 grub_machine_fini.
17121
17122 * include/grub/efi/efi.h (grub_efi_get_device_path): New
17123 prototype.
17124 (grub_efi_get_loaded_image): Take an argument to specify an image
17125 handle.
17126
17127 * include/grub/loader.h (grub_loader_set): Added one more argument
17128 NORETURN.
17129
17130 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
17131 instead of grub_efi_open_protocol.
17132 (grub_efidisk_get_device_name): Likewise.
17133 (grub_efidisk_close): Print a newline.
17134 (grub_efidisk_get_device_handle): Fixed to use
17135 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
17136 GRUB_EFI_DEVICE_PATH_TYPE.
17137
17138 * disk/efi/efidisk.c (device_path_guid): Moved to ...
17139 * kern/efi/efi.c (device_path_guid): ... here.
17140
17141 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
17142 chain.mod.
17143 (kernel_mod_HEADERS): Added efi/disk.h.
17144 (_chain_mod_SOURCES): New variable.
17145 (_chain_mod_CFLAGS): Likewise.
17146 (_chain_mod_LDFLAGS): Likewise.
17147 (chain_mod_SOURCES): Likewise.
17148 (chain_mod_CFLAGS): Likewise.
17149 (chain_mod_LDFLAGS): Likewise.
17150
17151 * DISTLIST: Added include/grub/efi/chainloader.h,
17152 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
17153
17154 * include/grub/efi/chainloader.h: New file.
17155 * loader/efi/chainloader.c: Likewise.
17156 * loader/efi/chainloader_normal.c: Likewise.
17157
c0111d6e 171582006-04-30 Marco Gerards <marco@gnu.org>
17159
17160 * commands/configfile.c (grub_cmd_source): New function.
17161 (GRUB_MOD_INIT): Register the commands `source' and `.'.
17162 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
17163
df5341da 171642006-04-30 Marco Gerards <marco@gnu.org>
17165
17166 * normal/execute.c (grub_script_execute_cmd): Change the return
17167 type to `grub_err_t'. Correctly return the error.
17168 (grub_script_execute_cmdline): In case a command line is not a
17169 command or a function, try to interpret it as an assignment.
17170
f85934bd 171712006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17172
17173 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
17174 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
17175 skip a node whose name is obviously invalid as UTF-16,
17176 i.e. contains a NUL character. Stop the iteration when the last
17177 directory entry is found. Instead of using the return value of
17178 grub_hfsplus_btree_iterate_node, store the value in RET and use
17179 it, because the iterator can be stopped by the last directory
17180 entry.
17181
8f8a2cf8 171822006-04-30 Marco Gerards <marco@gnu.org>
17183
17184 * include/grub/env.h (grub_env_export): New prototype. Reported
17185 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
17186
a27e84ce 171872006-04-30 Marco Gerards <marco@gnu.org>
17188
17189 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
17190 size of the extents in a catalog file record.
17191
eaef0553 171922006-04-29 Marco Gerards <marco@gnu.org>
17193
17194 * commands/configfile.c (grub_cmd_configfile): Execute the
17195 configfile within its own context.
17196
17197 * include/grub/env.h (grub_env_context_open): New prototype.
17198 (grub_env_context_close): Likewise.
17199
17200 * kern/env.c (grub_env): Removed.
17201 (grub_env_sorted): Likewise.
17202 (grub_env_context): New variable.
17203 (grub_env_var_context): Likewise.
17204 (grub_env_find): Search both the active context and the global
17205 context.
17206 (grub_env_context_open): New function.
17207 (grub_env_context_close): Likewise.
17208 (grub_env_insert): Likewise.
17209 (grub_env_remove): Likewise.
17210 (grub_env_export): Likewise.
17211 (grub_env_set): Changed to use helper functions to avoid code
17212 duplication.
17213 (grub_env_iterate): Rewritten so both the current context and the
17214 global context are being used.
17215
17216 * normal/command.c (export_command): New function.
17217 (grub_command_init): Register the `export' function.
17218
7b455f4d 172192006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
17220
17221 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
17222 explicitly to suppress gcc's warnings.
17223 * fs/fat.c (grub_fat_find_dir): Likewise.
17224 (grub_fat_label): Likewise.
17225 * fs/xfs.c (grub_xfs_read_inode): Likewise.
17226 (grub_xfs_mount): Likewise.
17227 (grub_xfs_label): Likewise.
17228 * fs/affs.c (grub_affs_mount): Likewise.
17229 (grub_affs_label): Likewise.
17230 (grub_affs_iterate_dir): Likewise.
17231 * fs/sfs.c (grub_sfs_mount): Likewise.
17232 (grub_sfs_iterate_dir): Likewise.
17233 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
17234 * fs/hfs.c (grub_hfs_mount): Likewise.
17235 (grub_hfs_cmp_catkeys): Likewise.
17236 (grub_hfs_find_dir): Likewise.
17237 (grub_hfs_dir): Likewise.
17238 (grub_hfs_label): Likewise.
17239 * fs/jfs.c (grub_jfs_mount): Likewise.
17240 (grub_jfs_opendir): Likewise.
17241 (grub_jfs_getent): Likewise.
17242 (grub_jfs_lookup_symlink): Likewise.
17243 (grub_jfs_label): Likewise.
17244 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
17245 (grub_hfsplus_iterate_dir): Likewise.
17246 (grub_hfsplus_btree_iterate_node): Made static.
17247
17248 * util/grub-emu.c (prefix): New variable.
17249 (grub_machine_set_prefix): New function.
17250 (main): Do not set the environment variable "prefix" here. Only
17251 set PREFIX, which is used later by grub_machine_set_prefix.
17252
17253 * include/grub/video.h: Do not include grub/symbol.h.
17254 (grub_video_register): Not exported. This symbol is not defined in
17255 the kernel.
17256 (grub_video_unregister): Likewise.
17257 (grub_video_iterate): Likewise.
17258 (grub_video_setup): Likewise.
17259 (grub_video_restore): Likewise.
17260 (grub_video_get_info): Likewise.
17261 (grub_video_get_blit_format): Likewise.
17262 (grub_video_set_palette): Likewise.
17263 (grub_video_get_palette): Likewise.
17264 (grub_video_set_viewport): Likewise.
17265 (grub_video_get_viewport): Likewise.
17266 (grub_video_map_color): Likewise.
17267 (grub_video_map_rgb): Likewise.
17268 (grub_video_map_rgba): Likewise.
17269 (grub_video_fill_rect): Likewise.
17270 (grub_video_blit_glyph): Likewise.
17271 (grub_video_blit_bitmap): Likewise.
17272 (grub_video_blit_render_target): Likewise.
17273 (grub_video_scroll): Likewise.
17274 (grub_video_swap_buffers): Likewise.
17275 (grub_video_create_render_target): Likewise.
17276 (grub_video_delete_render_target): Likewise.
17277 (grub_video_set_active_render_target): Likewise.
17278
17279 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
17280 Undefined.
17281 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
17282
17283 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
17284 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17285 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17286 instead of $(srcdir)/genkernsyms.sh.
17287
17288 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
17289 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17290 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17291 instead of $(srcdir)/genkernsyms.sh.
17292
17293 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
17294 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17295 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17296 instead of $(srcdir)/genkernsyms.sh.
17297
17298 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
17299 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17300 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17301 instead of $(srcdir)/genkernsyms.sh.
17302
17303 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
17304 genkernsyms.sh.
17305
17306 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
17307 genkernsyms.sh.
17308 (gensymlist.sh): New target.
17309 (genkernsyms.sh): Likewise.
17310
17311 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
17312 genkernsyms.sh.in and gensymlist.sh.in.
17313
17314 * genkernsyms.sh: Removed.
17315 * gensymlist.sh: Likewise.
f19dbdb7 17316
7b455f4d 17317 * genkernsyms.sh.in: New file.
17318 * gensymlist.sh.in: Likewise.
17319
1885bb27 173202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17321
17322 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
17323 clobber "prefix", since we may have already set it manually.
17324
71538dff 173252006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17326
17327 * kern/misc.c (abort): New alias for grub_abort.
17328
2965c7cc 173292006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
17330
17331 A new machine-specific function "grub_machine_set_prefix" is
17332 defined. This is called after loading modules, so that a prefix
17333 initialization can use modules. Also, this change adds an
17334 intensive debugging feature for the memory manager via the
17335 configure option "--enable-mm-debug".
f19dbdb7 17336
2965c7cc 17337 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
17338 PART.LEN.
17339
17340 * kern/sparc64/ieee1275/init.c (abort): Removed.
17341 (grub_stop): Likewise.
17342 (grub_exit): New function.
17343 (grub_set_prefix): Renamed to ...
17344 (grub_machine_set_prefix): ... this.
17345 (grub_machine_init): Do not call grub_set_prefix.
17346
17347 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
17348 (grub_machine_set_prefix): ... this.
17349 (grub_machine_init): Do not call grub_set_prefix.
17350
17351 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
17352 (grub_machine_init): Do not set the prefix here.
17353
17354 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
17355
17356 * kern/efi/init.c: Include grub/mm.h.
17357 (grub_efi_set_prefix): New function.
17358
17359 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
17360 (grub_efi_get_filename): New function.
17361 (grub_print_device_path): Renamed to ...
17362 (grub_efi_print_device_path): ... this.
17363
17364 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
17365 [MM_DEBUG] (grub_realloc): Likewise.
17366 [MM_DEBUG] (grub_free): Likewise.
17367 [MM_DEBUG] (grub_memalign): Likewise.
17368 [MM_DEBUG] (grub_mm_debug): New variable.
17369 [MM_DEBUG] (grub_debug_malloc): New function.
17370 [MM_DEBUG] (grub_debug_free): New function.
17371 [MM_DEBUG] (grub_debug_realloc): New function.
17372 [MM_DEBUG] (grub_debug_memalign): New function.
17373
17374 * kern/misc.c (grub_abort): Print a newline to distinguish
17375 the message.
17376
17377 * kern/main.c (grub_main): Call grub_machine_set_prefix and
17378 grub_set_root_dev after loading modules. This is necessary when
17379 setting a prefix depends on modules.
17380
17381 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
17382 (grub_efi_print_device_path): ... this.
17383 (grub_efi_get_filename): New prototype.
17384 (grub_efi_set_prefix): Likewise.
17385
17386 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
17387 and grub/disk.h.
17388 (grub_efidisk_get_device_handle): New prototype.
17389 (grub_efidisk_get_device_name): Likewise.
17390
17391 * include/grub/mm.h: Include config.h.
17392 (MM_DEBUG): Removed.
17393 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
17394 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
17395 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
17396 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
17397 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
17398 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
17399 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
17400 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
17401 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
17402
17403 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
17404
17405 * disk/efi/efidisk.c: Include grub/partition.h.
17406 (iterate_child_devices): New function.
17407 (add_device): First, compare only last device path nodes, so that
17408 devices are sorted by the types.
17409 (grub_efidisk_get_device_handle): New function.
17410 (grub_efidisk_get_device_name): Likewise.
17411
17412 * configure.ac (--enable-mm-debug): New option to enable the
17413 memory manager debugging feature. This makes the binary much
17414 bigger, so is disabled by default.
17415
9cacaa17 174162006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
17417
17418 Use grub_abort instead of grub_stop, and grub_exit must be
17419 define in each architecture now. Also, this change adds support
17420 for EFI disks.
f19dbdb7 17421
9cacaa17 17422 * util/i386/pc/grub-probefs.c: Include grub/term.h.
17423 (grub_getkey): New function.
17424 (grub_term_get_current): Likewise.
17425
17426 * util/i386/pc/grub-setup.c: Include grub/term.h.
17427 (grub_getkey): New function.
17428 (grub_term_get_current): Likewise.
17429
17430 * util/misc.c (grub_stop): Renamed to ...
17431 (grub_exit): ... this.
17432
17433 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
17434 (grub_exit): ... this.
17435 (grub_machine_init): Use grub_abort instead of abort.
17436 (grub_stop): Removed.
17437
17438 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
17439 abort.
17440
17441 * kern/i386/pc/startup.S (grub_exit): New function.
17442 (cold_reboot): New label.
17443
17444 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
17445 (grub_efi_init): Call grub_efidisk_init.
17446 (grub_efi_fini): Call grub_efidisk_fini.
17447
17448 * kern/efi/efi.c: Include grub/mm.h.
17449 (grub_efi_console_control_guid): Renamed to ...
17450 (console_control_guid): ... this.
17451 (grub_efi_loaded_image_guid): Renamed to ...
17452 (loaded_image_guid): ... this.
17453 (grub_efi_locate_handle): New function.
17454 (grub_efi_open_protocol): Likewise.
17455 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
17456 GRUB_EFI_CONSOLE_CONTROL_GUID.
17457 (grub_efi_exit): Removed.
17458 (grub_stop): Likewise.
17459 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
17460 (grub_exit): New function.
17461 (grub_print_device_path): Likewise.
17462
17463 * kern/rescue.c (grub_rescue_cmd_exit): New function.
17464 (grub_enter_rescue_mode): Register "exit".
17465
17466 * kern/misc.c (grub_real_dprintf): A cosmetic change.
17467 (grub_abort): New function.
17468
17469 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
17470
17471 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
17472
17473 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
17474
17475 * include/grub/efi/efi.h (grub_efi_exit): Removed.
17476 (grub_print_device_path): New prototype.
17477 (grub_efi_locate_handle): Likewise.
17478 (grub_efi_open_protocol): Likewise.
17479
17480 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
17481 * disk/efi/efidisk.c: Likewise.
17482
17483 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
17484
17485 * include/grub/efi/console_control.h
17486 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
17487
17488 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
17489 last 8 bytes as an array.
17490 (GRUB_EFI_DISK_IO_GUID): New macro.
17491 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
17492 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
17493 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
17494 grub_uint8_t.
17495 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
17496 (struct grub_efi_device_path): Rename the member "sub_type" to
17497 "subtype".
17498 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
17499 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
17500 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
17501 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
17502 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
17503 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
17504 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
17505 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
17506 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
17507 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
17508 (struct grub_efi_pci_device_path): New structure.
17509 (grub_efi_pci_device_path_t): New type.
17510 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
17511 (struct grub_efi_pccard_device_path): New structure.
17512 (grub_efi_pccard_device_path_t): New type.
17513 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
17514 (struct grub_efi_memory_mapped_device_path): New structure.
17515 (grub_efi_memory_mapped_device_path_t): New type.
17516 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
17517 (struct grub_efi_vendor_device_path): New structure.
17518 (grub_efi_vendor_device_path_t): New type.
17519 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
17520 (struct grub_efi_controller_device_path): New structure.
17521 (grub_efi_controller_device_path_t): New type.
17522 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
17523 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
17524 (struct grub_efi_acpi_device_path): New structure.
17525 (grub_efi_acpi_device_path_t): New type.
17526 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
17527 (struct grub_efi_expanded_acpi_device_path): New structure.
17528 (grub_efi_expanded_acpi_device_path_t): New type.
17529 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
17530 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
17531 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
17532 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
17533 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
17534 (struct grub_efi_atapi_device_path): New structure.
17535 (grub_efi_atapi_device_path_t): New type.
17536 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
17537 (struct grub_efi_fibre_channel_device_path): New structure.
17538 (grub_efi_fibre_channel_device_path_t): New type.
17539 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
17540 (struct grub_efi_1394_device_path): New structure.
17541 (grub_efi_1394_device_path_t): New type.
17542 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
17543 (struct grub_efi_usb_device_path): New structure.
17544 (grub_efi_usb_device_path_t): New type.
17545 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
17546 (struct grub_efi_usb_class_device_path): New structure.
17547 (grub_efi_usb_class_device_path_t): New type.
17548 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
17549 (struct grub_efi_i2o_device_path): New structure.
17550 (grub_efi_i2o_device_path_t): New type.
17551 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
17552 (struct grub_efi_mac_address_device_path): New structure.
17553 (grub_efi_mac_address_device_path_t): New type.
17554 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
17555 (struct grub_efi_ipv4_device_path): New structure.
17556 (grub_efi_ipv4_device_path_t): New type.
17557 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
17558 (struct grub_efi_ipv6_device_path): New structure.
17559 (grub_efi_ipv6_device_path_t): New type.
17560 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
17561 (struct grub_efi_infiniband_device_path): New structure.
17562 (grub_efi_infiniband_device_path_t): New type.
17563 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
17564 (struct grub_efi_uart_device_path): New structure.
17565 (grub_efi_uart_device_path_t): New type.
17566 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
17567 (struct grub_efi_vendor_messaging_device_path): New structure.
17568 (grub_efi_vendor_messaging_device_path_t): New type.
17569 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
17570 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
17571 (struct grub_efi_hard_drive_device_path): New structure.
17572 (grub_efi_hard_drive_device_path_t): New type.
17573 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
17574 (struct grub_efi_cdrom_device_path): New structure.
17575 (grub_efi_cdrom_device_path_t): New type.
17576 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
17577 (struct grub_efi_vendor_media_device_path): New structure.
17578 (grub_efi_vendor_media_device_path_t): New type.
17579 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
17580 (struct grub_efi_file_path_device_path): New structure.
17581 (grub_efi_file_path_device_path_t): New type.
17582 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
17583 (struct grub_efi_protocol_device_path): New structure.
17584 (grub_efi_protocol_device_path_t): New type.
17585 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
17586 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
17587 (struct grub_efi_bios_device_path): New structure.
17588 (grub_efi_bios_device_path_t): New type.
17589 (struct grub_efi_disk_io): New structure.
17590 (grub_efi_disk_io_t): New type.
17591 (struct grub_efi_block_io_media): New structure.
17592 (grub_efi_block_io_media_t): New type.
17593 (struct grub_efi_block_io): New structure.
17594 (grub_efi_block_io_t): New type.
17595
17596 * include/grub/misc.h (grub_stop): Removed.
17597 (grub_exit): New prototype.
17598 (grub_abort): Likewise.
17599
17600 * include/grub/disk.h (enum grub_disk_dev_id): Added
17601 GRUB_DISK_DEVICE_EFIDISK_ID.
17602
17603 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
17604 disk/efi/efidisk.c.
17605 (kernel_syms.lst): Remove the target if an error occurs.
17606
49986a9f 176072006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
17608
17609 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
17610 as it was simply too buggy.
17611
970d3b8a 176122006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
17613
17614 * kern/misc.c (grub_lltoa): New function.
17615 (grub_vsprintf): Added support for the long long suffix,
17616 i.e. "ll".
17617
ff04ec24 176182006-04-20 Hollis Blanchard <hollis@penguinppc.org>
17619
17620 * Makefile.in (LDFLAGS): Add variable.
17621 (LD): Remove variable.
17622 * configure.ac: Add -m32 to LDFLAGS.
17623 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
17624 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
17625 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
17626 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
17627 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
17628 variables.
17629 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
17630 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
17631 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
17632
37e5e1a4 176332006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
17634
17635 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
17636 length for unknown glyph.
17637
c352d8dd 176382006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
17639
2eab1c0d 17640 Add support for pre-loaded modules into the EFI port.
f19dbdb7 17641
2eab1c0d 17642 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
17643 completely. Accept one more argument DIR. The caller has changed.
17644
17645 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
17646
17647 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
17648 (grub_efi_loaded_image_guid): New variable.
17649 (grub_efi_get_loaded_image): New function.
17650 (grub_arch_modules_addr): Likewise.
17651
17652 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
17653 prototype.
17654
17655 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
17656 (struct grub_efi_loaded_image): New structure.
17657 (grub_efi_loaded_image_t): New type.
17658
176592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17660
c352d8dd 17661 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
17662 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
17663 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
17664
6d01d6b4 176652006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
17666
17667 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
17668
976a4ea0 176692006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
17670
17671 * DISTLIST: Added include/grub/efi/console.h,
17672 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
17673 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17674
17675 * include/grub/efi/console.h: New file.
17676 * include/grub/efi/time.h: Likewise.
17677 * include/grub/i386/efi/kernel.h: Likewise.
17678 * kern/efi/init.c: Likewise.
17679 * kern/efi/mm.c: Likewise.
17680 * term/efi/console.c: Likewise.
f19dbdb7 17681
976a4ea0 17682 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
17683 (grub_stop): Removed.
17684 (grub_get_rtc): Likewise.
17685 (grub_machine_init): Simply call grub_efi_init.
17686 (grub_machine_fini): Call grub_efi_fini.
17687
17688 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
17689 (grub_efi_output_string): Removed.
17690 (grub_efi_stall): New function.
17691 (grub_stop): Likewise.
17692 (grub_get_rtc): Likewise.
17693
17694 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
17695 (grub_efi_stall): New prototype.
17696 (grub_efi_allocate_pages): Likewise.
17697 (grub_efi_free_pages): Likewise.
17698 (grub_efi_get_memory_map): Likewise.
17699 (grub_efi_mm_init): Likewise.
17700 (grub_efi_mm_fini): Likewise.
17701 (grub_efi_init): Likewise.
17702 (grub_efi_fini): Likewise.
17703
17704 * include/grub/i386/efi/time.h: Do not include
17705 grub/symbol.h. Include grub/efi/time.h.
17706 (GRUB_TICKS_PER_SECOND): Removed.
17707 (grub_get_rtc): Likewise.
17708
17709 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
17710 Added padding. The EFI spec is buggy.
17711 (GRUB_EFI_BLACK): New macro.
17712 (GRUB_EFI_BLUE): Likewise.
17713 (GRUB_EFI_GREEN): Likewise.
17714 (GRUB_EFI_CYAN): Likewise.
17715 (GRUB_EFI_RED): Likewise.
17716 (GRUB_EFI_MAGENTA): Likewise.
17717 (GRUB_EFI_BROWN): Likewise.
17718 (GRUB_EFI_LIGHTGRAY): Likewise.
17719 (GRUB_EFI_BRIGHT): Likewise.
17720 (GRUB_EFI_DARKGRAY): Likewise.
17721 (GRUB_EFI_LIGHTBLUE): Likewise.
17722 (GRUB_EFI_LIGHTGREEN): Likewise.
17723 (GRUB_EFI_LIGHTCYAN): Likewise.
17724 (GRUB_EFI_LIGHTRED): Likewise.
17725 (GRUB_EFI_LIGHTMAGENTA): Likewise.
17726 (GRUB_EFI_YELLOW): Likewise.
17727 (GRUB_EFI_WHITE): Likewise.
17728 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
17729 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
17730 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
17731 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
17732 (GRUB_EFI_BACKGROUND_RED): Likewise.
17733 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
17734 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
17735 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
17736 (GRUB_EFI_TEXT_ATTR): Likewise.
17737
17738 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
17739 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17740 (kernel_mod_HEADERS): Added efi/time.h.
17741
83709125 177422006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
17743
17744 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
17745 include/grub/efi/api.h, include/grub/efi/console_control.h,
17746 include/grub/efi/efi.h, include/grub/efi/pe32.h,
17747 include/grub/i386/efi/time.h, kern/efi/efi.c,
17748 kern/i386/efi/init.c, kern/i386/efi/startup.S,
17749 and util/i386/efi/grub-mkimage.c.
17750
17751 * Makefile.in (RMKFILES): Added i386-efi.rmk.
17752
17753 * genmk.rb (PModule#rule): Do not export symbols if
17754 #{prefix}_EXPORTS is set to "no".
17755
17756 * conf/i386-efi.mk: New file.
17757 * conf/i386-efi.rmk: Likewise.
17758 * include/grub/efi/api.h: Likewise.
17759 * include/grub/efi/console_control.h: Likewise.
17760 * include/grub/efi/efi.h: Likewise.
17761 * include/grub/efi/pe32.h: Likewise.
17762 * include/grub/i386/efi/time.h: Likewise.
17763 * kern/efi/efi.c: Likewise.
17764 * kern/i386/efi/init.c: Likewise.
17765 * kern/i386/efi/startup.S: Likewise.
17766 * util/i386/efi/grub-mkimage.c: Likewise.
17767
177682006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 17769
17770 * include/grub/script.h: Include <grub/parser.h> and
17771 "grub_script.tab.h".
17772 (struct grub_lexer_param): New struct.
17773 (struct grub_parser_param): Likewise.
17774 (grub_script_create_arglist): Pass the state in an argument.
17775 (grub_script_add_arglist): Likewise.
17776 (grub_script_create_cmdline): Likewise.
17777 (grub_script_create_cmdblock): Likewise.
17778 (grub_script_create_cmdif): Likewise.
17779 (grub_script_create_cmdmenu): Likewise.
17780 (grub_script_add_cmd): Likewise.
17781 (grub_script_arg_add): Likewise.
17782 (grub_script_lexer_ref): Likewise.
17783 (grub_script_lexer_deref): Likewise.
17784 (grub_script_lexer_record_start): Likewise.
17785 (grub_script_lexer_record_stop): Likewise.
17786 (grub_script_mem_record): Likewise.
17787 (grub_script_mem_record_stop): Likewise.
17788 (grub_script_malloc): Likewise.
17789 (grub_script_yylex): Likewise.
17790 (grub_script_yyparse): Likewise.
17791 (grub_script_yyerror): Likewise.
17792 (grub_script_yylex): Likewise.
17793 (grub_script_lexer_init): Return the state.
17794
17795 * normal/lexer.c (grub_script_lexer_state): Removed variable.
17796 (grub_script_lexer_done): Likewise.
17797 (grub_script_lexer_getline): Likewise.
17798 (grub_script_lexer_refs): Likewise.
17799 (script): Likewise.
17800 (newscript): Likewise.
17801 (record): Likewise.
17802 (recording): Likewise.
17803 (recordpos): Likewise.
17804 (recordlen): Likewise.
17805 (grub_script_lexer_init): Return the state instead of setting
17806 global variables.
17807 (grub_script_lexer_ref): Use the newly added argument for state
17808 instead of globals.
17809 (grub_script_lexer_deref): Likewise.
17810 (grub_script_lexer_record_start): Likewise.
17811 (grub_script_lexer_record_stop): Likewise.
17812 (recordchar): Likewise.
17813 (nextchar): Likewise.
17814 (grub_script_yylex2): Likewise.
17815 (grub_script_yylex): Likewise.
17816 (grub_script_yyerror): Likewise.
17817
17818 * normal/parser.y (func_mem): Removed variable.
17819 (menu_entry): Likewise.
17820 (err): Likewise.
17821 (%lex-param): New parser option.
17822 (%parse-param): Likewise.
17823 (script): Always return the AST.
17824 (argument): Pass the state around.
17825 (arguments): Likewise.
17826 (grubcmd): Likewise.
17827 (commands): Likewise.
17828 (function): Likewise.
17829 (menuentry): Likewise.
17830 (if_statement): Likewise.
17831 (if): Likewise.
17832
17833 * normal/script.c (grub_script_memused): Removed variable.
17834 (grub_script_parsed): Likewise.
17835 (grub_script_malloc): Added a state argument. Use that instead of
17836 global variables.
17837 (grub_script_mem_record): Likewise.
17838 (grub_script_mem_record_stop): Likewise.
17839 (grub_script_arg_add): Likewise.
17840 (grub_script_add_arglist): Likewise.
17841 (grub_script_create_cmdline): Likewise.
17842 (grub_script_create_cmdif): Likewise.
17843 (grub_script_create_cmdmenu): Likewise.
17844 (grub_script_add_cmd): Likewise.
17845 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 17846
e2a8c904 178472006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 17848
17849 * normal/command.c (grub_command_init): Remove the title command.
17850
17851 * normal/lexer.c (grub_script_yylex): Renamed from this...
17852 (grub_script_yylex2): ... to this.
17853 (grub_script_yylex): New function. Temporary
17854 introduced to filter some tokens.
17855 (grub_script_yyerror): Print a newline.
17856
17857 * normal/main.c (read_config_file): Output information about the
17858 lines that contain errors. Wait for a key after all lines have
17859 been processed. Don't return an empty menu.
17860
17861 * normal/parser.y (func_mem): Don't initialize.
17862 (menu_entry): Likewise.
17863 (err): New variable.
17864 (script): Don't return anything when an error was encountered.
17865 (ws, returns): Removed rules.
17866 (argument): Disabled concatenated variable support.
17867 (arguments): Remove explicit separators.
17868 (grubcmd): Likewise.
17869 (function): Likewise.
17870 (menuentry): Likewise.
17871 (if): Likewise.
17872 (commands): Likewise. Add error handling.
17873
17874 * normal/script.c (grub_script_create_cmdline): If
17875 `grub_script_parsed' is 0, assume the parser encountered an error.
17876
c9a86192 178772006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
17878
17879 * configure.ac: Add support for EFI. Fix the typo
17880 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
17881
70f3b243 178822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17883
17884 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
17885 foreign multibyte characters should be shown correctly.
17886
65f201ad 178872006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17888
17889 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
17890 calculation.
17891 (read_config_file): Made it to close file before returning.
17892
b4b93674 178932006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
17894
17895 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
17896 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
17897 video/i386/pc/vbefill.c.
17898
17899 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
17900 video/i386/pc/vbefill.c.
17901
17902 * include/grub/video.h (grub_video_blit_format): New enum.
17903 (grub_video_mode_info): Added new member blit_format.
17904 (grub_video_get_blit_format): New function prototype.
17905
17906 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
17907 function prototype.
17908 (grub_video_vbe_map_rgb): Likewise.
17909 (grub_video_vbe_unmap_color): Likewise.
17910
17911 * include/grub/i386/pc/vbeblit.h: New file.
17912
17913 * include/grub/i386/pc/vbefill.h: New file.
17914
17915 * video/video.c (grub_video_get_blit_format): New function.
17916 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
17917 (grub_video_vbe_map_rgb): Likewise.
17918 (grub_video_vbe_unmap_color): Likewise.
17919
17920 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
17921 optimized fills.
17922 (grub_video_vbe_blit_render_target): Changed to use more optimized
17923 blits.
17924 (grub_video_vbe_setup): Added detection for optimized settings.
17925 (grub_video_vbe_create_render_target): Likewise.
17926
17927 * video/i386/pc/vbeblit.c: New file.
17928
17929 * video/i386/pc/vbefill.c: New file.
17930
c2379b9c 179312006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
17932
17933 * font/manager.c (grub_font_get_glyph): Removed font fixup from
17934 here...
17935
17936 * util/unifont2pff.rb: ... and moved it to here. Improved argument
17937 parsing to support both hex and dec ranges. If filename was missing
17938 show usage information.
17939
bd0d7896 179402006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
17941
17942 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
17943 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
17944
17945 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
17946 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
17947 (video_mod_SOURCES): Added.
17948 (video_mod_CFLAGS): Likewise.
17949 (video_mod_LDFLAGS): Likewise.
17950 (gfxterm_mod_SOURCES): Likewise.
17951 (gfxterm_mod_CFLAGS): Likewise.
17952 (gfxterm_mod_LDFLAGS): Likewise.
17953 (videotest_mod_SOURCES): Likewise.
17954 (videotest_mod_CFLAGS): Likewise.
17955 (videotest_mod_LDFLAGS): Likewise.
17956 (vesafb_mod_SOURCES): Removed.
17957 (vesafb_mod_CFLAGS): Likewise.
17958 (vesafb_mod_LDFLAGS): Likewise.
17959 (vga_mod_SOURCES): Likewise.
17960 (vga_mod_CFLAGS): Likewise.
17961 (vga_mod_LDFLAGS): Likewise.
17962
17963 * commands/videotest.c: New file.
17964
17965 * font/manager.c (fill_with_default_glyph): Modified to use
17966 grub_font_glyph.
17967 (grub_font_get_glyph): Likewise.
17968 (fontmanager): Renamed from this...
17969 (font_manager): ... to this.
17970
17971 * include/grub/font.h (grub_font_glyph): Added new structure.
17972 (grub_font_get_glyph): Modified to use grub_font_glyph.
17973
17974 * include/grub/misc.h (grub_abs): Added as inline function.
17975
17976 * include/grub/video.h: New file.
17977
17978 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
17979 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
17980 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
17981 (grub_vbe_get_controller_info): Renamed from this...
17982 (grub_vbe_bios_get_controller_info): ... to this.
17983 (grub_vbe_get_mode_info): Renamed from this...
17984 (grub_vbe_bios_get_mode_info): ... to this.
17985 (grub_vbe_set_mode): Renamed from this...
17986 (grub_vbe_bios_set_mode): ... to this.
17987 (grub_vbe_get_mode): Renamed from this...
17988 (grub_vbe_bios_get_mode): ... to this.
17989 (grub_vbe_set_memory_window): Renamed from this...
17990 (grub_vbe_bios_set_memory_window): ... to this.
17991 (grub_vbe_get_memory_window): Renamed from this...
17992 (grub_vbe_bios_get_memory_window): ... to this.
17993 (grub_vbe_set_scanline_length): Renamed from this...
17994 (grub_vbe_set_scanline_length): ... to this.
17995 (grub_vbe_get_scanline_length): Renamed from this...
17996 (grub_vbe_bios_get_scanline_length): ... to this.
17997 (grub_vbe_set_display_start): Renamed from this...
17998 (grub_vbe_bios_set_display_start): ... to this.
17999 (grub_vbe_get_display_start): Renamed from this...
18000 (grub_vbe_bios_get_display_start): ... to this.
18001 (grub_vbe_set_palette_data): Renamed from this...
18002 (grub_vbe_bios_set_palette_data): ... to this.
18003 (grub_vbe_set_pixel_rgb): Removed.
18004 (grub_vbe_set_pixel_index): Likewise.
18005
18006 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18007 from this...
18008 (grub_vbe_bios_get_controller_info): ... to this.
18009 (grub_vbe_get_mode_info): Renamed from this...
18010 (grub_vbe_bios_get_mode_info): ... to this.
18011 (grub_vbe_set_mode): Renamed from this...
18012 (grub_vbe_bios_set_mode): ... to this.
18013 (grub_vbe_get_mode): Renamed from this...
18014 (grub_vbe_bios_get_mode): ... to this.
18015 (grub_vbe_set_memory_window): Renamed from this...
18016 (grub_vbe_bios_set_memory_window): ... to this.
18017 (grub_vbe_get_memory_window): Renamed from this...
18018 (grub_vbe_bios_get_memory_window): ... to this.
18019 (grub_vbe_set_scanline_length): Renamed from this...
18020 (grub_vbe_set_scanline_length): ... to this.
18021 (grub_vbe_get_scanline_length): Renamed from this...
18022 (grub_vbe_bios_get_scanline_length): ... to this.
18023 (grub_vbe_set_display_start): Renamed from this...
18024 (grub_vbe_bios_set_display_start): ... to this.
18025 (grub_vbe_get_display_start): Renamed from this...
18026 (grub_vbe_bios_get_display_start): ... to this.
18027 (grub_vbe_set_palette_data): Renamed from this...
18028 (grub_vbe_bios_set_palette_data): ... to this.
18029 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18030 getting corrupted after calling it. Added more pushes and pops.
18031 (grub_vbe_bios_set_mode): Likewise.
18032 (grub_vbe_bios_get_mode): Likewise.
18033 (grub_vbe_bios_get_memory_window): Likewise.
18034 (grub_vbe_bios_set_scanline_length): Likewise.
18035 (grub_vbe_bios_get_scanline_length): Likewise.
18036 (grub_vbe_bios_get_display_start): Likewise.
18037 (grub_vbe_bios_set_palette_data): Likewise.
18038
18039 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18040 (cl_insert): Likewise.
18041 (cl_delete): Likewise.
18042
18043 * term/gfxterm.c: New file.
18044
18045 * term/i386/pc/vesafb.c: Removed file.
18046
18047 * video/video.c: New file.
18048
18049 * video/i386/pc/vbe.c (real2pm): Added new function.
18050 (grub_video_vbe_draw_pixel): Likewise.
18051 (grub_video_vbe_get_video_ptr): Likewise.
18052 (grub_video_vbe_get_pixel): Likewise
18053 (grub_video_vbe_init): Likewise.
18054 (grub_video_vbe_fini): Likewise.
18055 (grub_video_vbe_setup): Likewise.
18056 (grub_video_vbe_get_info): Likewise.
18057 (grub_video_vbe_set_palette): Likewise.
18058 (grub_video_vbe_get_palette): Likewise.
18059 (grub_video_vbe_set_viewport): Likewise.
18060 (grub_video_vbe_get_viewport): Likewise.
18061 (grub_video_vbe_map_color): Likewise.
18062 (grub_video_vbe_map_rgb): Likewise.
18063 (grub_video_vbe_map_rgba): Likewise.
18064 (grub_video_vbe_unmap_color): Likewise.
18065 (grub_video_vbe_fill_rect): Likewise.
18066 (grub_video_vbe_blit_glyph): Likewise.
18067 (grub_video_vbe_blit_bitmap): Likewise.
18068 (grub_video_vbe_blit_render_target): Likewise.
18069 (grub_video_vbe_scroll): Likewise.
18070 (grub_video_vbe_swap_buffers): Likewise.
18071 (grub_video_vbe_create_render_target): Likewise.
18072 (grub_video_vbe_delete_render_target): Likewise.
18073 (grub_video_vbe_set_active_render_target): Likewise.
18074 (grub_vbe_set_pixel_rgb): Remove function.
18075 (grub_vbe_set_pixel_index): Likewise.
18076 (index_color_mode): Remove static variable.
18077 (active_mode): Likewise.
18078 (framebuffer): Likewise.
18079 (bytes_per_scan_line): Likewise.
18080 (grub_video_vbe_adapter): Added new static variable.
18081 (framebuffer): Likewise.
18082 (render_target): Likewise.
18083 (initial_mode): Likewise.
18084 (mode_in_use): Likewise.
18085 (mode_list): Likewise.
18086
5f97350b 180872006-03-10 Marco Gerards <marco@gnu.org>
18088
18089 * configure.ac (AC_INIT): Bumped to 1.93.
18090
18091 * DISTLIST: Added `include/grub/hfs.h'.
18092
a3c5c6f8 180932006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
18094
18095 * boot/i386/pc/boot.S (general_error): Before looping, try INT
18096 18H, which might help the BIOS falling back to next boot media.
18097
6de53d26 180982006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
18099
18100 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
18101 Poe Chen <poe.poechen@gmail.com>.
18102
77c4a393 181032006-01-17 Marco Gerards <marco@gnu.org>
18104
18105 * include/grub/normal.h: Include <grub/script.h>.
18106 (grub_command_list): Removed struct.
18107 (grub_command_list_t): Removed type.
18108 (grub_menu_entry): Remove members `num' and `command_list'. Add
18109 members `commands' and `sourcecode'.
18110 * include/grub/script.h: Add inclusion guards.
18111 (grub_script_cmd_menuentry): New struct.
18112 (grub_script_execute_menuentry): New prototype.
18113 (grub_script_lexer_record_start): Likewise.
18114 (grub_script_lexer_record_stop): Likewise.
18115 * normal/execute.c (grub_script_execute_menuentry): New function.
18116 * normal/lexer.c (record, recording, recordpos, recordlen): New
18117 variables.
18118 (grub_script_lexer_record_start): New function.
18119 (grub_script_lexer_record_stop): Likewise.
18120 (recordchar): Likewise.
18121 (nextchar): Likewise.
18122 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
18123 2048 as the buffer size. Add the tokens `menuentry' and `@'.
18124 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
18125 (current_menu): New variable.
18126 (free_menu): Mainly rewritten.
18127 (grub_normal_menu_addentry): New function.
18128 (read_config_file): Rewritten.
18129 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 18130 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 18131 the menu entry.
18132 (run): Mainly rewritten.
18133 * normal/parser.y (menu_entry): New variable.
18134 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
18135 (menuentry): New rule.
18136 (command): Add `menuentry'.
18137 (if_statement): Allow additional returns before `fi'.
18138 * normal/script.c (grub_script_create_cmdmenu): New function.
18139
144f1f98 181402006-01-03 Marco Gerards <marco@gnu.org>
18141
18142 * INSTALL: GNU Bison is required.
18143 * configure.ac: Rewritten the test to detect Bison.
18144 * Makefile.in (YACC): New variable. Reported by Xun Sun
18145 <xun.sun.cn@gmail.com>.
18146
af4b2d89 181472006-01-03 Marco Gerards <marco@gnu.org>
18148
18149 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
18150 the HFS+ filesystem to filesystem blocks.
18151 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
18152 GCC warning is silenced.
18153
15643b71 181542006-01-03 Marco Gerards <marco@gnu.org>
18155
18156 * partmap/apple.c (apple_partition_map_iterate): Convert the data
18157 read from disk from big endian to host byte order.
18158
00905879 181592006-01-03 Hollis Blanchard <hollis@penguinppc.org>
18160
18161 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
18162 documentation.
18163 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
18164 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
18165 embedded HFS+ filesystem.
18166 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
18167 (grub_hfs_sblock): Move from here...
18168 * include/grub/hfs.h: To here... New file.
18169 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
18170 documentation.
18171 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
18172 New macros.
18173 (grub_hfsplus_volheader): Change type of member `magic' to
18174 `grub_uint16_t'.
18175 (grub_hfsplus_data): Add new member `embedded_offset'.
18176 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
18177 returned block.
18178 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
18179 Calculate the offset.
18180
8899bc3e 181812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18182
18183 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
18184 Removed.
18185 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
18186
ae8c0277 181872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18188
18189 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
18190 ENV->NAME is NULL after allocating ENV->VALUE.
18191
07084456 181922005-12-25 Marco Gerards <marco@gnu.org>
18193
18194 * kern/env.c (grub_env_set): Rewritten the error handling code.
18195
4750f5f1 181962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18197
18198 * geninit.sh: Made more robust, and more portable.
18199
50214199 182002005-12-25 Marco Gerards <marco@gnu.org>
18201
18202 Add support for Apple HFS+ filesystems.
f19dbdb7 18203
50214199 18204 * fs/hfsplus.c: New file.
18205
18206 * DISTLIST: Added `fs/hfsplus.c'.
18207
18208 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
18209 (hfsplus_mod_SOURCES): New variable.
18210 (hfsplus_mod_CFLAGS): Likewise.
18211 (hfsplus_mod_LDFLAGS): Likewise.
18212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
18213 (grub_setup_SOURCES): Likewise.
18214 (grub_mkdevicemap_SOURCES): Likewise.
18215 (grub_emu_SOURCES): Likewise.
18216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18217
18218 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
18219
18220 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
18221
befaed6c 182222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18223
18224 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
18225 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
18226 include/grub/parser.h, include/grub/script.h, kern/parser.c,
18227 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
18228 normal/lexer.c, normal/parser.y, normal/script.c, and
18229 partmap/gpt.c.
18230 Removed kern/sparc64/cache.c.
18231
18232 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
18233 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
18234 grub_emu_init.c.
18235
18236 * configure.ac (AC_INIT): Bumped to 1.92.
18237
6a124103 182382005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
18239
18240 * kern/err.c (grub_error_push): Added new function to support error
18241 stacks.
18242 (grub_error_pop): Likewise.
18243 (grub_error_stack_items): New local variable to support error stacks.
18244 (grub_error_stack_pos): Likewise.
18245 (grub_error_stack_assert): Likewise.
18246 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
18247 stack depth.
18248 (grub_print_error): Added support to print errors from error stack.
18249
18250 * include/grub/err.h (grub_error_push): Added function prototype.
18251 (grub_error_pop): Likewise.
18252
be973c1b 182532005-12-09 Hollis Blanchard <hollis@penguinppc.org>
18254
18255 * configure.ac: Accept `powerpc64' as host_cpu.
18256 (amd64): Rename to `biarch32'.
18257
18258 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
18259 non-cacheline-aligned addresses.
18260
18261 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
18262 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
18263 if `size' is non-zero.
18264
b04216ab 182652005-12-03 Marco Gerards <mgerards@xs4all.nl>
18266
18267 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
18268 and `cd' to make sure the filename is not prefixed with a
18269 directory name.
18270 (pkgdata_MODULES): Add `gpt.mod'.
18271 (gpt_mod_SOURCES): New variable.
18272 (gpt_mod_CFLAGS): Likewise.
18273 (gpt_mod_LDFLAGS): Likewise.
18274
18275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
18276
18277 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
18278 New macro.
18279
18280 * partmap/gpt.c: New file.
18281
18282 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
18283 GPT partition map is detected.
18284
41730ed9 182852005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
18286
18287 * commands/i386/pc/play.c: New file.
18288 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
18289 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
18290 macros.
f19dbdb7 18291
95dc3643 182922005-11-27 Marco Gerards <mgerards@xs4all.nl>
18293
18294 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
18295 ((unused))' to silence gcc warning.
18296
1569ec51 182972005-11-26 Hollis Blanchard <hollis@penguinppc.org>
18298
18299 * configure.ac: Correct `AC_PROG_YACC' test.
18300
9abde152 183012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18302
18303 * util/powerpc/ieee1275/grub-install.in: Run the mount point
18304 check before installing files.
18305
44b83271 183062005-11-22 Mike Small <smallm@panix.com>
18307
18308 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
18309 number regex so multidigit numbers are recognized correctly.
18310
183112005-11-22 Mike Small <smallm@panix.com>
18312
18313 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
18314 debugging message before attempting to claim memory.
18315 (grub_rescue_cmd_initrd): Add a claim debugging message and try
18316 multiple addresses in case of failure.
18317
9c12956b 183182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18319
18320 * term/tparm.c (get_space): Remove empty `if' statement.
18321
18322 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
18323
18324 * kern/parser.c (check_varstate): Rename `state' to 's'.
18325
aeaf81d9 183262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18327
18328 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
18329 variable definitions to the beginning of each function. Sort stack
18330 variables by size.
18331 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
18332 `buf' argument to `char *'.
18333
79bbb63f 183342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18335
18336 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
18337 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18338 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 18339 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18340 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18341 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18342 configfile.mod, search.mod, gzio.mod and test.mod.
18343 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18344 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18345 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18346 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18347 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18348 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18349 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18350 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18351 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18352 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18353 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18354 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18355 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18356 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18357 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18358 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18359 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18360 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18361 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18362 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18363 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18364 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18365 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
18366
18367 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
18368 `grep --include'.
18369 (pkgdata_MODULES): Add test.mod.
18370
233b1628 183712005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18372
18373 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
18374 appending to variables with "+=".
18375 (PModule): Use full pathname to generate *.lst filenames.
18376
18377 * Makefile.in: Fixed list rules moved from genmk.rb.
18378 (.DELETE_ON_ERROR): New special target.
18379 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
18380
18381 * conf/i386-pc.rmk: Include conf/common.mk.
18382 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18383 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 18384 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18385 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18386 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18387 configfile.mod, search.mod, gzio.mod and test.mod.
18388 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18389 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18390 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18391 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18392 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18393 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18394 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18395 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18396 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18397 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18398 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18399 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18400 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18401 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18402 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18403 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18404 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18405 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18406 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18407 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18408 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18409 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18410 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
18411 here...
18412 * conf/common.rmk: ... to here. New file.
18413
18414 * conf/common.mk: New file.
18415
16f820c8 184162005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
18417
18418 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
18419 (grub_script.tab.c): ... here.
18420
18421 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
18422 (grub_script.tab.c): ... here.
18423
18424 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
18425 (grub_script.tab.c): ... here.
18426
18427 * normal/command.c (grub_command_find): Fixed a memory leak of
18428 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
18429
63ba1554 184302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18431
18432 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
18433 "@" which marks the start of a comment on ARM.
18434 (VARIABLE): Likewise.
18435
7f67dc13 184362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18437
79bbb63f 18438 Add support for Linux/ADFS partition tables.
7f67dc13 18439
18440 * partmap/acorn.c: New file.
18441
18442 * include/grub/acorn_filecore.h: Likewise.
18443
18444 * DISTLIST: Added `partmap/acorn.c' and
18445 `include/grub/acorn_filecore.h'.
f19dbdb7 18446
7f67dc13 18447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18448 `partmap/acorn.c'.
18449 (pkgdata_MODULES): Add `acorn.mod'.
18450 (acorn_mod_SOURCES): New variable.
18451 (acorn_mod_CFLAGS): Likewise.
18452
18453 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18454 `partmap/acorn.c'.
18455 (pkgdata_MODULES): Add `acorn.mod'.
18456 (acorn_mod_SOURCES): New variable.
18457 (acorn_mod_CFLAGS): Likewise.
18458
18459 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
18460 (pkgdata_MODULES): Add `acorn.mod'.
18461 (acorn_mod_SOURCES): New variable.
18462 (acorn_mod_CFLAGS): Likewise.
18463 (acorn_mod_LDFLAGS): Likewise.
18464
18465 * include/types.h (grub_disk_addr_t): New typedef.
18466
6d099807 184672005-11-13 Marco Gerards <mgerards@xs4all.nl>
18468
18469 * geninit.sh: New file.
18470
18471 * geninitheader.sh: Likewise.
18472
18473 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
18474 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
18475 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
18476 * commands/configfile.c (grub_configfile_init)
18477 (grub_configfile_fini): Likewise.
18478 * commands/default.c (grub_default_init, grub_default_fini):
18479 Likewise.
18480 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
18481 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
18482 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
18483 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
18484 Likewise.
18485 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
18486 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
18487 Likewise.
18488 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 18489 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 18490 Likewise.
18491 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
18492 Likewise.
fe6b695a 18493 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 18494 Likewise.
18495 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
18496 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
18497 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
18498 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
18499 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
18500 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
18501 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
18502 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
18503 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
18504 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
18505 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
18506 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
18507 * partmap/amiga.c (grub_amiga_partition_map_init)
18508 (grub_amiga_partition_map_fini): Likewise.
18509 * partmap/apple.c (grub_apple_partition_map_init)
18510 (grub_apple_partition_map_fini): Likewise.
18511 * partmap/pc.c (grub_pc_partition_map_init)
18512 (grub_pc_partition_map_fini): Likewise.
18513 * partmap/sun.c (grub_sun_partition_map_init,
18514 grub_sun_partition_map_fini): Likewise.
18515 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
18516 Likewise.
18517
18518 * util/grub-emu.c: Include <grub_modules_init.h>.
18519 (main): Don't initialize and de-initialize any modules directly,
18520 use `grub_init_all' and `grub_fini_all' instead.
18521
18522 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
18523 `grub_vesafb_mod_init'.
18524 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
18525 all users.
18526 * term/i386/pc/vga.c (grub_vga_init): Renamed to
18527 `grub_vga_mod_init'. Updated all users.
18528 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 18529
6d099807 18530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
18531 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
18532 rules.
18533
18534 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
18535 Generate a function to initialize the module in utilities.
18536 Updated all callers.
18537 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
18538 initialize the module in utilities. Updated all callers.
18539
9046bcf0 185402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18541
18542 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
18543 escape sequence and a literal ^L to clear the screen.
18544
18545 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
18546 when returning from Open Firmware.
18547
d13ea639 185482005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18549
18550 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
18551 (grub_ofconsole_height): Likewise.
18552 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
18553 manually insert a '\n'.
18554 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
18555 `grub_ofconsole_height'. Return early if these are already set.
18556
a8fcf206 185572005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
18558
18559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18560 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
18561 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
18562 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
18563 and `normal/script.c'.
18564 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18565 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18566 (test_mod_SOURCES): New variable.
18567 (test_mod_CFLAGS): Likewise.
18568 (test_mod_LDFLAGS): Likewise.
18569 (pkgdata_MODULES): Add `test.mod'.
18570 (grub_script.tab.c): New rule.
18571 (grub_script.tab.h): Likewise.
18572
b6b32745 185732005-11-07 Marco Gerards <mgerards@xs4all.nl>
18574
18575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18576 `commands/test.c', `normal/execute.c', `normal/lexer.c',
18577 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18578 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18579 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18580 (test_mod_SOURCES): New variable.
18581 (test_mod_CFLAGS): Likewise.
18582 (pkgdata_MODULES): Add `test.mod'.
18583 (grub_script.tab.c): New rule.
18584 (grub_script.tab.h): Likewise.
18585
daac212a 185862005-11-06 Marco Gerards <mgerards@xs4all.nl>
18587
18588 Add initial scripting support.
18589
18590 * commands/test.c: New file.
18591 * include/grub/script.h: Likewise.
18592 * normal/execute.c: Likewise.
18593 * normal/function.c: Likewise.
18594 * normal/lexer.c: Likewise.
18595 * normal/parser.y: Likewise.
18596 * normal/script.c: Likewise.
18597
18598 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 18599
daac212a 18600 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
18601 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
18602 `normal/function.c' and `normal/script.c'.
18603 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18604 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 18605 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
18606 variables.
daac212a 18607 (pkgdata_MODULES): Add `test.mod'.
18608 (grub_script.tab.c): New rule.
18609 (grub_script.tab.h): Likewise.
18610
18611 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
18612
18613 * include/grub/normal.h (grub_test_init): New prototype.
18614 (grub_test_fini): Likewise.
f19dbdb7 18615
daac212a 18616 * normal/command.c: Include <grub/script.h>.
18617 (grub_command_execute): Rewritten.
f19dbdb7 18618
daac212a 18619 * util/grub-emu.c (main): Call `grub_test_init' and
18620 `grub_test_fini'.
18621
77500b2b 186222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18623
18624 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
18625 to 0.
18626 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
18627 there are no pending characters.
18628
e45deb9e 186292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18630
18631 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
18632 `grub_strndup' to drop device arguments. Replace unnecessary
18633 `grub_strndup' with `grub_strdup'.
18634
4ce32619 186352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18636
18637 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
18638 `debug' environment variable has been set.
18639
186402005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 18641
4ce32619 18642 * Makefile.in (install-local): Use $(DATA).
18643 (uninstall): Likewise.
18644 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
18645 (sbin_UTILITIES): ... to here.
18646 (sbin_SCRIPTS): New variable.
18647 (grub_install_SOURCES): New variable.
18648 * util/powerpc/ieee1275/grub-install.in: New file.
18649 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
18650 variable.
18651 (add_segments): Call `grub_util_get_path'.
18652
25fe6f03 186532005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18654
18655 From Timothy Baldwin:
18656 * commands/ls.c (grub_ls_list_files): Close FILE with
18657 grub_file_close.
18658 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
18659
04ccf3ec 186602005-10-24 Marco Gerards <mgerards@xs4all.nl>
18661
18662 * include/grub/parser.h: New file.
18663
18664 * kern/parser.c: Likewise.
18665
18666 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
18667 (grub_setup_SOURCES): Likewise.
18668 (grub_probefs_SOURCES): Likewise.
18669 (grub_emu_SOURCES): Likewise.
18670 (kernel_img_HEADERS): Add `parser.h'.
18671
18672 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18673 (grub_emu_SOURCES): Add `kern/parser.c'.
18674 (grubof_SOURCES): Likewise.
18675
18676 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18677 (grubof_SOURCES): Add `kern/parser.c'.
18678
18679 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
18680
18681 * kern/misc.c (grub_split_cmdline): Removed function.
18682
18683 * kern/rescue.c: Include <grub/parser.h>.
18684 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
18685 of `grub_split_cmdline'.
18686
18687 * normal/command.c: Include <grub/parser.h>.
18688 (grub_command_execute): Use `grub_parser_split_cmdline' instead
18689 of `grub_split_cmdline'.
18690
18691 * normal/completion.c: Include <grub/parser.h>.
18692 (cmdline_state): New variable.
18693 (iterate_dir): End the filename with a quote depending on the
18694 command line state.
18695 (get_state): new function.
18696 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
18697 split the arguments and determine the current argument. When the
18698 argument string is not quoted, escape all spaces.
18699
6d8f4b0e 187002005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18701
18702 * normal/sparc64/setjmp.S: New file.
18703
15cf03ed 187042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18705
18706 * include/grub/sparc64/libgcc.h: New file.
18707 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
18708 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
18709 normal/sparc64/setjmp.c.
18710
03e8661a 187112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18712
18713 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
18714 * kern/sparc64/cache.S: New file.
18715 * kern/sparc64/cache.c: Removed.
18716 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
18717 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
18718 -mtune=ultrasparc.
18719 (COMMON_LDFLAGS): Add -melf64_sparc.
18720 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
18721 (grubof_SOURCES): Use cache.S instead of cache.c.
18722 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
18723 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
18724 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
18725 commented though.
18726 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
18727 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
18728 (linux_mod_CFLAGS): Commented out.
18729 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
18730 out because module isn't built.
18731 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
18732 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
18733 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
18734 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
18735 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
18736 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18737 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18738 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
18739 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
18740 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
18741 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18742 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18743 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
18744 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
18745
34eeec8a 187462005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
18747
18748 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
18749 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
18750 longer, because HFS should not be used on PC.
18751
708367a3 187522005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18753
18754 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
18755 consistently within the loop.
18756
6fa1251a 187572005-10-15 Marco Gerards <mgerards@xs4all.nl>
18758
18759 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
18760 directory can not be read.
18761
4801580b 187622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18763
18764 * configure.ac (AC_INIT): Increase the version number to 1.91.
18765
18766 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
18767 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
18768 term/i386/pc/serial.c.
18769
219ad426 187702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18771
18772 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
18773 file size must be permitted.
18774
18775 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
18776 between %ah and %al.
18777
688e5699 187782005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18779
18780 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
18781 grub_uint64_t.
18782 Call the hook with a NUL-terminated filename.
18783 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
18784 grub_cpu_to_be32.
18785
18786 * kern/term.c (cursor_state): New variable.
18787 (grub_term_set_current): Reset the cursor state on a new
18788 terminal.
18789 (grub_setcursor): Rewritten to use CURSOR_STATE.
18790 (grub_getcursor): New function.
18791
18792 * include/grub/term.h (grub_getcursor): New prototype.
18793
18794 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
18795 integers on ARM. Reported by Timothy Baldwin
18796 <T.E.Baldwin99@members.leeds.ac.uk>.
18797
bb34586c 187982005-10-11 Marco Gerards <mgerards@xs4all.nl>
18799
18800 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
18801 allocated.
18802 (grub_sfs_dir): Likewise.
18803
9a909877 188042005-10-09 Marco Gerards <mgerards@xs4all.nl>
18805
18806 Add support for the SFS filesystem.
18807
18808 * fs/sfs.c: New file.
18809
18810 * DISTLIST: Added `fs/sfs.c'.
18811
18812 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
18813 (grub_probefs_SOURCES): Likewise.
18814 (grub_emu_SOURCES): Likewise.
18815 (pkgdata_MODULES): Add `sfs.mod'.
18816 (sfs_mod_SOURCES): New variable.
18817 (sfs_mod_CFLAGS): Likewise.
18818 (sfs_mod_LDFLAGS): Likewise.
18819
18820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
18821 (pkgdata_MODULES): Add `sfs.mod'.
18822 (sfs_mod_SOURCES): New variable.
18823 (sfs_mod_CFLAGS): Likewise.
18824
18825 * util/grub-emu.c (main): Call `grub_sfs_init' and
18826 `grub_sfs_fini'.
18827
18828 * include/grub/fs.h (grub_sfs_init): New prototype.
18829 (grub_sfs_fini): Likewise.
18830
57bdbde3 188312005-10-07 Marco Gerards <mgerards@xs4all.nl>
18832
18833 Add support for the AFFS filesystem.
18834
18835 * fs/affs.c: New file.
18836
18837 * DISTLIST: Added `fs/affs.c'.
18838
18839 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
18840 (grub_probefs_SOURCES): Likewise.
18841 (grub_emu_SOURCES): Likewise.
18842 (pkgdata_MODULES): Add `affs.mod'.
18843 (affs_mod_SOURCES): New variable.
18844 (affs_mod_CFLAGS): Likewise.
18845 (affs_mod_LDFLAGS): Likewise.
18846
18847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
18848 (pkgdata_MODULES): Add `affs.mod'.
18849 (affs_mod_SOURCES): New variable.
18850 (affs_mod_CFLAGS): Likewise.
18851
18852 * util/grub-emu.c (main): Call `grub_affs_init' and
18853 `grub_affs_fini'.
18854
18855 * include/grub/fs.h (grub_affs_init): New prototype.
18856 (grub_affs_fini): Likewise.
18857
047b67e0 188582005-10-01 Marco Gerards <mgerards@xs4all.nl>
18859
18860 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
18861
59b8208a 188622005-10-01 Marco Gerards <mgerards@xs4all.nl>
18863
18864 * configure.ac: Accept `x86_64' as host_cpu. In that case add
18865 `-m32' to CFLAGS.
18866
18867 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
18868 linking.
f19dbdb7 18869
59b8208a 18870 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
18871 (COMMON_LDFLAGS): New variable.
18872 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
18873 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
18874 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
18875 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
18876 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
18877 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
18878 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
18879 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
18880 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
18881 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
18882 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18883 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18884 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
18885 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
18886 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
18887 variables.
18888 (normal_mod_ASFLAGS): Add `-m32'.
18889
18890 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
18891 (grub_host_size_t, grub_host_ssize_t): New types.
18892 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 18893 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 18894 `GRUB_HOST_SIZEOF_VOID_P'.
18895
18896 * include/grub/kernel.h (struct grub_module_header): Type of
18897 member offset changed to `grub_host_off_t'. Type of member size
18898 changed to `grub_host_size_t'.
18899 (struct grub_module_info): Type of member offset changed to
18900 `grub_host_off_t'. Type of member size changed to
18901 `grub_host_size_t'.
18902
b4093103 189032005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
18904
18905 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 18906
b4093103 18907 * kern/i386/pc/startup.S (multiboot_header): New label.
18908 (multiboot_entry): Likewise.
18909 (multiboot_trampoline): Likewise.
18910
18911 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18912 Increased to 0x4A0.
18913
18914 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
18915 put parentheses after a question mark.
18916 [!GRUB_UTIL] (my_mod): New variable.
18917
18918 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
18919
b2499b29 189202005-09-28 Marco Gerards <mgerards@xs4all.nl>
18921
18922 Adds support for the XFS filesystem. Btrees are not supported
18923 yet.
18924
18925 * fs/xfs.c: New file.
18926
18927 * DISTLIST: Added `fs/xfs.c'.
18928
18929 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
18930 (grub_probefs_SOURCES): Likewise.
18931 (grub_emu_SOURCES): Likewise.
18932 (pkgdata_MODULES): Add `xfs.mod'.
18933 (xfs_mod_SOURCES): New variable.
18934 (xfs_mod_CFLAGS): Likewise.
18935
18936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
18937 (pkgdata_MODULES): Add `xfs.mod'.
18938 (xfs_mod_SOURCES): New variable.
18939 (xfs_mod_CFLAGS): Likewise.
18940
18941 * util/grub-emu.c (main): Call `grub_xfs_init' and
18942 `grub_xfs_fini'.
18943
18944 * include/grub/fs.h (grub_xfs_init): New prototype.
18945 (grub_xfs_fini): Likewise.
18946
f19dbdb7 18947
83d37a62 189482005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
18949
18950 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
18951 color modes, allow greater than 16 colors to be configured as
18952 a default palette.
18953
47d2d65e 189542005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18955
18956 * normal/completion.c (complete_arguments): Add the qualifier
18957 const into OPTIONS.
18958
18959 From Omniflux <omniflux+lists@omniflux.com>:
18960 * include/grub/terminfo.h: New file.
18961 * include/grub/tparm.h: Likewise.
18962 * include/grub/i386/pc/serial.h: Likewise.
18963 * term/terminfo.c: Likewise.
18964 * term/tparm.c: Likewise.
18965 * term/i386/pc/serial.c: Likewise.
18966 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
18967 serial.mod.
18968 (terminfo_mod_SOURCES): New variable.
18969 (terminfo_mod_CFLAGS): Likewise.
18970 (serial_mod_SOURCES): Likewise.
18971 (serial_mod_CFLAGS): Likewise.
18972
48b671ff 189732005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
18974
18975 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
18976 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
18977 and kern/powerpc/ieee1275/cmain.c, respectively.
18978
18979 * boot/powerpc/ieee1275/crt0.S: Moved to ...
18980 * kern/powerpc/ieee1275/crt0.S: ... here.
18981
18982 * boot/powerpc/ieee1275/cmain.c: Moved to ...
18983 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 18984
48b671ff 18985 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
18986 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
18987 instead of boot/powerpc/ieee1275/crt0.S and
18988 boot/powerpc/ieee1275/cmain.c, respectively.
18989
18990 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
18991 sectors. It was not used anyway.
18992
09fc77a7 189932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18994
18995 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
18996 `unused parameter' warning.
18997
003789c7 189982005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18999
19000 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19001 function.
19002 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19003 getcharwidth.
19004
67f44c86 190052005-08-28 Marco Gerards <metgerards@student.han.nl>
19006
19007 * include/grub/normal.h (enum grub_completion_type): Added
19008 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19009
19010 * normal/cmdline.c (print_completion): Handle
19011 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19012 * normal/menu_entry.c (store_completion): Likewise.
19013
19014 * normal/completion.c (complete_arguments): New function.
19015 (grub_normal_do_completion): Call `complete_arguments' when the
19016 current words start with a dash.
19017
0b5abe02 190182005-08-27 Marco Gerards <metgerards@student.han.nl>
19019
19020 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19021 `gzio.mod' instead of `io.mod').
19022
d9864ee1 190232005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19024
19025 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19026 (DISTDIRS): Added io and video.
19027 Rewrite the search routine to make an output consistently.
19028
19029 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19030 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19031 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19032 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19033 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19034 util/powerpc/ieee1275/misc.c.
f19dbdb7 19035
d9864ee1 19036 * include/grub/gzio.h: New file.
19037 * io/gzio.c: Likewise.
f19dbdb7 19038
d9864ee1 19039 * kern/file.c (grub_file_close): Call grub_device_close only if
19040 FILE->DEVICE is not NULL.
19041
19042 * include/grub/mm.h [!NULL] (NULL): New macro.
19043
19044 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19045
19046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
19047 (pkgdata_MODULES): Added gzio.mod.
19048 (gzio_mod_SOURCES): New variable.
19049 (gzio_mod_CFLAGS): Likewise.
19050
19051 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19052 (pkgdata_MODULES): Added gzio.mod.
19053 (gzio_mod_SOURCES): New variable.
19054 (gzio_mod_CFLAGS): Likewise.
19055
19056 * commands/cat.c: Include grub/gzio.h.
19057 (grub_cmd_cat): Use grub_gzfile_open instead of
19058 grub_file_open.
f19dbdb7 19059
d9864ee1 19060 * commands/cmp.c: Include grub/gzio.h.
19061 (grub_cmd_cmp): Use grub_gzfile_open instead of
19062 grub_file_open.
19063
19064 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
19065 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
19066 grub_file_open.
19067 (grub_rescue_cmd_module): Likewise.
19068
fa46f4b5 190692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19070
19071 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
19072 kern/sparc64/ieee1275/init.c because it contains _start.
19073 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
19074
e9211b5d 190752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19076
19077 * configure.ac: Add support for sparc64 host with ieee1275
19078 firmware.
19079 * configure: Generated from configure.ac.
19080 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
19081 instead of int.
19082 (grub_ofdisk_read): Likewise.
19083 (grub_ofdisk_open): Use %p to print pointer values, and cast the
19084 pointers as (void *) to remove a warning.
19085 (grub_ofdisk_close): Likewise.
19086 (grub_ofdisk_read): Likewise.
19087 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
19088 returns, so make it return void to remove a warning.
19089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
19090 Corresponding prototype change.
19091 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
19092 values, and cast the pointers as (void *) to remove a warning.
19093 (grub_mm_dump): Likewise.
19094 * conf/sparc64-ieee1275.mk: New file.
19095 * conf/sparc64-ieee1275.rmk: Likewise.
19096 * include/grub/sparc64/setjmp.h: Likewise.
19097 * include/grub/sparc64/types.h: Likewise.
19098 * include/grub/sparc64/ieee1275/console.h: Likewise.
19099 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19100 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19101 * include/grub/sparc64/ieee1275/time.h: Likewise.
19102 * kern/sparc64/cache.c: Likewise.
19103 * kern/sparc64/dl.c: Likewise.
19104 * kern/sparc64/ieee1275/init.c: Likewise.
19105 * kern/sparc64/ieee1275/openfw.c: Likewise.
19106
385c6a92 191072005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19108
19109 * util/console.c (grub_ncurses_putchar): If C is greater than
19110 0x7f, set C to a question mark.
19111 (grub_ncurses_getcharwidth): New function.
19112 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
19113 getcharwidth.
19114
19115 * normal/menu.c (print_entry): Made aware of Unicode. First,
19116 convert TITLE to UCS-4, and predict the cursor position by
19117 grub_getcharwidth.
19118
19119 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
19120 const to SRC.
19121 * kern/misc.c (grub_utf16_to_utf8): Likewise.
19122
16ccb8b1 191232005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19124
19125 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
19126 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19127 grub_strcat.
19128
19129 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
19130 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19131 grub_strcpy and grub_strlen. Take it into account that a space
19132 character is inserted as a delimiter.
19133
6a85ce79 191342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19135
19136 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 19137 invalid magic in the error.
6a85ce79 19138
19139 * commands/search.c: New file.
f19dbdb7 19140
6a85ce79 19141 * util/grub-emu.c (main): Call grub_search_init and
19142 grub_search_fini.
19143
19144 * kern/rescue.c (grub_rescue_print_disks): Removed.
19145 (grub_rescue_print_devices): New function.
19146 (grub_rescue_cmd_ls): Use grub_device_iterate with
19147 grub_rescue_print_devices instead of grub_disk_dev_iterate with
19148 grub_rescue_print_disks.
19149
19150 * kern/partition.c (grub_partition_iterate): Return the result of
19151 PARTMAP->ITERATE instead of GRUB_ERRNO.
19152
19153 * kern/device.c: Include grub/partition.h.
19154 (grub_device_iterate): New function.
19155
19156 * include/grub/partition.h (grub_partition_iterate): Return int
19157 instead of grub_err_t.
19158
19159 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
19160 prototype.
19161 [GRUB_UTIL] (grub_search_fini): Likewise.
19162
19163 * include/grub/device.h (grub_device_iterate): New prototype.
19164
19165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19166 commands/search.c.
19167 (pkgdata_MODULES): Added search.mod.
19168 (search_mod_SOURCES): New variable.
19169 (search_mod_CFLAGS): Likewise.
19170
19171 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
19172 (pkgdata_MODULES): Added search.mod.
19173 (search_mod_SOURCES): New variable.
19174 (search_mod_CFLAGS): Likewise.
19175
19176 * commands/ls.c (grub_ls_list_disks): Renamed to ...
19177 (grub_ls_list_devices): ... this, and use grub_device_iterate.
19178 All callers changed.
19179
19180 * DISTLIST: Added commands/search.c.
19181
ef095434 191822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19183
19184 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
19185 conversion.
19186 (grub_getcharwidth): New function.
19187
19188 * kern/misc.c (grub_utf8_to_ucs4): New function.
19189
19190 * include/grub/term.h (struct grub_term): Added a new member
19191 "getcharwidth".
19192 (grub_getcharwidth): New prototype.
19193
19194 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
19195
19196 * term/i386/pc/console.c (map_char): New function. Segregated from
19197 grub_console_putchar.
19198 (grub_console_putchar): Use map_char.
19199 (grub_console_getcharwidth): New function.
19200 (grub_console_term): Specified grub_console_getcharwidth as
19201 getcharwidth.
19202
19203 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
19204 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
19205
19206 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
19207 GRUB_ERRNO.
19208 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
19209 on grub_strtoul completely.
19210 (write_char): Declare local variables in the beginning of the
19211 function.
19212 (grub_vesafb_getcharwidth): New function.
19213 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
19214 getcharwidth.
19215
1f0a95e4 192162005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
19217
19218 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
19219 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
19220 commands/i386/pc/vbetest.c.
19221
19222 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
19223 call grub_vbe_get_controller_info again, because the returned
19224 information is volatile.
19225 (grub_vbe_set_video_mode): Mostly rewritten.
19226 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
19227 grub_vbe_status_t correctly.
19228 (grub_vbe_get_video_mode_info): Likewise.
19229 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
19230 several if statements.
19231
19232 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
19233 * commands/i386/pc/vbeinfo.c: ... this.
19234
19235 * commands/i386/pc/vbe_test.c: Renamed to ...
19236 * commands/i386/pc/vbetest.c: ... this.
19237
19238 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
19239 ...
19240 (grub_cmd_vbeinfo): ... this. Save video modes before
19241 iterating. Skip a video mode, if it is not available, not enough
19242 information is given or it is monochrome. Show the memory
19243 model. Leave the interpretation of MODEVAR to grub_strtoul
19244 completely.
19245 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
19246 (GRUB_MOD_FINI): Likewise.
19247
19248 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
19249 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
19250 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
19251 duplicated grub_env_get. Leave the interpretation of MODEVAR to
19252 grub_strtoul completely.
19253 (real2pm): Removed.
19254 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
19255 (GRUB_MOD_FINI): Likewise.
19256
19257 * normal/misc.c: Include grub/mm.h.
19258
19259 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
19260 vbe_list_modes with vbetest.mod and vbeinfo.mod.
19261 (vbe_list_modes_mod_SOURCES): Removed.
19262 (vbe_list_modes_mod_CFLAGS): Likewise.
19263 (vbe_test_mod_SOURCES): Likewise.
19264 (vbe_test_mod_CFLAGS): Likewise.
19265 (vbeinfo_mod_SOURCES): New variable.
19266 (vbeinfo_mod_CFLAGS): Likewise.
19267 (vbetest_mod_SOURCES): Likewise.
19268 (vbetest_mod_CFLAGS): Likewise.
19269
992ffbbe 192702005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
19271
19272 * normal/misc.c: New file.
19273
19274 * DISTLIST: Added normal/misc.c.
f19dbdb7 19275
992ffbbe 19276 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
19277 DISK to HOOK. Call HOOK with DISK.
19278 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19279 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19280 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19281
19282 * normal/menu_entry.c (struct screen): Added a new member
19283 "completion_shown".
19284 (completion_buffer): New global variable.
19285 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
19286 (store_completion): New function.
19287 (complete): Likewise.
19288 (clear_completions): Likewise.
19289 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
19290 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
19291 a tab, call complete.
19292
19293 * normal/completion.c (disk_dev): Removed.
19294 (print_simple_completion): Likewise.
19295 (print_partition_completion): Likewise.
19296 (print_func): New global variable.
19297 (add_completion): Do not take the arguments WHAT or PRINT any
19298 longer. Added a new argument TYPE. Instead of printing directly,
19299 call PRINT_FUNC if not NULL.
19300 All callers changed.
19301 (complete_device): Use a local variable DEV instead of
19302 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
19303 (grub_normal_do_completion): Take a new argument HOOK. Do not
19304 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
19305 empty string, return NULL instead.
19306 All callers changed.
19307
19308 * normal/cmdline.c (print_completion): New function.
19309
19310 * kern/partition.c (grub_partition_iterate): Add an argument DISK
19311 to HOOK.
19312 All callers changed.
19313
19314 * kern/disk.c (grub_print_partinfo): Removed.
19315
19316 * include/grub/partition.h (struct grub_partition_map): Add a new
19317 argument DISK into HOOK of ITERATE.
19318 (grub_partition_iterate): Add a new argument DISK to HOOK.
19319
19320 * include/grub/normal.h (enum grub_completion_type): New enum.
19321 (grub_completion_type_t): New type.
19322 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
19323 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
19324 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
19325 (GRUB_COMPLETION_TYPE_FILE): Likewise.
19326 (grub_normal_do_completion): Added a new argument HOOK.
19327 (grub_normal_print_device_info): New prototype.
19328
19329 * include/grub/disk.h (grub_print_partinfo): Removed.
19330
19331 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
19332 (normal_mod_SOURCES): Likewise.
19333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19334 (normal_mod_SOURCES): Likewise.
19335
19336 * commands/ls.c (grub_ls_list_disks): Use
19337 grub_normal_print_device_info instead of grub_print_partinfo. Free
19338 PNAME.
19339 (grub_ls_list_files): Use grub_normal_print_device_info instead of
19340 duplicating the code.
19341
0bd41162 193422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19343
19344 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 19345 follow GCS more precisely.
19346 * commands/i386/pc/vbe_test.c: Likewise.
19347 * include/grub/i386/pc/vbe.h: Likewise.
19348 * term/i386/pc/vesafb.c: Likewise.
19349 * video/i386/pc/vbe.c: Likewise.
0bd41162 19350
6323696a 193512005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19352
19353 * DISTLIST: Added term/i386/pc/vesafb.c
19354 DISTLIST: Added video/i386/pc/vbe.c
19355 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
19356 DISTLIST: Added commands/i386/pc/vbe_test.c.
19357 * commands/i386/pc/vbe_list_modes.c: New file.
19358 * commands/i386/pc/vbe_test.c: Likewise.
19359 * term/i386/pc/vesafb.c: Likewise.
19360 * video/i386/pc/vbe.c: Likewise.
19361 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
19362 (grub_vbe_probe) Added prototype.
19363 (grub_vbe_set_video_mode) Likewise.
19364 (grub_vbe_get_video_mode) Likewise.
19365 (grub_vbe_get_video_mode_info) Likewise.
19366 (grub_vbe_set_pixel_rgb) Likewise.
19367 (grub_vbe_set_pixel_index) Likewise.
19368 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
19369 (pkgdata_MODULES): Added vesafb.mod.
19370 (pkgdata_MODULES): Added vbe_list_modes.mod.
19371 (pkgdata_MODULES): Added vbe_test.mod.
19372 (vbe_mod_SOURCES): Added.
19373 (vbe_mod_CFLAGS): Likewise.
19374 (vesafb_mod_SOURCES): Likewise.
19375 (vesafb_mod_CFLAGS): Likewise.
19376 (vbe_list_modes_mod_SOURCES): Likewise.
19377 (vbe_list_modes_mod_CFLAGS): Likewise.
19378 (vbe_test_mod_SOURCES): Likewise.
19379 (vbe_test_mod_CFLAGS): Likewise.
19380
0a74e62f 193812005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
19382
0a74e62f 19383 * normal/command.c (grub_command_execute): If INTERACTIVE is
19384 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
19385 CMDLINE. Disable the pager if INTERACTIVE is true.
19386 All callers are changed.
19387
19388 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
19389 before reading a config file.
19390 * normal/main.c (read_config_file): Even if a command is not
19391 found, register it if it is within an entry.
19392
19393 * util/grub-emu.c: Include sys/types.h and unistd.h.
19394 (options): Added --hold.
19395 (struct arguments): Added a new member "hold".
19396 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
19397 missing.
19398 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
19399 cleared by a debugger, if it is not zero.
19400
19401 * include/grub/normal.h (grub_command_execute): Add an argument
19402 INTERACTIVE.
19403
e51f85ae 194042005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
19405
19406 * DISTLIST: Added include/grub/i386/pc/vbe.h.
19407
e9c6f39b 194082005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
19409
19410 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
19411 program with another one, because the old one didn't detect a bug
19412 in gcc-3.4. Always use regparm 2, because the new test is still
19413 not enough for gcc-4.0. Someone must investigate a simple test
19414 case which detects a bug in gcc-4.0.
19415
8de3495c 194162005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
19417
19418 * DISTLIST: Added normal/completion.c.
19419
19420 * normal/completion.c: New file.
f19dbdb7 19421
8de3495c 19422 * term/i386/pc/console.c (grub_console_getwh): New function.
19423 (grub_console_term): Assign grub_console_getwh to getwh.
19424
19425 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
19426 function is defined in normal/completion.c as
19427 grub_normal_do_completion.
19428 (grub_cmdline_get): Use grub_normal_do_completion instead of
19429 grub_tab_complete.
19430
19431 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
19432 returns non-zero, otherwise return 0.
19433 (grub_partition_iterate): First, probe the partition map. Then,
19434 call ITERATE only for this partition map.
19435
19436 * kern/misc.c (grub_strncmp): Rewritten.
19437
19438 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
19439 returns non-zero. Otherwise return 0.
19440
19441 * include/grub/partition.h (grub_partition_map_iterate): Return
19442 int instead of void.
19443
19444 * include/grub/normal.h (grub_normal_do_completion): New prototype.
19445
19446 * include/grub/misc.h (grub_strncmp): Change the type of N to
19447 grub_size_t.
19448
19449 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
19450 of void.
19451
19452 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 19453 unsigned explicitly before comparing it with I.
8de3495c 19454
19455 * kern/main.c (grub_env_write_root): Add the attribute unused into
19456 VAR.
19457
19458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19459 normal/completion.c.
19460 (normal_mod_SOURCES): Likewise.
19461 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19462 (normal_mod_SOURCES): Likewise.
19463
19464 * normal/command.c (grub_iterate_commands): If ITERATE returns
19465 non-zero, return one immediately.
19466
e85e144b 194672005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
19468
19469 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
19470 * kern/i386/pc/startup.S: Updated Global Descriptor table's
19471 descriptions.
19472 (grub_vbe_get_controller_info): New function.
19473 (grub_vbe_get_mode_info): Likewise.
19474 (grub_vbe_set_mode): Likewise.
19475 (grub_vbe_get_mode): Likewise.
19476 (grub_vbe_set_memory_window): Likewise.
19477 (grub_vbe_get_memory_window): Likewise.
19478 (grub_vbe_set_scanline_length): Likewise.
19479 (grub_vbe_get_scanline_length): Likewise.
19480 (grub_vbe_set_display_start): Likewise.
19481 (grub_vbe_get_display_start): Likewise.
19482 (grub_vbe_set_palette_data): Likewise.
19483 * include/grub/i386/pc/vbe.h: New file.
19484
c46153d2 194852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19486
19487 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19488 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
19489 * DISTLIST: Likewise.
19490 * kern/ieee1275/of.c: Moved to ...
19491 * kern/ieee1275/ieee1275.c: ... here.
19492
0cb90c45 194932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19494
19495 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
19496 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
19497 Pass 0 as `end' parameter to grub_strtoul().
19498
a19fb360 194992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19500
19501 * include/grub/powerpc/ieee1275/console.h: Do not include
19502 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
19503 ifdef.
19504 (grub_console_cur_color): Remove i386-specific prototype.
19505 (grub_console_real_putchar): Likewise.
19506 (grub_console_checkkey): Likewise.
19507 (grub_console_getkey): Likewise.
19508 (grub_console_getxy): Likewise.
19509 (grub_console_gotoxy): Likewise.
19510 (grub_console_cls): Likewise.
19511 (grub_console_setcursor): Likewise.
19512 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
19513 Include <grub/machine/console.h>.
19514 * term/ieee1275/ofconsole.c: Likewise.
19515
4ac9bd04 195162005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
19517
19518 * Makefile.in (LIBLZO): New variable.
19519
19520 * configure.ac: Check for LZO version 2.
19521
19522 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
19523 lzo/lzo1x.h instead of lzo1x.h.
19524
19525 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
19526 of -llzo.
19527
19528 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
19529 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
19530
19531 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
19532 copying the data from PARTITION to P.
19533
f4917dfd 195342005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19535
19536 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
19537 negative, unload the module.
19538
19539 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
19540 map is "pc_partition_map" but not "pc".
19541 (usage): Fix the description. The options are --boot-image and
19542 --core-image but not --boot-file or --core-file.
19543 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
19544 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
19545 DEFAULT_DIRECTORY.
19546
19547 * util/i386/pc/grub-install.in: Do not specify --boot-file or
19548 --core-file. Specify INSTALL_DEVICE as an argument.
19549
19550 * util/console.c: Include config.h.
19551 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
19552 [HAVE_NCURSES_H]: Include ncurses.h.
19553 [HAVE_CURSES_H]: Include curses.h.
19554 [!A_NORMAL] (A_NORMAL): Defined as zero.
19555 [!A_STANDOUT] (A_STANDOUT): Likewise.
19556
19557 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
19558 -lncurses.
19559 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
19560
19561 * configure.ac: Check for curses libraries and headers.
19562
19563 * Makefile.in (LIBCURSES): New variable.
19564
19565 * genmk.rb (Script::rule): Set the executable bits.
19566
19567 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
19568 name of the PC partition map is "pc_partition_map" but not "pc".
19569
0e143073 195702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19571
19572 * util/i386/pc/grub-install.in (grub_probefs): New variable.
19573 (modules): Likewise.
19574 (usage): Added descriptions for --modules and --grub-probefs.
19575 Handle --modules and --grub-probefs. Save the arguments in MODULES
19576 and GRUB_PROBEFS, respectively.
19577 Auto-detect a filesystem module against GRUBDIR. If the result is
19578 empty and modules are not specified explicitly, abort the
19579 installation. Add the result to MODULES.
19580
19581 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
19582 disk/powerpc/ieee1275/ofdisk.c,
19583 include/grub/powerpc/ieee1275/init.h and
19584 term/powerpc/ieee1275/ofconsole.c.
19585 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
19586 term/ieee1275/ofconsole.c.
19587
19588 * include/grub/powerpc/ieee1275/console.h: Resurrected.
19589
19590 * COPYING: Upgraded to the latest version. Only the address of the
19591 FSF office has changed.
f19dbdb7 19592
efd6e6d5 195932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19594
19595 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19596 kern/ieee1275.c with kern/ieee1275/of.c.
19597
19598 * kern/ieee1275.c: Moved to ...
19599 * kern/ieee1275/of.c: ... here.
19600
8ceafda2 196012005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
19602
19603 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 19604 readability.
8ceafda2 19605
19606 * config.guess: Updated to the latest version from gnulib.
19607 * config.sub: Likewise.
19608 * install.sh: Likewise.
19609 * mkinstalldirs: Likewise.
19610
19611 * include/grub/console.h: Removed. This file is arch-specific. Do
19612 not put this in include/grub.
19613
19614 * include/grub/i386/pc/console.h: Resurrected.
19615
19616 * util/console.c: Include grub/machine/console.h instead of
19617 grub/console.h.
19618 * util/grub-emu.c: Likewise.
19619
267f6cd9 196202005-08-04 Marco Gerards <metgerards@student.han.nl>
19621
19622 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
19623 hardcoded value.
f19dbdb7 19624
267f6cd9 19625 From Vincent Pelletier <subdino2004@yahoo.fr>
19626 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
19627 Redefined to use grub_getwh.
19628 (grub_term): New member named getwh.
19629 (grub_getwh): New prototype.
19630 * kern/term.c (grub_getwh): New function.
19631 * term/i386/pc/console.c (grub_console_getwh): New function.
19632 (grub_console_term): New member `getwh'.
19633 * term/i386/pc/vga.c (grub_vga_getwh): New function.
19634 (grub_vga_term): New member `getwh'.
0b5abe02 19635 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 19636 grub_ssize_t.
19637 (grub_ofconsole_getw): New function.
19638 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
19639 (grub_ofconsole_term): New field named getwh and new initial
19640 value.
19641
3be7266d 196422005-08-03 Hollis Blanchard <hollis@penguinppc.org>
19643
19644 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
19645 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
19646 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
19647 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
19648 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
19649 of <grub/machine/ieee1275.h>.
19650 * commands/ieee1275/reboot.c: Likewise.
19651 * boot/powerpc/ieee1275/ieee1275.c: Move ...
19652 * kern/ieee1275.c: ... to here. All users updated. Change all
19653 parameter structs to use new type `grub_ieee1275_cell_t'.
19654 * term/powerpc/ieee1275/ofconsole.c: Move ...
19655 * term/ieee1275/ofconsole.c: ... to here. All users updated.
19656 * disk/powerpc/ieee1275/ofdisk.c: Move ...
19657 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
19658 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
19659 to return int.
19660 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
19661 Remove unused prototypes. All users updated.
19662 * include/grub/powerpc/ieee1275/console.h: Removed.
19663 * include/grub/powerpc/ieee1275/ieee1275.h: Define
19664 `grub_ieee1275_cell_t'.
19665 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
19666 Cast comparisons with -1 to the correct type.
19667 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
19668 type to match `grub_ieee1275_entry_fn'.
19669
8b5f3938 196702005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
19671
19672 * DISTLIST: Added util/i386/pc/grub-probefs.c.
19673
19674 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
19675 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
19676 partmap/sun.c.
19677 (grub_probefs_SOURCES): New variable.
19678
19679 * util/i386/pc/grub-probefs.c: New file.
19680
19681 * util/i386/pc/grub-setup.c (main): Call
19682 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
19683 grub_hfs_init and grub_jfs_init to initialize the system. Call
19684 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
19685 grub_pc_partition_map_fini to finish the system.
19686
ea409713 196872005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
19688
19689 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
19690 function.
19691 (grub_multiboot_load_elf32): Likewise.
19692 (grub_multiboot_is_elf64): Likewise.
19693 (grub_multiboot_load_elf64): Likewise.
19694 (grub_multiboot_load_elf): Likewise.
19695 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
19696 an ELF32 or ELF64 file.
19697 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
19698
19699 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
19700 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
19701 NULL before calling FS->LABEL.
19702 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
19703 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
19704 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
19705 before calling FS->LABEL.
19706
141a288b 197072005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
19708
19709 * util/i386/pc/grub-install.in (datadir): New variable.
19710 (libdir): Removed.
19711 (pkgdatadir): New variable.
19712 (pkglibdir): Removed.
19713
0d5f8a54 197142005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
19715
19716 * DISTLIST: Added util/i386/pc/grub-install.in.
19717
19718 * util/i386/pc/grub-install.in: New file.
19719
19720 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
19721 (grub_install_SOURCES): Likewise.
19722
19723 * genmk.rb: Added support for scripts.
19724 (Script): New class.
19725 (scripts): New variable.
19726
19727 * Makefile.in (install-local): Install sbin_SCRIPTS by
19728 INSTALL_SCRIPT.
19729 (uninstall): Remove sbin_SCRIPTS.
19730
19731 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
19732 device, try to get a GRUB device by
19733 grub_util_biosdisk_get_grub_dev.
19734 Free DEST_DEV.
19735
19736 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
19737 description for --device-map.
19738
5f968e1e 197392005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
19740
19741 Change the semantics of variable hooks. They now return strings
19742 instead of error values.
f19dbdb7 19743
5f968e1e 19744 * util/i386/pc/grub-setup.c: Include grub/env.h.
19745 (setup): Use grub_device_set_root instead of grub_env_set.
19746
19747 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
19748 grub_env_get instead of grub_device_set_root and
19749 grub_device_get_root, respectively.
19750
19751 * kern/main.c (grub_env_write_root): New function.
19752 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
19753 grub_env_set instead of grub_device_set_root.
19754
19755 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
19756 many variables.
19757 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
19758 rather than calling ENV->WRITE_HOOK afterwards.
19759 (grub_env_get): Return the result of ENV->READ_HOOK rather than
19760 passing a pointer of a pointer.
19761 (grub_register_variable_hook): Change the types of "read_hook" and
19762 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
19763 respectively.
19764 Allocate the default empty string on the heap, because this string
19765 may be freed later.
19766
19767 * kern/device.c: Include grub/env.h.
19768 (grub_device_set_root): Removed.
19769 (grub_device_get_root): Likewise.
19770 (grub_device_open): Use grub_env_get instead of
19771 grub_device_get_root.
19772
19773 * include/grub/env.h (grub_env_read_hook_t): New type.
19774 (grub_env_write_hook_t): Likewise.
19775 (grub_env_var): Change the types of "read_hook" and "write_hook"
19776 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
19777 (grub_register_variable_hook): Likewise.
19778
19779 * include/grub/device.h (grub_device_set_root): Removed.
19780 (grub_device_set_root): Likewise.
19781
19782 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
19783 make sure that DIRNAME terminates with '/', so that
19784 grub_fat_find_dir will fail if PATH is not a directory.
19785
19786 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
19787 from DIRNAME.
19788 Use the qualifier auto for print_files and print_files_long.
19789 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
19790 as a regular file.
19791 Put a newline only if there is no error.
19792 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
19793 used.
19794
896f0afd 197952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
19796
19797 * kern/partition.c (grub_partition_probe): Initialize PART to
19798 NULL. Otherwise, when no partition map is registered, this returns
19799 a garbage.
19800
b28b81b2 198012005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
19802
19803 * partmap/apple.c (apple_partition_map_iterate): Check if POS
19804 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
19805 valid.
19806
5f3607e0 198072005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
19808
19809 * commands/ls.c (grub_ls_list_disks): Print the filesystem
19810 information on each device, if it does not have partitions. Print
19811 "Device" instead of "Disk", because this function is not specific
19812 to disk devices.
19813
19814 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
19815 static to ensure that it is put on the memory rather than a
19816 register.
19817
502c87e8 198182005-07-17 Yoshinori Okuji <okuji@enbug.org>
19819
19820 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
19821 (grub_cat_init): Likewise.
19822 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
19823 (options): Likewise.
19824 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19825 (grub_configfile_init): Likewise.
19826 * font/manager.c (GRUB_MOD_INIT): Likewise.
19827 * commands/help.c (GRUB_MOD_INIT): Likewise.
19828 (grub_help_init): Likewise.
19829 * normal/command.c (grub_command_init): Likewise.
19830 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
19831 * disk/loopback.c (grub_loop_init): Likewise.
19832 (GRUB_MOD_INIT): Likewise.
19833 * commands/ls.c (grub_ls_init): Likewise.
19834 (GRUB_MOD_INIT): Likewise.
19835 (options): Likewise.
19836 * commands/boot.c (grub_boot_init): Likewise.
19837 (GRUB_MOD_INIT): Likewise.
19838 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
19839 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
19840 (GRUB_MOD_INIT): Likewise.
19841 * commands/cmp.c (grub_cmp_init): Likewise.
19842 (GRUB_MOD_INIT): Likewise.
19843
19844 * normal/arg.c: Use <> instead of "" to include header files.
19845 (SHORT_ARG_HELP): New macro.
19846 (SHORT_ARG_USAGE): Likewise.
19847 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
19848 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
19849 descriptions.
19850 (find_short): Check if C is 'h' or 'u' explicitly.
19851 (grub_arg_show_help): Use space characters instead of tabs. Treat
19852 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
19853 are shown with --help and --usage only if they are not used for
19854 the command itself.
19855 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
19856 'h' and 'u'.
19857
19858 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
19859 const into "longarg". Change the type of "shortarg" to int.
19860
f806d18e 198612005-07-17 Yoshinori Okuji <okuji@enbug.org>
19862
19863 * boot/i386/pc/boot.S (boot_drive_check): New label.
19864
19865 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
19866 macro.
19867
19868 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
19869 which do not pass a boot drive correctly. Copied from GRUB Legacy.
19870
e293232b 198712005-07-17 Yoshinori Okuji <okuji@enbug.org>
19872
19873 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
19874 When turning off Gate A20, skip the check and return immediately,
19875 because this is not fatal usually.
19876
ebedfd00 198772005-07-17 Yoshinori Okuji <okuji@enbug.org>
19878
19879 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
19880 be 0x7C00 instead of 0x8000.
19881
19882 * boot/i386/pc/pxeboot.S: Rewritten.
19883
19884 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
19885 EXT_C.
19886 (gate_a20_check_state): Read a byte from 0x108000. Invert the
19887 result.
19888
654fc59f 198892005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
19890
19891 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
19892 robustness. This routine now supports a BIOS call and System
19893 Control Port A to modify the gate A20.
19894
19895 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19896 Increased to 0x440.
19897
09f9923f 198982005-07-12 Hollis Blanchard <hollis@penguinppc.org>
19899
19900 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
19901 device path and resulting ihandle.
19902 (grub_ofdisk_close): dprintf the ihandle being closed.
19903 (grub_ofdisk_read): dprintf function parameters.
19904 * kern/mm.c (grub_mm_init_region): Likewise.
19905 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
19906 (grub_linux_boot): dprintf the Linux entry point, initrd address and
19907 size, and boot arguments.
19908 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
19909 before loading into memory.
19910 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
19911 before loading into memory.
19912
7ef504d8 199132005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
19914
19915 * kern/mm.c: Added much documentation.
19916 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
19917 8, set to 5 instead of 8.
19918
e0f050c2 199192005-07-10 Yoshinori Okuji <okuji@enbug.org>
19920
19921 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
19922
19923 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
19924 (grub_mkdevicemap_SOURCES): New variable.
19925
19926 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
19927 lib/device.c of GRUB Legacy.
19928
7224189a 199292005-07-10 Yoshinori Okuji <okuji@enbug.org>
19930
19931 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
19932 instead of PATH is NULL.
19933
68c864eb 199342005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
19935
19936 * commands/cmp.c (BUFFER_SIZE): New macro.
19937 (grub_cmd_cmp): Close the right file at the right time. Compare
19938 only data just read. Don't report files of different size as
19939 identical. Dynamically allocate buffers. Move variable
19940 declarations at the beginning of function.
19941
e6f3e614 199422005-07-09 Yoshinori Okuji <okuji@enbug.org>
19943
19944 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
19945 reverse.
19946
f8f1559a 199472004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
19948
19949 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
19950 when backspace is pressed at beginning of line.
19951
39c9d41d 199522005-07-03 Yoshinori Okuji <okuji@enbug.org>
19953
19954 * DISTLIST: Added genfslist.sh.
19955
19956 * normal/main.c (fs_module_list): New variable.
19957 (autoload_fs_module): New function.
19958 (read_fs_list): Likewise.
19959 (grub_normal_execute): Call read_fs_list.
19960
19961 * kern/fs.c (grub_fs_autoload_hook): New variable.
19962 (grub_fs_probe): Added support for auto-loading.
19963
19964 * include/grub/normal.h (struct grub_fs_module_list): New struct.
19965 (grub_fs_module_list_t): New type.
19966
19967 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
19968 (grub_fs_autoload_hook): New prototype.
19969
19970 * genfslist.sh: New file.
f19dbdb7 19971
39c9d41d 19972 * genmk.rb: Added a rule to generate a filesystem list.
19973
121c1d83 199742005-06-30 Marco Gerards <metgerards@student.han.nl>
19975
19976 * configure.ac: Fix the test for cross-compiling.
19977
19978 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
19979 define GRUB_UTIL anymore.
19980
19981 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
19982 so this function works on other systems than just big endian.
19983 (load_modules): Likewise.
19984 (add_segments): Likewise.
19985
e75d76e1 199862005-06-23 Hollis Blanchard <hollis@penguinppc.org>
19987
19988 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
19989 contains `l' modifier, get a long from va_arg().
19990
50b5a0a7 199912005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
19992
19993 * kern/mm.c (grub_free): If the next free block which is being
19994 merged is the first free block, set the first block to the block
19995 being freed.
19996 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
19997
89371b20 199982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19999
20000 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20001 `grub_ieee1275_chosen'.
20002
168d6e58 200032005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20004
20005 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20006 (grub_ieee1275_chosen): New variable.
20007 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20008 `chosen'.
20009 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20010 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20011 Rename first argument to `phandle' for consistency.
20012 (grub_ieee1275_get_property_length): Likewise.
20013 (grub_ieee1275_next_property): Likewise. Change type of first argument
20014 to grub_ieee1275_phandle_t.
20015 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20016 Move export next to declaration.
20017 (grub_ieee1275_chosen): New variable.
20018 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20019 Correct cosmetic typo.
20020 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20021 `grub_ieee1275_chosen'.
20022 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20023 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20024 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20025 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20026 `grub_ieee1275_chosen'.
20027
ca5baa3f 200282005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20029
20030 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20031 /chosen/bootargs.
20032 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20033 /chosen/bootargs as "variable=value" pairs.
20034
708b345f 200352005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20036
20037 * include/grub/misc.h (grub_dprintf): New macro.
20038 (grub_real_dprintf): New prototype.
20039 (grub_strword): Likewise.
20040 (grub_iswordseparator): Likewise.
20041 * kern/misc.c (grub_real_dprintf): New function.
20042 (grub_strword): Likewise.
20043 (grub_iswordseparator): Likewise.
20044
f4c5e67c 200452005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20046
20047 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20048 (roundup): Remove macro.
20049 (grub_ieee1275_flags): Make static.
20050 (grub_ieee1275_realmode): Remove.
20051 (grub_ieee1275_test_flag): New function.
20052 (grub_ieee1275_set_flag): Likewise.
20053 (find_options): Rename to `grub_ieee1275_find_options'; update
20054 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20055 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20056 (cmain): New prototype.
20057 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20058 `grub_ieee1275_flags' directly.
20059 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
20060 machine/biosdisk.h.
20061 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
20062 Don't include grub/machine/init.h.
20063 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
20064 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20065 Remove prototype.
20066 (grub_ieee1275_realmode): Likewise.
20067 (grub_ieee1275_flag): New enum.
20068 (grub_ieee1275_test_flag): New prototype.
20069 (grub_ieee1275_set_flag): New prototype.
20070 * include/grub/powerpc/ieee1275/init.h: Remove file.
20071 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
20072 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
20073 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
20074 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
20075 comment.
20076 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
20077 `grub_ieee1275_test_flag'.
20078 (grub_ieee1275_encode_devname): Likewise.
20079
ed16607e 200802005-04-21 Hollis Blanchard <hollis@penguinppc.org>
20081
20082 * include/grub/powerpc/ieee1275/ieee1275.h
20083 (grub_ieee1275_encode_devname): New prototype.
20084 (grub_ieee1275_get_filename): Likewise.
20085 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
20086 function.
20087 (grub_set_prefix): Likewise.
20088 (grub_machine_init): Call grub_set_prefix.
20089 * kern/powerpc/ieee1275/openfw.c: Fix typos.
20090 (grub_parse_type): New enum.
20091 (grub_ieee1275_get_devargs): New function.
20092 (grub_ieee1275_get_devname): Likewise.
20093 (grub_ieee1275_parse_args): Likewise.
20094 (grub_ieee1275_get_filename): Likewise.
20095 (grub_ieee1275_encode_devname): Likewise.
20096
be369920 200972005-03-30 Marco Gerards <metgerards@student.han.nl>
20098
20099 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
20100 `grub_loader_unset'.
20101
a5ce3a4a 201022005-03-26 Hollis Blanchard <hollis@penguinppc.org>
20103
20104 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
20105 instead of grub_ieee1275_interpret.
20106 (grub_halt_init): New function.
20107 (grub_halt_fini): Likewise.
20108 (GRUB_MOD_INIT): Correct message grammar.
20109 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
20110 instead of grub_ieee1275_interpret.
20111 (grub_reboot_init): New function.
20112 (grub_reboot_fini): Likewise.
20113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
20114 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
20115 util/i386/pc/misc.c with commands/ieee1275/halt.c,
20116 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
20117 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
20118 function.
20119 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
20120 Add prototype.
20121 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
20122 prototype.
20123 (grub_halt): Likewise.
20124 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
20125 (cmain): Remove __attribute__((unused)).
20126 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
20127 (grub_heap_len): Likewise.
20128 (grub_machine_fini): New function.
20129 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
20130 (grub_halt): Likewise.
20131 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
20132 function.
20133 * util/powerpc/ieee1275/misc.c: New file.
20134
0058f771 201352005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20136
20137 * DISTLIST: New file.
20138 * gendistlist.sh: Likewise.
f19dbdb7 20139
0058f771 20140 * Makefile.in (COMMON_DISTFILES): Removed.
20141 (BOOT_DISTFILES): Likewise.
20142 (CONF_DISTFILES): Likewise.
20143 (DISK_DISTFILES): Likewise.
20144 (FS_DISTFILES): Likewise.
20145 (INCLUDE_DISTFILES): Likewise.
20146 (KERN_DISTFILES): Likewise.
20147 (LOADER_DISTFILES): Likewise.
20148 (TERM_DISTFILES): Likewise.
20149 (UTIL_DISTFILES): Likewise.
20150 (DISTFILES): Likewise.
20151 (uninstall): Uninstall files in $(pkgdata_DATA).
20152 (DISTLIST): New target.
20153 (distdir): Use the contents of the file DISTLIST to get a list of
20154 distributed files.
20155
46b3b8a5 201562005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20157
20158 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
20159 descriptor. This is ported from GRUB Legacy.
20160
20161 * gencmdlist.sh: Added an extra semicolon to make it work with
20162 old sed versions. Reported by Robert Bihlmeyer
20163 <robbe@orcus.priv.at>.
20164
5822ff87 201652005-03-08 Yoshinori Okuji <okuji@enbug.org>
20166
20167 Automatic loading of commands is supported.
f19dbdb7 20168
5822ff87 20169 * normal/main.c (read_command_list): New function.
20170 (grub_normal_execute): Call read_command_list.
20171
20172 * normal/command.c (grub_register_command): Return zero or CMD.
20173 Allocate CMD->NAME from the heap.
20174 Initialize CMD->MODULE_NAME to zero.
20175 Find the same name as well. If the same command is found and it is
20176 a dummy command, overwrite members. If it is not a dummy command,
20177 return zero.
20178 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
20179 (grub_command_find): If a dummy command is found, load a module
20180 and retry to find a command only once.
20181
20182 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
20183 make sure that each command is loaded.
20184
20185 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
20186 macro.
20187 (struct grub_command): Remove const from the member `name'.
20188 Add a new member `module_name'.
20189 (grub_register_command): Return grub_command_t.
20190
20191 * commands/help.c (grub_cmd_help): Call grub_command_find to make
20192 sure that each command is loaded.
20193
20194 * genmk.rb (PModule::rule): Specify a module name without the
20195 suffix ".mod" to gencmdlist.sh.
20196
7b1f4b57 201972005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20198
20199 * gencmdlist.sh: New file.
f19dbdb7 20200
7b1f4b57 20201 * genmk.rb (PModule::rule): Generate a rule for a command list.
20202 Clean command.lst.
20203 Generate command.lst from $(COMMANDFILES).
20204
20205 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
20206 (DATA): Added $(pkgdata_DATA).
20207 (install-local): Install files in $(pkgdata_DATA).
20208
062aaf39 202092005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20210
20211 * term/i386/pc/vga.c (debug_command): Removed.
20212 (GRUB_MOD_INIT): Do not register the command "debug".
20213
20214 From Hollis Blanchard:
20215 * commands/configfile.c: New file.
20216 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20217 commands/configfile.c.
20218 (pkgdata_MODULES): Added configfile.mod.
20219 (configfile_mod_SOURCES): New variable.
20220 (configfile_mod_CFLAGS): Likewise.
20221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20222 commands/configfile.c.
20223 (pkgdata_MODULES): Added configfile.mod.
20224 (configfile_mod_SOURCES): New variable.
20225 (configfile_mod_CFLAGS): Likewise.
20226 * util/grub-emu.c (main): Call grub_configfile_init and
20227 grub_configfile_fini.
20228 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
20229 prototype.
20230 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 20231
cee01aa6 202322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20233
20234 * normal/arg.c (grub_arg_show_help): Do not show the bug report
20235 address.
20236
20237 * commands/help.c (grub_cmd_help): Do not print newlines after
20238 the last command in print_command_help.
20239
93f3a1d8 202402005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20241
20242 * commands/default.h: New file.
20243 * commands/timeout.h: Likewise.
20244 * normal/context.c: Likewise.
f19dbdb7 20245
93f3a1d8 20246 * util/misc.c: Do not include sys/times.h.
20247 Include sys/time.h and grub/machine/time.h.
20248 (grub_get_rtc): Rewritten with gettimeofday.
20249
20250 * util/grub-emu.c (main): Call grub_default_init and
20251 grub_timeout_init before grub_normal_init, and call
20252 grub_timeout_fini and grub_default_fini after grub_main.
20253
20254 * util/console.c (grub_ncurses_checkkey): Return the read
20255 character or -1.
20256
20257 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
20258 timeouts.
20259
20260 * normal/main.c (read_config_file): Push MENU. If this fails,
20261 print an error and wait for a user input.
20262 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
20263 If a menu is empty or an error occurs, pop MENU.
20264 (grub_normal_execute): Pop and free MENU after grub_menu_run
20265 returns.
20266
20267 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
20268
20269 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
20270 include time.h.
20271 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20272 without GRUB_UTIL.
20273 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
20274 time.h.
20275 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20276 without GRUB_UTIL.
20277
20278 * include/grub/normal.h (struct grub_menu_list): New struct.
20279 (grub_menu_list_t): New type.
20280 (struct grub_context): New struct.
20281 (grub_context_t): New type.
20282 (grub_register_command): Got rid of EXPORT_FUNC.
20283 (grub_unregister_command): Likewise.
20284 (grub_context_get): New prototype.
20285 (grub_context_get_current_menu): Likewise.
20286 (grub_context_push_menu): Likewise.
20287 (grub_context_pop_menu): Likewise.
20288 [GRUB_UTIL] (grub_default_init): Likewise.
20289 [GRUB_UTIL] (grub_default_fini): Likewise.
20290 [GRUB_UTIL] (grub_timeout_init): Likewise.
20291 [GRUB_UTIL] (grub_timeout_fini): Likewise.
20292
20293 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
20294 commands/timeout.c and normal/context.c.
20295 (pkgdata_MODULES): Added default.mod and timeout.mod.
20296 (normal_mod_SOURCES): Added normal/context.c.
20297 (default_mod_SOURCES): New variable.
20298 (default_mod_CFLAGS): Likewise.
20299 (timeout_mod_SOURCES): Likewise.
20300 (timeout_mod_CFLAGS): Likewise.
20301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
20302 conf/i386-pc.rmk.
20303 (pkgdata_MODULES): Added default.mod and timeout.mod.
20304 (normal_mod_SOURCES): Added normal/context.c.
20305 (default_mod_SOURCES): New variable.
20306 (default_mod_CFLAGS): Likewise.
20307 (timeout_mod_SOURCES): Likewise.
20308 (timeout_mod_CFLAGS): Likewise.
20309
20310 * Makefile.in (all-local): Added $(MKFILES).
20311
4ed2e1dd 203122005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
20313
20314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
20315 (grub_emu_SOURCES): Likewise.
20316 (pkgdata_MODULES): Add `sun.mod'.
20317 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20319 `partmap/sun.c'.
20320 (pkgdata_MODULES): Add `sun.mod'.
20321 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20322 * include/grub/partition.h (grub_sun_partition_map_init): New
20323 prototype.
20324 (grub_sun_partition_map_fini): Likewise.
20325 * partmap/sun.c: New file.
20326 * util/grub-emu.c (main): Initialize and de-initialize the sun
20327 partitionmap support.
20328
4d4e372e 203292005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
20330
20331 This implements an Emacs-like menu entry editor.
f19dbdb7 20332
4d4e372e 20333 * normal/menu_entry.c: New file.
f19dbdb7 20334
4d4e372e 20335 * util/console.c (grub_ncurses_putchar): Translate some Unicode
20336 characters to ASCII.
20337 (saved_char): New variable.
20338 (grub_ncurses_checkkey): Rewritten completely.
20339 (grub_ncurses_getkey): Likewise.
20340 (grub_ncurses_init): Call raw instead of cbreak.
20341
20342 * normal/menu.c (print_entry): Do not put a space.
20343 (init_page): Renamed to ...
20344 (grub_menu_init_page): ... this. All callers changed.
20345 (edit_menu_entry): Removed.
20346 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
20347
20348 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
20349
20350 * kern/misc.c (grub_vprintf): Call grub_refresh.
20351
20352 * normal/menu.c (DISP_LEFT): Renamed to ...
20353 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
20354 * normal/menu.c (DISP_UP): Renamed to ...
20355 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
20356 * normal/menu.c (DISP_RIGHT): Renamed to ...
20357 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
20358 * normal/menu.c (DISP_DOWN): Renamed to ...
20359 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
20360 * normal/menu.c (DISP_HLINE): Renamed to ...
20361 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
20362 * normal/menu.c (DISP_VLINE): Renamed to ...
20363 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
20364 * normal/menu.c (DISP_UL): Renamed to ...
20365 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
20366 * normal/menu.c (DISP_UR): Renamed to ...
20367 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
20368 * normal/menu.c (DISP_LL): Renamed to ...
20369 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
20370 * normal/menu.c (DISP_LR): Renamed to ...
20371 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
20372 * normal/menu.c (TERM_WIDTH): Renamed to ...
20373 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
20374 * normal/menu.c (TERM_HEIGHT): Renamed to ...
20375 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
20376 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
20377 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
20378 * normal/menu.c (TERM_MARGIN): Renamed to ...
20379 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
20380 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
20381 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
20382 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
20383 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
20384 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
20385 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
20386 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
20387 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
20388 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
20389 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
20390 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
20391 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
20392 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
20393 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
20394 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
20395 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
20396 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
20397 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
20398 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
20399 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
20400 All callers changed.
20401
20402 * include/grub/normal.h: New prototype.
20403
20404 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20405 normal/menu_entry.c.
20406 (normal_mod_SOURCES): Likewise.
20407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20408 (normal_mod_SOURCES): Likewise.
20409
e6b92c8a 204102005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
20411
20412 * include/grub/normal.h (grub_halt_init): New prototype.
20413 (grub_halt_fini): Likewise.
20414 (grub_reboot_init): Likewise.
20415 (grub_reboot_fini): Likewise.
20416
20417 * util/grub-emu.c: Include signal.h.
20418 (main_env): New global variable.
20419 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
20420 catch C-c.
20421 (grub_machine_fini): New function.
20422 (main): Call grub_halt_init and grub_reboot_init before
20423 grub_main, and grub_reboot_fini and grub_halt_fini after it.
20424 Call setjmp with MAIN_ENV to go back afterwards.
20425 Call grub_machine_fini right before return.
20426
20427 * include/grub/util/misc.h: Include setjmp.h.
20428 (main_env): New prototype.
20429
20430 * include/grub/kernel.h (grub_machine_fini): New prototype.
20431 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
20432 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
20433
20434 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
20435 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
20436 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 20437
e6b92c8a 20438 * util/i386/pc/misc.c: New file.
f19dbdb7 20439
e6b92c8a 20440 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20441 util/i386/pc/misc.c, commands/i386/pc/halt.c and
20442 commands/i386/pc/reboot.c.
20443
c642636f 204442005-02-14 Guillem Jover <guillem@hadrons.org>
20445
20446 * include/grub/dl.h (grub_dl_check_header): New prototype.
20447 (grub_arch_dl_check_header): Change return type to grub_err_t,
20448 remove size parameter and export function. Update all callers.
20449 * kern/dl.c (grub_dl_check_header): New function.
20450 (grub_dl_load_core): Use `grub_dl_check_header' instead of
20451 `grub_arch_dl_check_header'. Check ELF type. Check if sections
20452 are inside the core.
20453 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
20454 independent ELF header checks.
20455 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
20456 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
20457 `grub_dl_check_header' instead of explicit checks. Check for the
20458 ELF type.
20459 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
20460 `grub_dl_check_header' instead of explicit checks. Remove arch
20461 specific ELF header checks.
20462
e6b92c8a 20463 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
20464 argument SIZE.
20465
5eabe94b 204662005-02-13 Hollis Blanchard <hollis@penguinppc.org>
20467
20468 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
20469 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
20470
1b14a681 204712005-02-12 Hollis Blanchard <hollis@penguinppc.org>
20472
20473 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 20474 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 20475 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 20476 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 20477 * partmap/amiga.c (amiga_partition_map_iterate): Return
20478 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
20479 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20480
aca108aa 204812005-02-01 Guillem Jover <guillem@hadrons.org>
20482
20483 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
20484 help info.
20485
c9f9c556 204862005-01-31 Marco Gerards <metgerards@student.han.nl>
20487
20488 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
20489 Removed prototype.
20490 (grub_rescue_cmd_linux): New prototype.
20491 (grub_rescue_cmd_initrd): Likewise.
20492 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
20493 `bi_rec'.
20494 (grub_linux_release_mem): Release the memory for the initrd.
20495 (grub_load_linux): Renamed from this...
20496 (grub_rescue_cmd_linux): ...To this. Changed all callers.
20497 Changed `entry' not to be static. Loop over memory regions to
20498 find another one when the default fails.
20499 (grub_rescue_cmd_initrd): New function.
20500 (grub_linux_init): Remove function.
20501 (grub_linux_fini): Likewise.
20502 (GRUB_MOD_INIT): Register `initrd'.
20503 (GRUB_MOD_FINI): Unregister `initrd'.
20504 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
20505 Function removed.
20506 (grub_linux_normal_fini): Likewise.
20507 (GRUB_MOD_INIT): Register `initrd'.
20508 (GRUB_MOD_FINI): Unregister `initrd'.
20509
990cf3aa 205102005-01-31 Marco Gerards <metgerards@student.han.nl>
20511
20512 * commands/help.c: New file.
20513 * normal/arg.c (show_help): Renamed to...
20514 (grub_arg_show_help): ... this.
20515 * commands/i386/pc/halt.c: New file.
20516 * commands/i386/pc/reboot.c: Likewise.
20517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
20518 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
20519 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
20520 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
20521 variables.
20522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20523 `commands/help.c'.
20524 (pkgdata_MODULES): Add `help.mod'.
20525 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
20526 * grub/i386/pc/init.h (grub_reboot): New prototype.
20527 (grub_halt): Likewise.
20528 * include/grub/normal.h (grub_arg_show_help): New prototype.
20529 (grub_help_init): Likewise.
20530 (grub_help_fini): Likewise.
20531 * util/grub-emu.c (main): Initialize and deinitialize the help
20532 command.
20533
20534 * normal/cmdline.c (grub_cmdline_get): Doc fix.
20535
20536 * normal/command.c (grub_command_init): Fixed the description of
20537 the `set' and `unset' commands.
20538
205392005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 20540
20541 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
20542 function.
20543 * commands/ieee1275/halt.c: New file.
20544 * commands/ieee1275/reboot.c: Likewise.
20545 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
20546 `__attribute__ ((unused))'. Some GCS related fixed.
20547 (grub_suspend_init) [GRUB_UTIL]: Function removed.
20548 (grub_suspend_fini): Likewise.
20549 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
20550 and `halt.mod'.
20551 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
20552 (halt_mod_CFLAGS): New variables.
20553 * include/grub/powerpc/ieee1275/ieee1275.h
20554 (grub_ieee1275_interpret): New prototype.
20555
1ab09cc7 205562005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
20557
20558 * include/grub/misc.h (memmove): New prototype.
20559 (memcpy): Likewise.
20560
8b8cbdb2 205612005-01-22 Hollis Blanchard <hollis@penguinppc.org>
20562
20563 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
20564 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
20565
e3741a27 205662005-01-22 Marco Gerards <metgerards@student.han.nl>
20567
20568 * kern/misc.c (grub_strndup): Function rewritten.
20569
776bd780 205702005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
20571
20572 * normal/menu.c (TERM_WIDTH): Macro redefined.
20573 (TERM_TOP_BORDER_Y): Likewise.
20574 (draw_border): Replaced while-loop by a for-loop. Make the number
20575 of lines consistent with the number of lines displayed in
20576 print_entries. Added a margin below the rectangle.
20577 (print_entry): Make the entry fit in the rectangle.
20578 (print_entries): Display the scroll arrows next to the right
20579 border.
20580
78026bce 205812005-01-21 Marco Gerards <metgerards@student.han.nl>
20582
20583 * fs/minix.c (grub_minix_find_file): Reserve more space for
20584 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
20585 `grub_strncpy' to copy `path' into it.
20586
67bbaf0f 205872005-01-21 Marco Gerards <metgerards@student.han.nl>
20588
20589 Add the loopback device, a device via which files can be accessed
20590 as devices.
f19dbdb7 20591
67bbaf0f 20592 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
20593 (pkgdata_MODULES): Add loopback.mod.
20594 (loopback_mod_SOURCES): New variable.
20595 (loopback_mod_CFLAGS): Likewise.
20596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20597 `disk/loopback.c'.
20598 (pkgdata_MODULES): Add loopback.mod.
20599 (loopback_mod_SOURCES): New variable.
20600 (loopback_mod_CFLAGS): Likewise.
20601 * disk/loopback.c: new file.
20602 * include/grub/normal.h (grub_loop_init): New prototype.
20603 (grub_loop_fini): New prototype.
20604 * util/grub-emu.c (main): Initialize and de-initialize loopback
20605 support.
20606 * include/grub/disk.h (grub_disk_dev_id): Add
20607 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
20608
6f1c18bd 206092005-01-20 Hollis Blanchard <hollis@penguinppc.org>
20610
20611 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
20612 function.
20613 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
20614 (suspend_mod_SOURCES): New variable.
20615 (suspend_mod_CFLAGS): Likewise.
20616 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
20617 New prototype.
20618 * commands/ieee1275/suspend.c: New file.
20619
b38551da 206202005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20621
20622 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 20623 ((unused))' to `__attribute__ ((used))'.
b38551da 20624 (GRUB_MOD_FINI): Likewise.
20625 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
20626 * genmk.rb (PModule): Assign space to common symbols when linking
20627 modules.
20628
777aff39 206292005-01-20 Marco Gerards <metgerards@student.han.nl>
20630
20631 * include/grub/mm.h (grub_mm_init_region): Change the type of the
20632 `unsigned' arguments to `grub_size_t'.
20633 (grub_malloc): Likewise.
20634 (grub_realloc): Likewise.
20635 (grub_memalign): Likewise.
20636 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
20637 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
20638 * util/misc.c (grub_malloc): Likewise.
20639 (grub_realloc): Likewise.
20640 * kern/mm.c (get_header_from_pointer): Change the casts to
20641 `unsigned' into a cast to `grub_size_t'.
20642
20643 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
20644 point to `currnode' when `currnode' is changed.
20645
20646 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
20647 Schottelius <nico-linux@schottelius.org>.
20648
d0ff18e1 206492005-01-09 Hollis Blanchard <hollis@penguinppc.org>
20650
20651 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
20652 (note_path): Remove variable.
20653 (GRUB_IEEE1275_NOTE_NAME): New macro.
20654 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
20655 (grub_ieee1275_note_hdr): New structure.
20656 (grub_ieee1275_note_desc): Likewise.
20657 (grub_ieee1275_note): Likewise.
20658 (load_note): Remove `dir' argument. All callers updated. Remove
20659 `note_img' and `path'. Do not load a file from `note_path'.
20660 Initialize a struct grub_ieee1275_note and write that to `out'.
20661 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
20662
4ca7004c 206632005-01-05 Marco Gerards <metgerards@student.han.nl>
20664
20665 * util/misc.c (grub_util_read_image): Revert last change. It
20666 called `grub_util_read_at', which seeks from the beginning of the
20667 file.
20668
0b412211 206692005-01-04 Hollis Blanchard <hollis@penguinppc.org>
20670
20671 * TODO: Add note about endianness in grub-mkimage.
20672 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
20673 section.
20674 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
20675 (grub_mkimage_SOURCES): New target.
20676 * include/grub/kernel.h (grub_start_addr): Remove variable.
20677 (grub_end_addr): Likewise.
20678 (grub_total_module_size): Likewise.
20679 (grub_kernel_image_size): Likewise.
20680 (GRUB_MODULE_MAGIC): New constant.
20681 (grub_module_info): New structure.
20682 (grub_arch_modules_addr): New prototype.
20683 (grub_get_end_addr): Remove prototype.
20684 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
20685 * include/grub/powerpc/ieee1275/kernel.h: New file.
20686 * include/grub/util/misc.h (grub_util_get_fp_size): New
20687 prototype.
20688 (grub_util_read_at): Likewise.
20689 (grub_util_write_image_at): Likewise.
20690 * kern/main.c (grub_get_end_addr): Remove function.
20691 (grub_load_modules): Call grub_arch_modules_addr instead of using
20692 grub_end_addr. Look for a grub_module_info struct in memory. Use
20693 the grub_module_info fields instead of calling grub_get_end_addr
20694 as loop conditions. Move grub_add_unused_region code here.
20695 (grub_add_unused_region): Remove function.
20696 * kern/i386/pc/init.c: Include grub/cache.h.
20697 (grub_machine_init): Remove call to grub_get_end_addr. Remove
20698 one call to add_mem_region.
20699 (grub_arch_modules_addr): New function.
20700 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
20701 (grub_total_module_size): Likewise.
20702 Include grub/machine/kernel.h.
20703 (grub_arch_modules_addr): New function.
20704 * util/grub-emu.c (grub_end_addr): Remove variable.
20705 (grub_total_module_size): Likewise.
20706 (grub_arch_modules_addr): New function.
20707 * util/misc.c: Include unistd.h.
20708 (grub_util_get_fp_size): New function.
20709 (grub_util_read_at): Likewise.
20710 (grub_util_write_image_at): Likewise.
20711 (grub_util_read_image): Call grub_util_read_at.
20712 (grub_util_write_image): Call grub_util_write_image_at.
20713 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
20714 additional memory in kernel_img for a struct grub_module_info.
20715 Fill in that grub_module_info.
20716 * util/powerpc/ieee1275/grub-mkimage.c: New file.
20717
458786f8 207182005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20719
20720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
20721 New function.
20722 * include/grub/powerpc/ieee1275/ieee1275.h
20723 (grub_ieee1275_milliseconds): New prototype.
20724 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
20725 Change to 1000.
20726 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
20727 grub_ieee1275_milliseconds.
20728
ac507d1b 207292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20730
20731 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
20732 variable.
20733 (find_options): New function.
20734 (cmain): Call find_options.
20735 * include/grub/powerpc/ieee1275/ieee1275.h
20736 (grub_ieee1275_realmode): New extern variable.
20737 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
20738 grub_map if grub_ieee1275_realmode is false.
20739
6b8fd1c4 207402004-12-29 Marco Gerards <metgerards@student.han.nl>
20741
20742 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
20743 lines are inserted and make it work like readline. Reported by
20744 Vincent Pelletier <subdino2004@yahoo.fr>.
20745
8514a1e0 207462004-12-28 Marco Gerards <metgerards@student.han.nl>
20747
20748 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
20749
20750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
20751 `kern/powerpc/cache.S'.
20752
924b6140 207532004-12-27 Marco Gerards <metgerards@student.han.nl>
20754
20755 * genmk.rb: Handle the `Program' class in the main loop. Written
20756 by Johan Rydberg <jrydberg@gnu.org>.
20757 (Program): New class.
20758 (programs): New variable.
20759 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
20760 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
20761 instead of "grub/kernel.h". Include <grub/machine/init.h>.
20762 (help_arch): Function removed.
20763 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
20764 `powerpc/libgcc.h' and `loader.h'.
20765 (pkgdata_PROGRAMS): New variable.
20766 (sbin_UTILITIES): Variable removed.
20767 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
20768 (grubof_SOURCES): Variable re-defined so it only includes the
20769 core functionality.
20770 (grubof_CFLAGS): Remove `-DGRUBOF'.
20771 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
20772 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
20773 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
20774 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
20775 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
20776 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
20777 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
20778 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
20779 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
20780 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
20781 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20782 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
20783 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
20784 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
20785 (pc_mod_CFLAGS): New variables.
20786 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
20787 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
20788 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
20789 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
20790 Moved from here...
20791 * include/grub/i386/pc/init.h (grub_os_area_addr)
20792 (rub_os_area_size): ... to here.
20793 * include/grub/powerpc/ieee1275/ieee1275.h
20794 (grub_ieee1275_entry_fn): Export symbol.
20795 * include/grub/powerpc/ieee1275/init.h: New file.
20796 * include/grub/powerpc/libgcc.h: Likewise.
20797 * include/grub/cache.h: Likewise.
20798 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
20799 <hollis@penguinppc.org>.
20800 * kern/dl.c: Include <grub/cache.h>.
20801 (grub_dl_flush_cache): New function.
20802 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
20803 for this module.
20804 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
20805 (grub_console_init): Removed prototypes.
20806 (grub_machine_init): Don't initialize the modules anymore.
20807 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
20808 static.
20809 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
20810 Macro undef removed.
20811 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
20812 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
20813 relocation `R_PPC_REL32'. Return an error when the relocation is
20814 unknown.
20815 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
20816 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
20817 * util/misc.c (grub_arch_sync_caches): Likewise.
20818
e4b47e0c 208192004-12-19 Marco Gerards <metgerards@student.han.nl>
20820
20821 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
20822 `symlist.c', add `grubof_symlist.c'.
20823 (symlist.c): Variable removed.
20824 (grubof_HEADERS): Variable added.
20825 (grubof_symlist.c): New target.
20826 (kernel_syms.lst): Use `grubof_HEADERS' instead of
20827 `kernel_img_HEADERS'.
20828 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
20829 * kern/powerpc/dl.c: New file.
20830 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
20831 Function removed.
20832 (grub_arch_dl_relocate_symbols): Likewise.
20833 (grub_register_exported_symbols): Likewise.
20834
4ceb3636 208352004-12-13 Marco Gerards <metgerards@student.han.nl>
20836
20837 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
20838 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
20839 to fail instead. Reported by Vincent Pelletier
20840 <subdino2004@yahoo.fr>.
20841
20842 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
20843 it is not allocated. Reported by Vincent Pelletier
20844 <subdino2004@yahoo.fr>.
20845
20846 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
20847 output so the output looks better.
f19dbdb7 20848
3f1578fe 208492004-12-04 Marco Gerards <metgerards@student.han.nl>
20850
20851 Modulize the partition map support and add support for the amiga
20852 partition map.
f19dbdb7 20853
3f1578fe 20854 * commands/ls.c: Include <grub/partition.h> instead of
20855 <grub/machine/partition.h>.
20856 * kern/disk.c: Likewise.
20857 * kern/rescue.c: Likewise.
20858 * loader/i386/pc/chainloader.c: Likewise.
20859 * normal/cmdline.c: Likewise.
20860 * kern/powerpc/ieee1275/init.c: Likewise.
20861 (grub_machine_init): Call `grub_pc_partition_map_init',
20862 `grub_amiga_partition_map_init' and
20863 `grub_apple_partition_map_init'.
20864 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
20865 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
20866 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
20867 `partition.h' and `pc_partition.h'.
20868 (grub_setup_SOURCES): Remove
20869 `disk/i386/pc/partition.c'. Add `kern/partition.c',
20870 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20871 (grub_emu_SOURCES): Likewise.
20872 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
20873 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
20874 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
20875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20876 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
20877 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20878 (grubof_SOURCES): Likewise.
20879 * disk/i386/pc/partition.c: File removed.
20880 * disk/powerpc/ieee1275/partition.c: Likewise.
20881 * include/grub/powerpc/ieee1275/partition.h: Likewise.
20882 * include/grub/i386/pc/partition.h: Likewise.
20883 * kern/partition.c: New file.
20884 * partmap/amiga.c: Likewise.
20885 * partmap/apple.c: Likewise.
20886 * partmap/pc.c: Likewise.
20887 * include/grub/partition.h: Likewise..
20888 * include/grub/pc_partition.h: Likewise.
20889 * util/grub-emu.c: Include <grub/partition.h> instead of
20890 <grub/machine/partition.h>.
20891 (main): Call `grub_pc_partition_map_init',
20892 `grub_amiga_partition_map_init' and
20893 `grub_apple_partition_map_init' and deinitialize afterwards.
20894 * util/i386/pc/biosdisk.c: Include `#include
20895 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20896 `<grub/machine/partition.h>'.
20897 * util/i386/pc/grub-setup.c: Likewise.
20898 * util/i386/pc/biosdisk.c: Likewise.
20899 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
20900 partition information in case of a PC partition.
20901 * util/i386/pc/grub-setup.c: Include `#include
20902 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20903 `<grub/machine/partition.h>'.
20904 (setup): Only access the PC specific partition information in case
20905 of a PC partition.
20906
0ef4ced9 209072004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20908
0ef4ced9 20909 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
20910 (grub_longjmp): Likewise.
20911 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
20912 20.
20913 * normal/powerpc/setjmp.S: New file.
20914 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20915 `normal/powerpc/setjmp.S'.
20916 (grubof_CFLAGS): Add `-DGRUBOF'.
20917 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
20918 [GRUB_UTIL && !GRUBOF].
f19dbdb7 20919
19950e29 209202004-11-16 Marco Gerards <metgerards@student.han.nl>
20921
20922 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
20923 property named `name'. Correctly handle the error returned by
20924 `grub_ieee1275_finddevice' if a device can not be opened.
20925
a2fea427 209262004-11-02 Hollis Blanchard <hollis@penguinppc.org>
20927
20928 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
20929 `actual' for negativity.
20930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20931 kern/fshelp.c.
20932
41ea0ea3 209332004-11-01 Marco Gerards <metgerards@student.han.nl>
20934
20935 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
20936 (PAGE_OFFSET): New macro.
20937 (CRTC_ADDR_PORT): Likewise.
20938 (CRTC_DATA_PORT): Likewise.
20939 (START_ADDR_HIGH_REGISTER): Likewise.
20940 (START_ADDR_LOW_REGISTER): Likewise.
20941 (GRAPHICS_ADDR_PORT): Likewise.
20942 (GRAPHICS_DATA_PORT): Likewise.
20943 (READ_MAP_REGISTER): Likewise.
20944 (INPUT_STATUS1_REGISTER): Likewise.
20945 (INPUT_STATUS1_VERTR_BIT): Likewise.
20946 (page): New variable.
20947 (wait_vretrace): New function.
20948 (set_read_map): Likewise.
20949 (set_start_address): Likewise.
20950 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
20951 the right page.
20952 (check_vga_mem): Take the page into account.
20953 (write_char): Likewise.
20954 (write_cursor): Likewise.
20955 (scroll_up): Likewise. Copy the page to the page that is not
20956 shown and switch between both pages.
20957 (grub_vga_putchar): Fix off by one error.
20958 (grub_vga_cls): Wait for the vertical retrace. Take the page into
20959 account.
20960
ad0bd20b 209612004-11-01 Marco Gerards <metgerards@student.han.nl>
20962
20963 Add support for iso9660 (including rockridge).
f19dbdb7 20964
ad0bd20b 20965 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20966 (iso9660_mod_SOURCES): New variable.
20967 (iso9660_mod_CFLAGS): Likewise.
20968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20969 * include/grub/fs.h (grub_iso9660_init): New prototype.
20970 * util/grub-emu.c (main): Call `grub_iso9660_init'.
20971 * fs/iso9660.c: New file.
20972
20973 * include/grub/misc.h (grub_strncat): New prototype.
20974 * kern/misc.c (grub_strncat): New function.
f19dbdb7 20975
ad0bd20b 20976 * fs/hfs.c (grub_hfs_mount): Translate the error
20977 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
20978 * fs/jfs.c (grub_jfs_mount): Likewise.
20979 * fs/ufs.c (grub_ufs_mount): Likewise.
20980
a5477a59 209812004-10-28 Hollis Blanchard <hollis@penguinppc.org>
20982
20983 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
20984 which initialized BAT registers.
20985 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
20986 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20987 Move from here...
20988 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
20989 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20990 ... to here.
20991 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
20992 (grub_mapclaim): Likewise.
20993 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
20994 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
20995 hand.
20996
9304c1f8 209972004-10-19 Hollis Blanchard <hollis@penguinppc.org>
20998
20999 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21000 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21001 -ffreestanding and -msoft-float.
21002
86f4ae25 210032004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21004
21005 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21006 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21007 set in grub_ieee1275_flags.
21008
38912228 210092004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21010
21011 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21012 prototype.
21013 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21014 grub_console_init first.
21015 Change the memory range used for grub_ieee1275_claim and
21016 grub_mm_init_region.
21017 Print an error message if the claim fails.
21018 Include <grub/misc.h>.
21019
d1923dc8 210202004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21021
21022 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21023 Call grub_children_iterate for device nodes of type `scsi',
21024 `ide', or `ata'.
21025 (grub_ofdisk_open): Remove manual device alias resolution.
21026 Fix memory leak when device cannot be opened.
f19dbdb7 21027 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21028 (grub_children_iterate): New prototype.
21029 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21030 New function.
21031 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21032 Return -1 if args.size was -1.
21033
4512e4f3 210342004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21035
21036 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21037 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21038 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21039 Open Firmware's memory for it; claim memory from _start to _end.
21040 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21041 (_end): New extern.
21042 (_start): Zero BSS from __bss_start to _end.
21043 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21044 New extern.
21045 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21046
4d61feb0 210472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21048
ad0bd20b 21049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21050 -1 if args.base was -1.
4d61feb0 21051
026fa2f9 210522004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21053
21054 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21055 escape sequence instead of a literal ^L. Also call
21056 grub_ofconsole_gotoxy.
21057
9f2220ef 210582004-10-03 Hollis Blanchard <hollis@penguinppc.org>
21059
21060 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
21061 void * arguments to grub_addr_t. All callers updated. Also make
21062 the `result' argument optional.
21063 (grub_ieee1275_release): change void * arguments to grub_addr_t.
21064 All callers updated.
21065
8a572cd7 210662004-09-22 Hollis Blanchard <hollis@penguinppc.org>
21067
21068 * commands/ls.c (grub_ls_list_files): Use the string following the
21069 initial ')', if present, as the filesystem path.
21070 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
21071
21072 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
21073
18aa81f2 210742004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
21075
21076 Make the source code of the menu interface more readable.
f19dbdb7 21077
18aa81f2 21078 * normal/menu.c: Include grub/mm.h.
21079 (TERM_WIDTH): New macro.
21080 (TERM_HEIGHT): Likewise.
21081 (TERM_INFO_HEIGHT): Likewise.
21082 (TERM_MARGIN): Likewise.
21083 (TERM_SCROLL_WIDTH): Likewise.
21084 (TERM_TOP_BORDER_Y): Likewise.
21085 (TERM_LEFT_BORDER_X): Likewise.
21086 (TERM_BORDER_WIDTH): Likewise.
21087 (TERM_MESSAGE_HEIGHT): Likewise.
21088 (TERM_BORDER_HEIGHT): Likewise.
21089 (TERM_NUM_ENTRIES): Likewise.
21090 (TERM_FIRST_ENTRY_Y): Likewise.
21091 (TERM_ENTRY_WIDTH): Likewise.
21092 (TERM_CURSOR_X): Likewise.
21093 (draw_border): Use macros instead of magic numbers.
21094 (print_entry): Likewise.
21095 (print_entries): Likewise.
21096 (run_menu): Likewise. Also, handle the key 'e'.
21097 (run_menu_entry): Ignore empty command lines.
21098 (print_message): Added a new argument EDIT. If EDIT is true,
21099 print a different message.
21100 (init_page): Likewise.
21101 (edit_menu_entry): New function. Not implemented yet.
21102
b47efe30 211032004-09-17 Marco Gerards <metgerards@student.han.nl>
21104
21105 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
21106 can be loaded from normal mode.
f19dbdb7 21107
b47efe30 21108 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
21109 `multiboot.mod'.
21110 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
21111 (multiboot_mod_CFLAGS): New variables.
21112 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 21113 * loader/i386/pc/multiboot_normal.c: Likewise.
21114
b47efe30 21115 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
21116 attribute `unused'.
f19dbdb7 21117
b47efe30 21118 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
21119 `fdiro' to read the mode information from instead of `diro'.
21120
21121 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
21122 looking up a symlink.
21123
21124 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
21125 macro.
21126 * normal/command.c (grub_command_execute): Don't parse the
21127 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
21128 flags of the command.
21129
21130 * normal/menu.c (grub_menu_run): Fix typo.
21131
da75ac71 211322004-09-14 Hollis Blanchard <hollis@penguinppc.org>
21133
21134 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
21135
21136 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
21137 `y + 1' instead of `y - 1'.
21138
21139 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 21140
062b24c2 211412004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
21142
21143 From Hollis Blanchard <hollis@penguinppc.org>:
21144 * kern/misc.c (memmove): New alias for grub_memmove.
21145 (memcmp): New alias for grub_memcmp.
21146 (memset): New alias for grub_memset.
f19dbdb7 21147 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 21148 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 21149 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 21150 (grub_ieee1275_get_property): Likewise.
f19dbdb7 21151
8ddad845 211522004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
21153
21154 Added normal mode command `chainloader' as module chain.mod, which
21155 depends on normal.mod and _chain.mod.
f19dbdb7 21156
8ddad845 21157 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
21158 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
21159 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
21160 Deleted prototype.
21161 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
21162 but arguments parsing moved to ...
21163 (grub_chainloader_cmd): ... here. New function.
21164 * include/grub/i386/pc/chainloader.h: New file.
21165 * loader/i386/pc/chainloader_normal.c: Likewise.
21166
2c1f4ce3 211672004-09-11 Marco Gerards <metgerards@student.han.nl>
21168
21169 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
21170 (grub_mkimage_LDFLAGS): Likewise.
21171 (grub_emu_SOURCES): Likewise.
21172 (kernel_img_HEADERS): Added fshelp.h.
21173 * fs/ext2.c: Include <grub/fshelp.h>.
21174 (FILETYPE_REG): New macro.
21175 (FILETYPE_INO_REG): Likewise.
21176 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
21177 Changed all users.
21178 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
21179 all users.
21180 (grub_fshelp_node): New struct.
21181 (grub_ext2_data): Added member `diropen'. Changed member `inode'
21182 to a pointer.
21183 (grub_ext2_get_file_block): Removed function.
21184 (grub_ext2_read_block): New function.
21185 (grub_ext2_read_file): Replaced parameter `data' by `node'.
21186 This function was written.
21187 (grub_ext2_mount): Read the root inode. Create a diropen struct.
21188 (grub_ext2_find_file): Removed function.
21189 (grub_ext2_read_symlink): New function.
21190 (grub_ext2_iterate_dir): Likewise.
21191 (grub_ext2_open): Rewritten.
21192 (grub_ext2_dir): Rewritten.
21193 * include/grub/fshelp.h: New file.
21194 * fs/fshelp.c: Likewise.
21195
3c52136a 211962004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
21197
21198 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
21199 (print_message): Add a missing newline.
21200 (run_menu): Added timeout support.
21201 (run_menu_entry): New local function.
21202 (grub_menu_run): Added support for booting.
21203
21204 * kern/loader.c (grub_loader_is_loaded): New function.
21205
21206 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
21207 (grub_get_rtc): Exported.
21208
21209 * include/grub/i386/pc/time.h: Include grub/symbol.h.
21210 (grub_get_rtc): Exported.
21211
21212 * include/grub/normal.h (struct grub_command_list): Remove
21213 constant from the member `command'.
21214
21215 * include/grub/loader.h (grub_loader_is_loaded): Declared.
21216
21217 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
21218
21219 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
21220
aa033560 212212004-08-28 Marco Gerards <metgerards@student.han.nl>
21222
21223 Add support for the JFS filesystem.
21224
21225 * fs/jfs.c: New file.
21226 * include/grub/fs.h (grub_jfs_init): New prototype.
21227 (grub_jfs_fini): New prototype.
21228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
21229 (grub_emu_SOURCES): Likewise.
21230 (pkgdata_MODULES): Add jfs.mod.
21231 (jfs_mod_SOURCES): New variable.
21232 (jfs_mod_CFLAGS): Likewise.
21233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
21234 (grubof_SOURCES): Likewise.
21235 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
21236
21237 * fs/fat.c (grub_fat_find_dir): Convert the filename little
21238 endian to the host endian.
21239 (grub_fat_utf16_to_utf8): Move function from there...
21240 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 21241 the endianness of the source string anymore.
aa033560 21242 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
21243
94bc45af 212442004-08-24 Marco Gerards <metgerards@student.han.nl>
21245
21246 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
21247 (grub_boot_fini) [GRUB_UTIL]: Likewise.
21248 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
21249 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 21250
94bc45af 21251 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
21252 (grub_hfs_iterate_dir): Make the function static. Add prototypes
21253 for `node_found' and `it_dir'.
21254 (grub_hfs_dir): Add prototype for `dir_hook'.
21255
21256 * fs/minix.c (grub_minix_get_file_block): Add prototype for
21257 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
21258 and `indir32' to silence a gcc warning.
21259
21260 * include/grub/fs.h (grub_hfs_init): New prototype.
21261 (grub_hfs_fini): Likewise.
f19dbdb7 21262
21263
97543f08 212642004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21265
21266 Each disk device has its own id now. This is useful to make use
21267 of multiple disk devices.
f19dbdb7 21268
97543f08 21269 * include/grub/disk.h (grub_disk_dev_id): New enum.
21270 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
21271 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
21272
21273 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
21274 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21275
21276 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
21277 GRUB_DISK_DEVICE_OFDISK_ID as an id.
21278
21279 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
21280 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21281
21282 * include/grub/disk.h (struct grub_disk_dev): Added a new member
21283 "id" which is used by the cache manager.
21284
21285 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
21286 of just "GRUB".
21287
64372eb4 212882004-08-18 Marco Gerards <metgerards@student.han.nl>
21289
21290 * fs/hfs.c: New file.
21291 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
21292 (grub_emu_SOURCES): Likewise.
21293 (pkgdata_MODULES): Add hfs.mod.
21294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
21295 (grubof_SOURCES): Likewise.
21296 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
21297
21298 * include/grub/misc.h (grub_strncasecmp): Add prototype.
21299 * kern/misc.c (grub_strncasecmp): Add function.
21300
cc61b58f 213012004-08-14 Marco Gerards <metgerards@student.han.nl>
21302
21303 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
21304 with parentheses.
21305
21306 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
21307 (grub_ext2_dir): In case the directory entry type is unknown, read
21308 it from the inode.
21309
0ef123f6 213102004-08-02 Peter Bruin <pjbruin@dds.nl>
21311
21312 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
21313 grub_load_linux instead of grub_rescue_cmd_linux as second
21314 argument of grub_rescue_register_command.
21315
21316 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
21317
a447c5df 213182004-07-27 Marco Gerards <metgerards@student.han.nl>
21319
21320 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
21321 function.
21322 * commands/boot.c: Remove the check for `GRUB_UTIL'.
21323 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21324 `loader/powerpc/ieee1275/linux.c',
21325 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
21326 * include/grub/powerpc/ieee1275/ieee1275.h
21327 (grub_ieee1275_release): New prototype.
21328 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
21329 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
21330 normal, boot, linux and linux_normal.
21331 * loader/powerpc/ieee1275/linux.c: New file.
21332 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21333
5a9e3546 213342004-07-12 Marco Gerards <metgerards@student.han.nl>
21335
21336 * normal/arg.c (grub_arg_parse): Correct error handling after
21337 reallocating the argumentlist (check if `argl' is not null instead
21338 of checking if `args' is not null).
21339 * kern/mm.c (grub_realloc): Return the same pointer when using the
21340 same region, instead of returning the header address.
21341
e15199cb 213422004-07-11 Marco Gerards <metgerards@student.han.nl>
21343
21344 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
21345 one block instead of two when looking for the initial partition.
21346 (grub_partition_probe): Initialize the local variable `p' with 0.
21347 Use base 10 for the grub_strtoul call.
21348 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
21349 need for one local variable.
21350 (grub_strtoul): Don't add the new value to `num', instead of that
21351 just assign it.
21352
020616c2 213532004-07-11 Marco Gerards <metgerards@student.han.nl>
21354
21355 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
21356 (pxeboot_img_SOURCES): New variable.
21357 (pxeboot_img_ASFLAGS): Likewise.
21358 (pxeboot_img_LDFLAGS): Likewise.
21359 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
21360 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
21361 <lode_leroy@hotmail.com>.
21362
6c51eb64 213632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21364
21365 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
21366 there was no input.
21367
cfb12aff 213682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21369
21370 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
21371 the history buffer logic.
21372
6eabba74 213732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21374
21375 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
21376 (FILETYPE_INO_SYMLINK): New macros.
21377 (grub_ext2_find_file): Check if the node is a directory using the
21378 inode stat information instead of using the filetype in the
21379 dirent. Exclude the first character of an absolute symlink.
21380 (grub_ext2_dir): Mask out the filetype part of the mode member of
21381 the inode.
21382
66e19ef8 213832004-05-24 Marco Gerards <metgerards@student.han.nl>
21384
21385 Add support for UFS version 1 and 2. Add support for the minix
21386 filesystem version 1 and 2, both the variants with 14 and 30 long
21387 filenames.
f19dbdb7 21388
66e19ef8 21389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
21390 fs/minix.c.
21391 (grub_emu_SOURCES): Likewise.
21392 (pkgdata_MODULES): Add ufs.mod and minix.mod.
21393 (ufs_mod_SOURCES): New variable.
21394 (ufs_mod_CFLAGS): Likewise.
21395 (minix_mod_SOURCES): Likewise.
21396 (minix_mod_CFLAGS): Likewise.
21397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
21398 fs/minix.c.
21399 (grubof_SOURCES): Likewise.
21400 * fs/ufs.c: New file.
21401 * fs/minix.c: New file.
21402 * include/grub/fs.h (grub_ufs_init): New prototype.
21403 (grub_ufs_fini): Likewise.
21404 (grub_minix_init): Likewise.
21405 (grub_minix_fini): Likewise.
21406 * util/grub-emu.c (main): Initialize and deinitialize UFS and
21407 minix fs.
21408
cc2e748a 214092004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
21410
21411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
21412 commands/ls.c, commands/terminal.c, commands/boot.c,
21413 commands/cmp.c and commands/cat.c.
21414 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
21415
21416 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
21417 "env.h"
21418
4b13b216 214192004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21420
21421 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
21422 and grub_, respectively. Because the conversion is trivial and
21423 mechanical, I omit the details here. Please refer to the CVS
21424 if you need more information.
21425
6a142551 214262004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21427
21428 * include/pupa: Renamed to ...
21429 * include/grub: ... this.
21430 * util/i386/pc/pupa-mkimage.c: Renamed to ...
21431 * util/i386/pc/grub-mkimage.c: ... this.
21432 * util/i386/pc/pupa-setup.c: Renamed to ...
21433 * util/i386/pc/grub-setup.c: ... this.
21434 * util/pupa-emu.c: Renamed to ...
21435 * util/grub-emu.c: ... this.
21436
e56cdf21 214372004-03-29 Marco Gerards <metgerards@student.han.nl>
21438
21439 Add support for the newworld apple macintosh (PPC). This has been
21440 tested on the powerbook 2000 only. It only adds support for
21441 generic ieee1275 functions, console and disk support. This should
21442 be easy to port to other architectures with support for Open
21443 Firmware.
f19dbdb7 21444
e56cdf21 21445 * configure.ac: Accept the powerpc as host_cpu. In the case of
21446 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
21447 specific tests are only executed while building for the i386.
21448 Inverse test for crosscompile.
21449 * genmk.rb (Utility): Allow assembler files.
21450 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
21451 * conf/powerpc-ieee1275.rmk: New file.
21452 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
21453 * disk/powerpc/ieee1275/partition.c: Likewise.
21454 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
21455 * include/pupa/powerpc/ieee1275/console.h: Likewise.
21456 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
21457 * include/pupa/powerpc/ieee1275/time.h: Likewise.
21458 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
21459 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
21460 * include/pupa/powerpc/ieee1275/loader.h
21461 * include/pupa/powerpc/setjmp.h: Likewise.
21462 * include/pupa/powerpc/types.h: Likewise.
21463 * kern/powerpc/ieee1275/init.c: Likewise.
21464 * kern/powerpc/ieee1275/openfw.c: Likewise.
21465 * term/powerpc/ieee1275/ofconsole.c: Likewise.
21466
21467 These files were written by Johan Rydberg
21468 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 21469
e56cdf21 21470 * boot/powerpc/ieee1275/cmain.c: New file.
21471 * boot/powerpc/ieee1275/crt0.S: Likewise.
21472 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
21473 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
21474
8c8cc205 214752004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
21476
21477 * Makefile.in: Update copyright.
21478 * genmodsrc.sh: Likewise.
21479 * gensymlist.sh: Likewise.
21480 * term/i386/pc/vga.c: Indent correctly.
21481
21482 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
21483 bugreporting address.
21484 * util/i386/pc/pupa-setup.c (usage): Likewise,
21485 (main): Call pupa_ext2_init and pupa_ext2_fini.
21486
f19dbdb7 21487 * fs/fat.c (log2): Renamed to ...
8c8cc205 21488 (fat_log2): ... this.
21489 All callers changed.
21490 * kern/misc.c (memcpy): Alias to pupa_memmove.
21491 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
21492 lvalue cast.
21493 * util/console.c (pupa_ncurses_fini): Return 0.
21494
21495 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
21496 Move fail label here.
21497 [__GNU__]: Don't warn when using stat.
21498 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
21499 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
21500 long int. Use strtol instead of strtoul.
f19dbdb7 21501
db1771cf 215022004-03-14 Marco Gerards <metgerards@student.han.nl>
21503
21504 * commands/boot.c: New file.
21505 * commands/cat.c: Likewise.
21506 * commands/cmp.c: Likewise.
21507 * commands/ls.c: Likewise.
21508 * commands/terminal.c: Likewise.
21509 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
21510 (pupa_register_command): Changed interface to match the new
21511 argument parser.
21512 (pupa_command_execute): Changed (almost rewritten) so it uses
21513 pupa_split_command. Added support for setting variables using the
21514 syntax `foo=bar'.
21515 (rescue_command): Changed to work with the new argument parser.
21516 (terminal_command): Moved from here to commands/terminal.c.
21517 (set_command): New function.
21518 (unset_command): New function.
21519 (insmod_command): New function.
21520 (rmmod_command): New function.
21521 (lsmod_command): New function.
21522 (pupa_command_init): Don't initialize the command terminal
21523 anymore. Initialize the commands set, unset, insmod, rmmod and
21524 lsmod.
21525 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
21526 (kernel_img_HEADERS): Add arg.h and env.h.
21527 (pupa_mkimage_LDFLAGS): Add kern/env.c.
21528 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
21529 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
21530 normal/arg.c.
21531 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
21532 terminal.mod.
21533 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
21534 (boot_mod_SOURCES): New variable.
21535 (terminal_mod_SOURCES): Likewise.
21536 (ls_mod_SOURCES): Likewise.
21537 (cmp_mod_SOURCES): Likewise.
21538 (cat_mod_SOURCES): Likewise.
21539
21540 * normal/arg.c: New file.
21541 * kern/env.c: Likewise.
21542 * include/pupa/arg.h: Likewise.
21543 * include/pupa/env.h: Likewise.
21544 * font/manager.c (font_command): Changed to match argument parsing
21545 interface changes.
21546 (PUPA_MOD_INIT): Likewise.
21547 * hello/hello.c (pupa_cmd_hello): Likewise.
21548 (PUPA_MOD_INIT): Likewise.
21549 * include/pupa/disk.h: Include <pupa/device.h>.
21550 (pupa_print_partinfo): New prototype.
21551 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
21552 (pupa_dl_get_prefix): Likewise.
21553 * include/pupa/misc.h: Include <pupa/err.h>.
21554 (pupa_isgraph): New prototype.
21555 (pupa_isdigit): Likewise.
21556 (pupa_split_cmdline): Likewise.
21557 * include/pupa/normal.h: Include <pupa/arg.h>.
21558 (pupa_command): Changed the prototype of the member `func' to
21559 match the argument parsing interface. Added member `options'.
21560 (pupa_register_command): Updated to match function.
21561 (pupa_arg_parse): New prototype.
21562 (pupa_hello_init) [PUPA_UTIL]: New prototype.
21563 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
21564 (pupa_ls_init) [PUPA_UTIL]: Likewise.
21565 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
21566 (pupa_cat_init) [PUPA_UTIL]: Likewise.
21567 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
21568 (pupa_boot_init) [PUPA_UTIL]: Likewise.
21569 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
21570 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
21571 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
21572 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
21573 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
21574 * kern/disk.c: Include <pupa/file.h>.
21575 (pupa_print_partinfo): New function.
21576 * kern/dl.c: Include <pupa/env.h>.
21577 (pupa_dl_dir): Variable removed.
21578 (pupa_dl_load): Use the environment variable `prefix' instead of
21579 the variable pupa_dl_dir.
21580 (pupa_dl_set_prefix): Function removed.
21581 (pupa_dl_get_prefix): Likewise.
21582 * kern/i386/pc/init.c: Include <pupa/env.h>.
21583 (pupa_machine_init): Use the environment variable `prefix' instead of
21584 using pupa_dl_set_prefix to set the prefix.
21585 * kern/main.c: Include <pupa/env.h>.
21586 (pupa_set_root_dev): Use the environment variable `prefix' instead of
21587 using pupa_dl_get_prefix to get the prefix.
21588 * kern/misc.c: Include <pupa/env.h>.
21589 (pupa_isdigit): New function.
21590 (pupa_isgraph): Likewise.
21591 (pupa_ftoa): Likewise.
21592 (pupa_vsprintf): Added support for printing values of the type
21593 `double'. Make it possible to format variable output when using
21594 formatting like `%1.2%f'.
21595 (pupa_split_cmdline): New function.
21596 * kern/rescue.c: Include <pupa/env.h>.
21597 (next_word): Removed function.
21598 (pupa_rescue_cmd_prefix): Likewise.
21599 (pupa_rescue_cmd_set): New function.
21600 (pupa_rescue_cmd_unset): New function.
21601 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
21602 split the command line instead of splitting it here. Added
21603 support for setting variables using the syntax `foo=bar'. Don't
21604 initialize the prefix command anymore. Initialized the set and
21605 unset commands.
21606 * normal/cmdline.c: Include <pupa/env.h>.
21607 (pupa_tab_complete): Added prototypes for print_simple_completion,
21608 print_partition_completion, add_completion, iterate_commands,
21609 iterate_dev, iterate_part and iterate_dir. Moved code to print
21610 partition information from here to kern/disk.c.
fe6b695a 21611 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 21612 * normal/main.c: Include <pupa/env.h>.
21613 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
21614 instead of using pupa_dl_get_prefix to get the prefix.
21615 * term/i386/pc/vga.c: Include <pupa/arg.h>.
21616 (check_vga_mem): Cast pointers to `void *' to silence a gcc
21617 warning.
21618 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
21619 (pupa_vga_setcolor): Declare unused variables with `__attribute__
21620 ((unused))' to silence a gcc warning.
21621 (pupa_vga_setcolor): Likewise.
21622 (debug_command): Changed to match argument parsing
21623 interface changes.
21624 * util/pupa-emu.c: Include <pupa/env.h>.
21625 (options): Added 0's for unused fields to silence a gcc warning.
21626 (argp): Likewise.
21627 (main): Use the environment variable `prefix' instead of using
21628 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
21629 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
21630 and terminal.
21631
21632 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
21633 * util/misc.c: Include <malloc.h>.
21634 (pupa_malloc): Rewritten so errors are correctly reported.
21635 (pupa_realloc): Likewise.
21636 (pupa_memalign): Likewise.
21637 (pupa_mm_init_region): Declare unused variables with
21638 `__attribute__ ((unused))' to silence a gcc warning.
21639 * normal/i386/setjmp.S: Remove tab at the end of the file to
21640 silence a gcc warning.
21641 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
21642 variables with `__attribute__ ((unused))' to silence a gcc
21643 warning.
21644 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
21645 local variable i unsigned to silence a gcc warning.
21646
21647 * kern/term.c: Include <pupa/misc.h>.
21648 (pupa_more_lines): New variable.
21649 (pupa_more): Likewise.
21650 (pupa_putcode): When the pager is active pause at the end of every
21651 screen.
21652 (pupa_set_more): New function.
21653 * include/pupa/term.h (pupa_set_more): New prototype.
21654
21655
3b1139cb 216562004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
21657
21658 Now this project is GRUB 2 rather than PUPA. The location of
21659 the CVS repository was moved to GRUB's.
f19dbdb7 21660
3b1139cb 21661 * configure.ac: Use bug-grub as the reporting address.
21662 Use GRUB instead of PUPA.
21663 Change the version number to 1.90.
21664
8367695c 216652004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
21666
21667 * genkernsyms.sh: Updated copyright information.
21668 * genmk.rb: Likewise.
21669 * genmodsrc.sh: Likewise.
21670 * gensymlist.sh: Likewise.
21671 * boot/i386/pc/boot.S: Likewise.
21672 * boot/i386/pc/diskboot.S: Likewise.
21673 * disk/i386/pc/biosdisk.c: Likewise.
21674 * disk/i386/pc/partition.c: Likewise.
21675 * font/manager.c: Likewise.
21676 * fs/ext2.c: Likewise.
21677 * fs/fat.c: Likewise.
21678 * include/pupa/boot.h: Likewise.
21679 * include/pupa/device.h: Likewise.
21680 * include/pupa/disk.h: Likewise.
21681 * include/pupa/dl.h: Likewise.
21682 * include/pupa/elf.h: Likewise.
21683 * include/pupa/err.h: Likewise.
21684 * include/pupa/file.h: Likewise.
21685 * include/pupa/font.h: Likewise.
21686 * include/pupa/fs.h: Likewise.
21687 * include/pupa/kernel.h: Likewise.
21688 * include/pupa/loader.h: Likewise.
21689 * include/pupa/misc.h: Likewise.
21690 * include/pupa/mm.h: Likewise.
21691 * include/pupa/net.h: Likewise.
21692 * include/pupa/normal.h: Likewise.
21693 * include/pupa/rescue.h: Likewise.
21694 * include/pupa/setjmp.h: Likewise.
21695 * include/pupa/symbol.h: Likewise.
21696 * include/pupa/term.h: Likewise.
21697 * include/pupa/types.h: Likewise.
21698 * include/pupa/i386/setjmp.h: Likewise.
21699 * include/pupa/i386/types.h: Likewise.
21700 * include/pupa/i386/pc/biosdisk.h: Likewise.
21701 * include/pupa/i386/pc/boot.h: Likewise.
21702 * include/pupa/i386/pc/console.h: Likewise.
21703 * include/pupa/i386/pc/init.h: Likewise.
21704 * include/pupa/i386/pc/kernel.h: Likewise.
21705 * include/pupa/i386/pc/linux.h: Likewise.
21706 * include/pupa/i386/pc/loader.h: Likewise.
21707 * include/pupa/i386/pc/memory.h: Likewise.
21708 * include/pupa/i386/pc/multiboot.h: Likewise.
21709 * include/pupa/i386/pc/partition.h: Likewise.
21710 * include/pupa/i386/pc/time.h: Likewise.
21711 * include/pupa/i386/pc/vga.h: Likewise.
21712 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
21713 * include/pupa/util/getroot.h: Likewise.
21714 * include/pupa/util/misc.h: Likewise.
21715 * include/pupa/util/resolve.h: Likewise.
21716 * kern/device.c: Likewise.
21717 * kern/disk.c: Likewise.
21718 * kern/dl.c: Likewise.
21719 * kern/err.c: Likewise.
21720 * kern/file.c: Likewise.
21721 * kern/fs.c: Likewise.
21722 * kern/loader.c: Likewise.
21723 * kern/main.c: Likewise.
21724 * kern/misc.c: Likewise.
21725 * kern/mm.c: Likewise.
21726 * kern/rescue.c: Likewise.
21727 * kern/term.c: Likewise.
21728 * kern/i386/dl.c: Likewise.
21729 * kern/i386/pc/init.c: Likewise.
21730 * kern/i386/pc/lzo1x.S: Likewise.
21731 * kern/i386/pc/startup.S: Likewise.
21732 * loader/i386/pc/chainloader.c: Likewise.
21733 * loader/i386/pc/linux.c: Likewise.
21734 * loader/i386/pc/multiboot.c: Likewise.
21735 * normal/cmdline.c: Likewise.
21736 * normal/command.c: Likewise.
21737 * normal/main.c: Likewise.
21738 * normal/menu.c: Likewise.
21739 * normal/i386/setjmp.S: Likewise.
21740 * term/i386/pc/console.c: Likewise.
21741 * term/i386/pc/vga.c: Likewise.
21742 * util/console.c: Likewise.
21743 * util/genmoddep.c: Likewise.
21744 * util/misc.c: Likewise.
21745 * util/pupa-emu.c: Likewise.
21746 * util/resolve.c: Likewise.
21747 * util/unifont2pff.rb: Likewise.
21748 * util/i386/pc/biosdisk.c: Likewise.
21749 * util/i386/pc/getroot.c: Likewise.
21750 * util/i386/pc/pupa-mkimage.c: Likewise.
21751 * util/i386/pc/pupa-setup.c: Likewise.
21752
e6eced71 217532004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
21754
21755 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
21756 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
21757 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
21758 reading and reset it after reading.
21759 (pupa_ext2_close): Return PUPA_ERR_NONE.
21760
21761 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
21762 Correct value.
21763 (struct linux_kernel_header): Add kernel_version and
21764 initrd_addr_max.
21765 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
21766 pupa_file_read succeeds.
21767 (pupa_rescue_cmd_initrd): Implement.
21768
5aded270 217692003-12-03 Marco Gerards <metgerards@student.han.nl>
21770
21771 * fs/ext2.c (pupa_ext2_label): New function.
21772 (pupa_ext2_fs): Added label.
21773 * fs/fat.c (pupa_fat_label): New function.
21774 (pupa_fat_fs): Added label.
21775 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
21776
21777 * kern/misc.c (pupa_strndup): New function.
21778 * include/pupa/misc.h (pupa_strndup): New prototype.
21779
21780 * include/pupa/normal.h: Include <pupa/err.h>.
21781 (pupa_set_history): New prototype.
21782 (pupa_iterate_commands): New prototype.
21783 * normal/cmdline.c: Include <pupa/machine/partition.h>,
21784 <pupa/disk.h>, <pupa/file.h>.
21785 (hist_size): New variable.
21786 (hist_lines): Likewise.
21787 (hist_end): Likewise.
21788 (hist_used): Likewise.
21789 (pupa_set_history): New function.
21790 (pupa_history_get): Likewise.
21791 (pupa_history_add): Likewise.
21792 (pupa_history_replace): Likewise.
21793 (pupa_tab_complete): Likewise.
21794 (pupa_cmdline_run): Added tab completion and history buffer. Tab
21795 completion shows partitionnames while completing partitions, this
21796 feature was suggested by Jeff Bailey.
21797 * normal/command.c (pupa_iterate_commands): New function.
21798 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
21799 (pupa_normal_init): Initialize history buffer.
21800 (PUPA_MOD_INIT): Likewise.
21801 (pupa_normal_fini): Free the history buffer.
21802 (PUPA_MOD_FINI): Likewise.
21803
21804 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
21805 key.
21806
21807 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
21808 * configure.ac [i386]: Check for regparam bug.
21809 (NESTED_FUNC_ATTR) [! i386]: Defined.
21810
1f7315a3 218112003-11-17 Marco Gerards <metgerards@student.han.nl>
21812
21813 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
21814 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
21815 (pupa_emu_SOURCES): New variable.
21816 (pupa_emu_LDFLAGS): Likewise.
21817 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
21818 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
21819 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
21820 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
21821 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
21822 (pupa_jmp_buf): New typedef.
21823 (pupa_setjmp) [PUPA_UTIL]: New macro.
21824 (pupa_longjmp) [PUPA_UTIL]: Likewise.
21825 * include/pupa/term.h (struct pupa_term): New member `refresh'.
21826 (pupa_refresh): New prototype.
21827 * include/pupa/util/getroot.h: New file.
21828 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
21829 it.
21830 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
21831 (pupa_rescue_cmd_cat): Likewise.
21832 (pupa_rescue_cmd_ls): Likewise.
21833 (pupa_rescue_cmd_testload): Likewise.
21834 (pupa_rescue_cmd_lsmod): Likewise.
21835 * normal/cmdline.c (pupa_cmdline_get): Likewise.
21836 * normal/menu.c (run_menu): Likewise.
21837 * kern/term.c (pupa_cls): Likewise.
21838 (pupa_refresh): New function.
21839 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
21840 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
21841 * util/console.c: New file.
f19dbdb7 21842
1f7315a3 21843 * util/i386/pc/getroot.c: New file.
21844 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
21845 (pupa_putchar): New function.
21846 (pupa_refresh): Likewise.
21847 (xgetcwd): Function moved to ...
21848 (strip_extra_slashes): Likewise.
21849 (get_prefix): Likewise.
f19dbdb7 21850 * util/i386/pc/getroot.c: ... here.
1f7315a3 21851 (find_root_device): Function moved and renamed to...
21852 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
21853 Changed all callers.
21854 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
21855 and renamed to...
21856 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
21857 Changed all callers.
21858 * util/misc.c (pupa_memalign): New function.
21859 (pupa_mm_init_region): Likewise.
21860 (pupa_register_exported_symbols): Likewise.
21861 (pupa_putchar): Function removed.
21862 * util/pupa-emu.c: New file.
21863
9a5c1ade 218642003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
21865
21866 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
21867 (_multiboot_mod_SOURCES): New variable.
21868 (_multiboot_mod_CFLAGS): Likewise.
21869 * loader/i386/pc/multiboot.c: New file.
21870 * include/pupa/i386/pc/multiboot.h: Likewise.
21871 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
21872 (pupa_multiboot_real_boot): New function.
21873 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
21874 (pupa_multiboot_real_boot): New prototype.
21875 (pupa_rescue_cmd_multiboot): Likewise
21876 (pupa_rescue_cmd_module): Likewise.
21877
21878 * kern/loader.c (pupa_loader_set): Continue when
21879 pupa_loader_unload_func() fails.
21880 (pupa_loader_unset): New function.
21881 * include/pupa/loader.h (pupa_loader_unset): New prototype.
21882
21883 * kern/misc.c (pupa_stpcpy): New function.
21884 * include/pupa/misc.h (pupa_stpcpy): New prototype.
21885
8e72a9c0 218862003-11-12 Marco Gerards <metgerards@student.han.nl>
21887
21888 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
21889 for available extensions.
21890
21891 * include/pupa/i386/pc/time.h: New file.
21892 * kern/disk.c: Include <pupa/machine/time.h>.
21893 (PUPA_CACHE_TIMEOUT): New macro.
21894 (pupa_last_time): New variable.
21895 (pupa_disk_open): Flush the cache when there was a timeout.
21896 (pupa_disk_close): Reset the timer.
21897 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
21898 pupa_currticks.
21899 * util/misc.c: Include <sys/times.h>
21900 (pupa_get_rtc): New function.
21901
c4adbd32 219022003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21903
21904 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
21905 as blocks.
21906 (pupa_ext2_get_file_block): Use blocks member.
21907
21908 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
21909 first block. Return -1 instead of pupa_errno on error.
21910
bfd30f06 219112003-10-27 Marco Gerards <metgerards@student.han.nl>
21912
21913 * README: In the pupa-mkimage example use _chain instead of chain
21914 and ext2 instead of fat.
21915 * TODO: Replace ext2fs with jfs as an example. Add an item for
21916 adding journal playback for ext2fs.
21917 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
21918 (pkgdata_MODULES): Added ext2.mod.
21919 (ext2_mod_SOURCES): New variable.
21920 (ext2_mod_CFLAGS): Likewise.
21921 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
21922 * include/pupa/misc.h (pupa_strncpy): New prototype.
21923 (pupa_strcat): Likewise.
21924 (pupa_strncmp): Likewise.
21925 * kern/misc.c (pupa_strcat): Enable function.
21926 (pupa_strncpy): New function.
21927 (pupa_strncmp): Likewise.
21928 * fs/ext2.c: New file.
f19dbdb7 21929
bfd30f06 21930 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
21931 when the read failed before retrying.
21932 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
21933 (_FILE_OFFSET_BITS): Likewise.
21934 * configure.ac: Added AC_SYS_LARGEFILE.
21935
98d15063 219362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21937
21938 * genmk.rb (PModule#rule): Make sure to get only symbol names
21939 from the output of nm.
21940 Reported by Robert Millan <zeratul2@wanadoo.es>.
21941
18d9c7cd 219422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21943
21944 I forgot to check in these changes for a long time. This adds
21945 incomplete support for VGA console, and this is still very
21946 buggy. Also, a lot of consideration is required for I18N,
21947 UNICODE, and VGA font issues. Therefore, assume that this is
21948 such that "better than nothing".
f19dbdb7 21949
18d9c7cd 21950 * font/manager.c: New file.
21951 * include/pupa/font.h: Likewise.
21952 * include/pupa/i386/pc/vga.h: Likewise.
21953 * term/i386/pc/vga.c: Likewise.
21954 * util/unifont2pff.rb: Likewise.
21955
21956 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
21957 (pkgdata_MODULES): Added vga.mod and font.mod.
21958 (vga_mod_SOURCES): New variables.
21959 (vga_mod_CFLAGS): Likewise.
21960 (font_mod_SOURCES): Likewise.
21961 (font_mod_CFLAGS): Likewise.
21962
21963 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
21964
21965 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 21966 (struct pupa_term): Added init and fini.
18d9c7cd 21967 Changed the argument of putchar to pupa_uint32_t.
21968
21969 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
21970 (pupa_console_real_putchar): New prototype.
21971 (pupa_console_putchar): Removed.
21972 (pupa_console_checkkey): Exported.
21973 (pupa_console_getkey): Likewise.
21974
21975 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
21976 characters.
21977
21978 * kern/term.c (pupa_term_set_current): Rewritten.
21979 (pupa_putchar): Likewise.
21980 (pupa_putcode): New function.
21981
21982 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
21983 (pupa_console_real_putchar): ... this.
21984 (pupa_vga_set_mode): New function.
21985 (pupa_vga_get_font): Likewise.
21986
21987 * normal/command.c: Include pupa/term.h.
21988 (terminal_command): New function.
21989 (pupa_command_init): Register the command "terminal".
21990
21991 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
21992 (DISP_UP): Likewise.
21993 (DISP_RIGHT): Likewise.
21994 (DISP_DOWN): Likewise.
21995 (DISP_HLINE): Likewise.
21996 (DISP_VLINE): Likewise.
21997 (DISP_UL): Likewise.
21998 (DISP_UR): Likewise.
21999 (DISP_LL): Likewise.
22000 (DISP_LR): Likewise.
22001
22002 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22003
977329f5 220042003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22005
22006 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22007 FIX. Reverse the path_list.
22008
22009 * include/pupa/normal.h: Export pupa_register_command and
22010 pupa_unregister_command.
22011
22012 * hello/hello.c (pupa_cmd_hello): New module.
22013 * conf/i386-pc.rmk: Added hello.mod.
22014
1f5ab428 220152003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22016
22017 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22018
1f5ab428 22019 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22020 (compress_kernel): New variable.
22021 (generate_image): Heavily modified to support compressing a
22022 large part of the core image.
22023
22024 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22025 leak.
22026 (pupa_util_load_image): New function.
22027
22028 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22029 (pupa_compressed_size): New variable.
22030 (codestart): Enable Gate A20 here.
22031 Decompress the compressed part of the core image.
22032 Rearrange the code to put functions and variables which are
22033 required for initialization in the non-compressed part.
22034 Include lzo1x.S.
22035
22036 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22037 here.
22038
22039 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22040
f19dbdb7 22041 * include/pupa/i386/pc/kernel.h
1f5ab428 22042 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22043 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22044 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22045 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22046 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22047
22048 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22049
22050 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22051 (Utility#rule): Likewise.
22052
22053 * configure.ac: Check if LZO is available.
22054
ce5bf700 220552003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22056
22057 * include/pupa/normal.h: New file.
22058 * include/pupa/setjmp.h: Likewise.
22059 * include/pupa/i386/setjmp.h: Likewise.
22060 * normal/cmdline.c: Likewise.
22061 * normal/command.c: Likewise.
22062 * normal/main.c: Likewise.
22063 * normal/menu.c: Likewise.
22064 * normal/i386/setjmp.S: Likewise.
f19dbdb7 22065
ce5bf700 22066 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
22067 (pupa_rescue_cmd_initrd): Likewise.
22068
22069 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
22070 Likewise.
22071
22072 * kern/i386/pc/startup.S (translation_table): New variable.
22073 (translate_keycode): New function.
22074 (pupa_console_getkey): Call translate_keycode.
22075
22076 * kern/rescue.c (attempt_normal_mode): New function.
22077 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
22078 it failed, print a message.
22079
22080 * kern/mm.c (pupa_real_malloc): Print more information when a
22081 free magic is broken.
22082 (pupa_free): If the first free header is not free actually, set
22083 it to P.
22084
22085 * kern/main.c (pupa_load_normal_mode): Just load the module
22086 "normal".
22087 (pupa_main): Don't print the message
22088 "Entering into rescue mode..." here.
22089
22090 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
22091 Declared.
22092 (pupa_rescue_cmd_initrd): Likewise.
22093 (pupa_rescue_cmd_initrd): Likewise.
22094
22095 * include/pupa/symbol.h (FUNCTION): Specify the type.
22096 (VARIABLE): Likewise.
22097
22098 * include/pupa/err.h (pupa_err_t): Added
22099 PUPA_ERR_UNKNOWN_COMMAND.
22100
22101 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
22102 (pupa_dl_get_prefix): Likewise.
22103
22104 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
22105 Added _chain.mod and _linux.mod instead of chain.mod and
22106 linux.mod.
22107 (chain_mod_SOURCES): Renamed to ...
22108 (_chain_mod_SOURCES): ... this.
22109 (chain_mod_CFLAGS): Renamed to ...
22110 (_chain_mod_CFLAGS): ... this.
22111 (linux_mod_SOURCES): Renamed to ...
22112 (_linux_mod_SOURCES): ... this.
22113 (linux_mod_CFLAGS): Renamed to ...
22114 (_linux_mod_CFLAGS): ... this.
22115 (normal_mod_SOURCES): New variable.
22116 (normal_mod_CFLAGS): Likewise.
22117 (normal_mod_ASFLAGS): Likewise.
22118
221192003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
22120
22121 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
22122 possible.
22123
fe6b695a 22124 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 22125 recursively.
22126 (pupa_dl_unref): Unrefer depending modules recursively.
22127 Don't call pupa_dl_unload implicitly, because PUPA can crash if
22128 a module is unloaded before one depending on that module is
22129 unloaded.
22130 (pupa_dl_unload): Unload depending modules explicitly,
22131 if possible.
22132
c04da074 221332003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
22134
22135 * include/pupa/i386/pc/linux.h: New file.
22136 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 22137
c04da074 22138 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
22139 Removed.
22140 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
22141 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
22142 of PUPA_CHAINLOADER_BOOT_SECTOR.
22143
22144 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
22145 (pupa_linux_prot_size): New variable.
22146 (pupa_linux_tmp_addr): Likewise.
22147 (pupa_linux_real_addr): Likewise.
22148 (pupa_linux_boot_zimage): New function.
22149 (pupa_linux_boot_bzimage): Likewise.
22150
22151 * kern/i386/pc/init.c (struct mem_region): New structure.
22152 (MAX_REGIONS): New macro.
22153 (mem_regions): New variable.
22154 (num_regions): Likewise.
22155 (pupa_os_area_addr): Likewise.
22156 (pupa_os_area_size): Likewise.
22157 (pupa_lower_mem): Likewise.
22158 (pupa_upper_mem): Likewise.
22159 (add_mem_region): New function.
22160 (compact_mem_regions): Likewise.
22161 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
22162 the size of the conventional memory and that of so-called upper
22163 memory (before the first memory hole).
22164 Instead of adding each found region to free memory, use
22165 add_mem_region and add them after removing overlaps.
22166 Also, add only 1/4 of the upper memory to free memory. The rest
22167 is used for loading OS images. Maybe this is ad hoc, but this
22168 makes it much easier to relocate OS images when booting.
22169
22170 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
22171 (pupa_enter_rescue_mode): Don't register initrd and module.
22172
22173 * kern/mm.c: Include pupa/dl.h.
22174
22175 * kern/main.c: Include pupa/file.h and pupa/device.h.
22176
22177 * kern/loader.c (pupa_loader_load_module_func): Removed.
22178 (pupa_loader_load_module): Likewise.
22179
22180 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
22181 ``.o''.
22182
22183 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
22184 (pupa_linux_tmp_addr): Likewise.
22185 (pupa_linux_real_addr): Likewise.
22186 (pupa_linux_boot_zimage): Likewise.
22187 (pupa_linux_boot_bzimage): Likewise.
22188
22189 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
22190 (pupa_upper_mem): Likewise.
22191 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
22192 module is too dangerous.
22193
22194 * include/pupa/loader.h (pupa_os_area_addr): Declared.
22195 (pupa_os_area_size): Likewise.
22196 (pupa_loader_set): Remove the first argument. Loader doesn't
22197 manage modules or initrd any longer.
22198 (pupa_loader_load_module): Removed.
22199
22200 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
22201 (linux_mod_SOURCES): New variable.
22202 (linux_mod_CFLAGS): Likewise.
22203
a13f9237 222042003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
22205
22206 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
22207 the length of a blocklist correctly.
22208
22209 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
22210 Use ioctl only if the OS file is a block device.
22211 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
22212 not very useful for normal files.
22213
22214 * kern/main.c (pupa_set_root_dev): New function.
22215 (pupa_load_normal_mode): Likewise.
22216 (pupa_main): Call those above.
22217
22218 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
22219 pupa_uint16_t.
22220
22221 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
22222
a5ffe966 222232003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22224
22225 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
22226 (setup): Configure the installed partition information and the
22227 dl prefix.
22228
22229 * loader/i386/pc/chainloader.c (my_mod): New variable.
22230 (pupa_chainloader_unload): New function.
22231 (pupa_rescue_cmd_chainloader): Refer itself.
22232 (PUPA_MOD_INIT): Save its own module in MY_MOD.
22233
22234 * kern/i386/pc/startup.S (install_partition): Removed.
22235 (version_string): Likewise.
22236 (config_file): Likewise.
22237 (pupa_install_dos_part): New variable.
22238 (pupa_install_bsd_part): Likewise.
22239 (pupa_prefix): Likewise.
22240 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
22241
22242 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
22243 and pupa/misc.h.
22244 (make_install_device): New function.
22245 (pupa_machine_init): Set the dl prefix.
22246
22247 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
22248 (buf): Renamed to ...
22249 (linebuf): ... this.
22250 (pupa_rescue_cmd_prefix): New function.
22251 (pupa_rescue_cmd_insmod): Likewise.
22252 (pupa_rescue_cmd_rmmod): Likewise.
22253 (pupa_rescue_cmd_lsmod): Likewise.
22254 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
22255 rmmod and lsmod.
22256
22257 * kern/mm.c (pupa_memalign): If failed even after invalidating
22258 disk caches, unload unneeded modules and retry.
22259
22260 * kern/misc.c (pupa_memmove): New function.
22261 (pupa_memcpy): Removed.
22262 (pupa_strcpy): New function.
22263 (pupa_itoa): Made static.
22264
22265 * kern/dl.c (pupa_dl_iterate): New function.
22266 (pupa_dl_ref): Likewise.
22267 (pupa_dl_unref): Likewise.
22268 (pupa_dl_unload): Return if succeeded or not.
22269 (pupa_dl_unload_unneeded): New function.
22270 (pupa_dl_unload_all): Likewise.
22271 (pupa_dl_init): Renamed to ...
22272 (pupa_dl_set_prefix): ... this.
22273 (pupa_dl_get_prefix): New function.
22274
22275 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
22276 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
22277 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22278 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22279 (pupa_install_dos_part): Declared.
22280 (pupa_install_bsd_part): Likewise.
22281 (pupa_prefix): Likewise.
22282 (pupa_boot_drive): Likewise.
22283
22284 * include/pupa/types.h: Fix a typo.
22285
22286 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
22287 pupa_memmove.
22288 (pupa_memmove): Declared.
22289 (pupa_strcpy): Likewise.
22290
22291 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
22292 pupa_mod_init takes one argument, its own module.
22293 (pupa_dl_unload_unneeded): Declared.
22294 (pupa_dl_unload_all): Likewise.
22295 (pupa_dl_ref): Likewise.
22296 (pupa_dl_unref): Likewise.
22297 (pupa_dl_iterate): Likewise.
22298 (pupa_dl_init): Renamed to ...
22299 (pupa_dl_set_prefix): ... this.
22300 (pupa_dl_get_prefix): Declared.
22301
22302 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 22303 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 22304 unloaded.
22305 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
22306 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
22307
22308 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
22309 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
22310
012d7999 223112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22312
22313 * util/i386/pc/pupa-setup.c (setup): Define the internal
22314 function find_first_partition_start at the top level, because GCC
22315 3.0.x cannot compile internal functions in deeper scopes
22316 correctly.
22317 (find_root_device): Use lstat instead of stat.
22318 Don't follow symbolic links.
22319 Fix the path-constructing code.
22320
22321 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
22322 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
22323 by a BLKGETSIZE ioctl first, because block devices don't fill
22324 the member st_mode of the structure stat on Linux.
22325 [__linux__] (linux_find_partition): Use a temporary buffer
22326 REAL_DEV for the working space. Copy it to DEV before returning.
22327 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
22328 buffer cache consistent.
22329 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
22330 strncmp. The previous value was merely wrong.
22331 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
22332
22333 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
22334 FAT size is 12. The previous value was merely wrong.
22335
22336 * kern/main.c (pupa_main): Don't split the starting message from
22337 newlines.
22338
22339 * kern/term.c (pupa_putchar): Put CR after LF instead of before
22340 LF, because BIOS goes crazy about character attributes in this
22341 case.
22342
1cc73a62 223432003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22344
22345 * include/i386/pc/util/biosdisk.h: New file.
22346 * util/i386/pc/biosdisk.c: Likewise.
22347 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 22348
1cc73a62 22349 * Makefile.in (INCLUDE_DISTFILES): Added
22350 include/pupa/i386/pc/util/biosdisk.h.
22351 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
22352 directory util/i386/pc.
22353 (install-local): Added a rule for sbin_UTILITIES.
22354 (uninstall): Likewise.
22355
22356 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
22357
22358 * util/misc.c (xrealloc): New function.
22359 (pupa_malloc): Likewise.
22360 (pupa_free): Likewise.
22361 (pupa_realloc): Likewise.
22362 (pupa_stop): Likewise.
22363 (pupa_putchar): Likewise.
22364
22365 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
22366
22367 * include/pupa/util/misc.h (xrealloc): Declared.
22368
22369 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
22370 macro.
22371 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
22372 (PUPA_BOOT_MACHINE_BPB_END): ... this.
22373
22374 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
22375 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22376
22377 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
22378 way should be implemented.
22379 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22380
22381 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
22382 the size of NAME for safety.
22383 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
22384 0x88.
22385
22386 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
22387 (pupa_setup_SOURCES): Likewise.
22388
22389 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
22390
08b70fe8 223912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22392
22393 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
22394 bunch of pushl's from pusha, because this destroys the return
22395 value.
22396
62ddcc8f 223972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22398
22399 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
22400 This means that any missing prototypes could be fatal. Also, you
22401 must take care when writing assembly code. See the comments at
22402 the beginning of startup.S, for more details.
f19dbdb7 22403
62ddcc8f 22404 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
22405 compilation mechanism.
22406 (pupa_chainloader_real_boot): Likewise.
22407 (pupa_biosdisk_rw_int13_extensions): Likewise.
22408 (pupa_biosdisk_rw_standard): Likewise.
22409 (pupa_biosdisk_check_int13_extensions): Likewise.
22410 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
22411 (pupa_biosdisk_get_diskinfo_standard): Likewise.
22412 (pupa_get_memsize): Likewise.
22413 (pupa_get_mmap_entry): Likewise.
22414 (pupa_console_putchar): Likewise.
22415 (pupa_console_setcursor): Likewise.
22416 (pupa_getrtsecs): Use pushl instead of push.
22417
22418 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
22419 memory instead of the stack for a mmap entry, because some
22420 BIOSes may ignore the maximum size and overflow.
22421
22422 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
22423
22424 * genmk.rb (PModule#rule): Compile automatically generated
22425 sources with module-specific CFLAGS as well as other sources.
22426
9962ed99 224272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22428
22429 * configure.ac: Check ld.
22430 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
22431 respectively, before checking endianness and sizes.
22432
22433 * Makefile.in (LD): New variable.
f19dbdb7 22434
abdfc3c5 224352002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22436
22437 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
22438
6a161fa9 224392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22440
22441 * Changelog: New file.
22442