]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
cbca0ada
VS
12010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Fix any-emu compilation.
4
5 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
6 * grub_bin2h_SOURCES: New variable.
7
34a66d99
RM
82010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9
10 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11
94fabf58
RM
122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13
14 * util/grub.d/00_header.in: Fix handling of locale_dir.
15
02cf98ca
VS
162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19 as possible unifont location (Gentoo).
20 Reported by: Alexander BrĂ¼ning
21
327dbcd7
VS
222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23
24 Don't try to generate lists for kernel.img.
25
26 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27 (pkglib_MODULES): Remove kernel.img.
28 (kernel_img_EXPORTS): Removed.
29 (kernel_img_RELOCATABLE): New variable.
30 * conf/x86_64-efi.rmk: Likewise.
31 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
32
ca467290
VS
332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
36 grub_xasprintf or grub_snprintf.
37 (grub_vsprintf): Likewise.
38 (grub_snprintf): New proto.
39 (grub_vsnprintf): Likewise.
40 (grub_xasprintf): Likewise.
41 (grub_xvasprintf): Likewise.
42 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
43 (grub_sprintf): Removed.
44 (grub_vsnprintf): New function.
45 (grub_snprintf): Likewise.
46 (grub_xvasprintf): Likewise.
47 (grub_xasprintf): Likewise.
48 (grub_vsprintf): Renamed to ...
49 (grub_vsnprintf_real): ...this. New argument max_len.
50
aca655fd
BC
512010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
52
53 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
54 fix grub-script-check warning.
55
7ee92c32
VS
562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * include/grub/font.h (grub_font_load): Fix prototype.
59
f80927ca
VS
602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
63
119c50ea
VS
642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/x86_64/at_keyboard.h: New file.
67
47d5f3c1
VS
682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * loader/mips/linux.c: Include missing grub/i18n.h.
71
55ff5266
RM
722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
73
74 * normal/menu.c (notify_execution_failure): Clarify error message.
75
c893cc87
RM
762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
77
78 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
79 return value (and revert all return statements). Update users.
80
917dd370
CW
812010-01-20 Dan Merillat <debian@dan.merillat.org>
82
83 * kern/device.c (grub_device_iterate): Allocate new part_ent
84 structure based on sizeof (*p) rather than sizeof (p->next), to
85 account for structure padding.
86
87 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
88 disk is NULL, which might happen for LVM physical volumes with no
89 LVM signature.
90
d4a4ee57
RM
912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
92
93 * loader/mips/linux.c (grub_cmd_initrd)
94 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
95
962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
97
98 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
99 (grub_video_video_init, grub_video_bitmap_init)
100 (grub_font_manager_init, grub_term_gfxterm_init)
101 (grub_at_keyboard_init): New extern declarations.
102 (grub_machine_init): Initialize gfxterm and at_keyboard.
103
104 * kern/main.c (grub_main): Revert grub_printf delay kludge.
105
106 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
107 `gfxterm.mod' into core image.
108
109 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
110 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
111 (kernel_img_FORMAT): Copy to ...
112
113 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
114 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
115 (kernel_img_FORMAT): ... here, and ...
116
117 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
118 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
119 (kernel_img_FORMAT): ... here.
120
121 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
122 and input (at_keyboard) terminals in kernel.
123 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
124
125 (pkglib_MODULES): Remove `pci.mod'.
126 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
127 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
128 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
129 (at_keyboard_mod_LDFLAGS): Remove variables.
130
1312010-01-11 Felix Zielcke <fzielcke@z-51.de>
132
133 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
134
1352009-12-10 Robert Millan <rmh.grub@aybabtu.com>
136
137 * include/grub/mips/libgcc.h: Only export symbols for functions
138 that libgcc provides.
139
1402009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
141
142 MIPS support.
143
144 * bus/bonito.c: New file.
145 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
146 GRUB_PCI_NUM_DEVICES.
147 * term/i386/pc/serial.c: Move to ...
148 * term/serial.c: ... here. All users updated.
149 * util/i386/pc/grub-mkimage.c: Move to ...
150 * util/grub-mkrawimage.c: ... here. All users updated.
151 * term/i386/pc/at_keyboard.c: Move to ...
152 * term/at_keyboard.c: ... here. All users updated.
153 * conf/mips-qemu-mips.rmk: New file.
154 * conf/mips-yeeloong.rmk: Likewise.
155 * conf/mips.rmk: Likewise.
156 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
157 mipsel-qemu-mips.
158 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
159 to port addresses.
160 (grub_ata_pciinit): Support CS5536.
161 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
162 * font/font_cmd.c (loadfont_command): Open file before passing it to
163 grub_font_load.
164 (pseudo_file_read): New function.
165 (pseudo_file_close): Likewise.
166 (pseudo_fs): New structure.
167 (load_font_module): New function.
168 (GRUB_MOD_INIT(font_manager)): Load embedded font.
169 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
170 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
171 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
172 * include/grub/i386/at_keyboard.h: Split into ...
173 * include/grub/at_keyboard.h: ... this ...
174 * include/grub/i386/at_keyboard.h: ... and this.
175 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
176 New prototype.
177 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
178 updated.
179 (grub_elf64_size): Likewise.
180 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
181 filename.
182 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
183 * include/grub/i386/coreboot/serial.h: Rewritten.
184 * include/grub/i386/ieee1275/serial.h: Include
185 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
186 * include/grub/i386/pc/serial.h: Moved from here ...
187 * include/grub/serial.h: ... to here. All users updated.
188 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
189 (GRUB_PCI_NUM_BUS): Likewise.
190 (GRUB_PCI_NUM_DEVICES): Likewise.
191 (grub_pci_device_map_range): Add missing volatile keyword.
192 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
193 * include/grub/mips/at_keyboard.h: New file.
194 * include/grub/mips/cache.h: Likewise.
195 * include/grub/mips/io.h: Likewise.
196 * include/grub/mips/kernel.h: Likewise.
197 * include/grub/mips/libgcc.h: Likewise.
198 * include/grub/mips/pci.h: Likewise.
199 * include/grub/mips/qemu-mips/boot.h: Likewise.
200 * include/grub/mips/qemu-mips/kernel.h: Likewise.
201 * include/grub/mips/qemu-mips/loader.h: Likewise.
202 * include/grub/mips/qemu-mips/memory.h: Likewise.
203 * include/grub/mips/qemu-mips/serial.h: Likewise.
204 * include/grub/mips/qemu-mips/time.h: Likewise.
205 * include/grub/mips/relocator.h: Likewise.
206 * include/grub/mips/time.h: Likewise.
207 * include/grub/mips/types.h: Likewise.
208 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
209 * include/grub/mips/yeeloong/boot.h: Likewise.
210 * include/grub/mips/yeeloong/kernel.h: Likewise.
211 * include/grub/mips/yeeloong/loader.h: Likewise.
212 * include/grub/mips/yeeloong/memory.h: Likewise.
213 * include/grub/mips/yeeloong/pci.h: Likewise.
214 * include/grub/mips/yeeloong/serial.h: Likewise.
215 * include/grub/mips/yeeloong/time.h: Likewise.
216 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
217 * kern/elf.c (grub_elf32_size): New parameter. All users
218 updated.
219 (grub_elf64_size): Likewise.
220 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
221 Load modules before saying "Welcome to GRUB!".
222 Call grub_refresh after saying "Welcome to GRUB!".
223 * kern/mips/cache.S: New file.
224 * kern/mips/cache_flush.S: Likewise.
225 * kern/mips/dl.c: Likewise.
226 * kern/mips/init.c: Likewise.
227 * kern/mips/qemu-mips/init.c: Likewise.
228 * kern/mips/startup.S: Likewise.
229 * kern/mips/yeeloong/init.c: Likewise.
230 * kern/term.c (grub_putcode): Handle NULL terminal.
231 (grub_getcharwidth): Likewise.
232 (grub_getkey): Likewise.
233 (grub_checkkey): Likewise.
234 (grub_getkeystatus): Likewise.
235 (grub_getxy): Likewise.
236 (grub_getwh): Likewise.
237 (grub_gotoxy): Likewise.
238 (grub_cls): Likewise.
239 (grub_setcolorstate): Likewise.
240 (grub_setcolor): Likewise.
241 (grub_getcolor): Likewise.
242 (grub_refresh): Likewise.
243 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
244 (write_jump): Add hatch nop.
245 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
246 * lib/mips/setjmp.S: New file.
247 * loader/mips/linux.c: Likewise.
248 * term/i386/pc/at_keyboard.c: Move from here ...
249 * term/at_keyboard.c: ... to here.
250 * term/i386/pc/serial.c: Moved from here ...
251 * term/serial.c: ... to here. All users updated.
252 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
253 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
254 (serial_translate_key_sequence): Avoid deadlock.
255 (grub_serial_getkey): Handle backspace.
256 (grub_serial_putchar): Fix newline handling.
257 * util/i386/pc/grub-mkimage.c: Move from here ...
258 * util/grub-mkrawimage.c: ... to here. All users updated.
259 (generate_image): New parameters 'font_path' and 'format'.
260 Support embedding font.
261 Use grub_host_to_target* instead of grub_cpu_to_le*.
262 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
263 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
264 (options): New option "--font".
265 (usage): Likewise.
266 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
267 (main): Handle "--font".
268 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
269 (grub_virtual_screen_setup): Set bg_color_display.
270 (redraw_screen_rect): Use bg_color_display instead of incorrect
271 bg_color.
272 (grub_gfxterm_cls): Likewise.
273 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
274 Support embedding config file.
275 (add_segments): Likewise.
276 (options): New option "--config".
277 (main): Handle "--config".
278 * video/sm712.c: New file.
279
25c2b5b3
RM
2802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
281
282 Fix parallel builds.
283
284 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
285 font.c depend on ascii.h).
286
2872010-01-12 Carles Pina i Estany <carles@pina.cat>
288
289 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
290
2912010-01-11 Carles Pina i Estany <carles@pina.cat>
292
293 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
294 By default: disabled.
295 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
296 parameter.
297
2982010-01-10 Carles Pina i Estany <carles@pina.cat>
299
300 * font/font.c: Update copyright years.
301 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
302
3032010-01-10 Carles Pina i Estany <carles@pina.cat>
304
305 * font/font.c: Include `ascii.h'.
306 (ASCII_BITMAP_SIZE): New macro.
307 (ascii_font_glyph): Define.
308 (ascii_glyph_lookup): New function.
309 (grub_font_get_string_width): Change comment. If glyph not found, use
310 ascii_glyph_lookup.
311 (grub_font_get_glyph_with_fallback): If glyph not available returns
312 ascii_glyph_lookup.
313 * util/grub-mkfont.c (file_formats): New enum.
314 (options): Add `ascii-bitmaps' new option.
315 (usage): Add `asii-bitmaps' new option.
316 (write_font_ascii_bitmap): New function.
317 (write_font): Rename to ...
318 (write_font_p2): ... this. Remove print_glyphs call.
319 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
320 used. Call print_glyphs.
321 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
322
3232010-01-14 Robert Millan <rmh.grub@aybabtu.com>
324
325 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
326 (grub_bin2h_SOURCES): New variable.
327 * util/bin2h.c: New file.
328
915fc1b8
VS
3292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * include/multiboot.h: Resynced with spec.
332 * include/multiboot2.h: Likewise.
333 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
334 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
335
9444b678
RM
3362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
337
338 * include/grub/term.h (grub_term_register_input,
339 grub_term_register_output): Check return of terminal init()
340 routines, and abort if errors are raised.
341
342 * commands/terminal.c: Update copyright year.
343
cba98e8d
RM
3442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
345
346 * commands/terminal.c (grub_cmd_terminal_input)
347 (grub_cmd_terminal_output): Check return of terminal init()
348 routines, and abort if errors are raised.
349
6f7db5d6
VS
3502010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * include/grub/i386/bsd.h: Fix include pathes.
353
262bff8d
VS
3542010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
355
356 Add missing *BSD copyright headers.
357
358 * include/grub/aout.h: Add BSD licence.
359 * include/grub/i386/bsd.h: Parts under different licences moved to ...
360 * include/grub/i386/freebsd_linker.h: ... here,
361 * include/grub/i386/freebsd_reboot.h: ... here,
362 * include/grub/i386/netbsd_bootinfo.h: ... here,
363 * include/grub/i386/netbsd_reboot.h: ... here,
364 * include/grub/i386/openbsd_bootarg.h: ... here,
365 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
366 licence to each file.
367
b2cab848
RM
3682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
369
370 * acinclude.m4: Remove `nop' assembly instruction; it's not
371 implemented by all architectures.
372
2cb6be4b
RM
3732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
374
375 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
376 ELILO. This is no longer necessary.
377
a2eaee15
BC
3782010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
379
380 Added new tool, grub-scrit-check to verify grub.cfg syntax.
381
382 * util/grub-script-check.c: grub-script-check tool.
383 * conf/common.rmk: Make rules for grub-script-check.
384
88d17012
RM
3852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
386
387 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
388 spotting it back in 2008. Shame on me for forgetting he did.
389
390 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
391
8040619d
RM
3922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
393
394 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
395 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
396 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
397 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
398 (GRUB_VIDEO_TYPE_EFI): Rename to ...
399 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
400
a0c2a0f6
RM
4012010-01-17 Robert Millan <rmh.grub@aybabtu.com>
402
403 * include/grub/test.h: Add license header.
404 * tests/example_functional_test.c: Likewise.
405 * tests/example_unit_test.c: Likewise.
406 * tests/lib/functional_test.c: Likewise.
407 * tests/lib/test.c: Likewise.
408 * tests/lib/unit_test.c: Likewise.
409
b0b13907
VS
4102010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Use flag-based instead of hook-based video mode selection and "auto"
413 keyword.
414
415 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
416 (grub_video_set_mode): Changed prototype. All users updated.
417 (grub_video_check_mode_flag): New inline function.
418 * video/video.c (parse_modespec): New function.
419 (grub_video_set_mode): Parse flags and keywords.
420
ea379330 4212010-01-17 Carles Pina i Estany <carles@pina.cat>
422
423 * util/misc.c (grub_util_info): Fix the order of the parameters in a
424 fprintf call.
425
e15c215e
FZ
4262010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
427
428 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
429
409ae1c9 4302010-01-16 Carles Pina i Estany <carles@pina.cat>
431
432 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
433 string.
434 * util/grub-emu.c (usage): Likewise.
435 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
436 * util/i386/efi/grub-mkimage.c (usage): Likewise.
437 * util/i386/pc/grub-mkimage.c (usage): Likewise.
438 * util/i386/pc/grub-setup.c (usage): Likewise.
439
70a14d3d 4402010-01-16 Carles Pina i Estany <carles@pina.cat>
441
442 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
443 the message.
444 (grub_util_info): Likewise.
445 (grub_util_error): Likewise.
446 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
447 and/or new lines in `grub_util_warna', `grub_util_info',
448 `grub_util_error' calls.
449 * util/getroot.c: Likewise.
450 * util/grub-editenv.c: Likewise.
451 * util/grub-emu.c: Likewise.
452 * util/grub-fstest.c: Likewise.
453 * util/grub-mkdevicemap.c: Likewise.
454 * util/grub-mkfont.c: Likewise.
455 * util/grub-mkpasswd-pbkdf2.c: Likewise.
456 * util/grub-mkrelpath.c: Likewise.
457 * util/grub-pe2elf.c: Likewise.
458 * util/grub-probe.c: Likewise.
459 * util/hostdisk.c: Likewise.
460 * util/i386/efi/grub-mkimage.c: Likewise.
461 * util/i386/pc/grub-mkimage.c: Likewise.
462 * util/i386/pc/grub-setup.c: Likewise.
463 * util/ieee1275/ofpath.c: Likewise.
464 * util/mkisofs/eltorito.c: Likewise.
465 * util/mkisofs/rock.c: Likewise.
466 * util/mkisofs/write.c: Likewise.
467 * util/raid.c: Likewise.
468 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
469 * util/sparc64/ieee1275/grub-setup.c: Likewise.
470
a0b766fc
VS
4712010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
472
473 Enable multiboot on non-pc.
474
475 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
476 multiboot.mod and multiboot2.mod to ...
477 * conf/i386.rmk (pkglib_MODULES): ... here.
478 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
479 Moved to ...
480 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
481 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
482 Moved to ...
483 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
484 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
485 Moved to ...
486 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
487 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
488 Moved to ...
489 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
490 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
491 relocator.mod.
492 (ata_mod_SOURCES): Removed.
493 (ata_mod_CFLAGS): Likewise.
494 (ata_mod_LDFLAGS): Likewise.
495 (relocator_mod_SOURCES): Removed.
496 (relocator_mod_CFLAGS): Likewise.
497 (relocator_mod_ASFLAGS): Likewise.
498 (relocator_mod_LDFLAGS): Likewise.
499 Include i386.mk.
500 * include/grub/x86_64/multiboot.h: New file.
501 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
502 Terminate EFI.
503
884ade56
VS
5042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
505
506 Video multiboot support.
507
508 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
509 New prototype.
510 * include/multiboot.h: Resynced with multiboot specification.
511 * include/multiboot2.h: Likewise.
512 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
513 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
514 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
515 (HAS_VGA_TEXT): Likewise.
516 (accepts_video): New variable.
517 (grub_multiboot_set_accepts_video): New function.
518 (grub_multiboot_get_mbi_size): Account for video structures.
519 (set_video_mode): New function.
520 (retrieve_video_parameters): Likewise.
521 (grub_multiboot_make_mbi): Fill video fields.
522
0d90e8a6
VS
5232010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
524
525 Video driver ids.
526
527 * include/grub/video.h (grub_video_driver_id): New type.
528 (grub_video_adapter): New member 'id'. All users updated.
529 (grub_video_get_driver_id): New proto.
530 * video/video.c (grub_video_get_driver_id): New function.
531
5c71db1b 5322010-01-14 Carles Pina i Estany <carles@pina.cat>
533
534 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
535 `var=val'.
536
cca15b52 5372010-01-14 Carles Pina i Estany <carles@pina.cat>
538
539 * normal/cmdline.c (print_completion): Gettextizze.
540
c586fbb2 5412001-01-14 Carles Pina i Estany <carles@pina.cat>
542
543 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
544
ba2f6848 5452010-01-14 Carles Pina i Estany <carles@pina.cat>
546
547 * gettext/gettext.c (grub_gettext_translate): Push and pop
548 grub_errno.
549 (grub_gettext_delete_list): Change comment style.
550 * kern/err.c (grub_error): Gettextizze.
551 (grub_fatal): Gettextizze.
552
0a46429a
RM
5532010-01-14 Robert Millan <rmh.grub@aybabtu.com>
554
555 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
556 (grub_linux16_real_boot): ... this.
557 * kern/i386/loader.S: Likewise.
558 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
559 (grub_linux16_boot): New function. Switches to text mode and calls
560 grub_linux16_real_boot().
561
562 * loader/i386/bsd.c: Include `<grub/video.h>'.
563 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
564 text mode before calling grub_unix_real_boot().
565
566 * loader/i386/multiboot.c: Include `<grub/video.h>'.
567 (grub_multiboot_boot): Switch to text mode before calling
568 grub_relocator32_boot().
569
570 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
571 (grub_chainloader_boot): Switch to text mode before calling
572 grub_chainloader_real_boot().
573
d6f93a66
RM
5742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5752010-01-05 Colin Watson <cjwatson@ubuntu.com>
576
577 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
578 non-empty value.
579
5802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5812010-01-05 Colin Watson <cjwatson@ubuntu.com>
582
583 * util/grub.d/00_header.in: Define a "savedefault" function for use
584 in menu entries.
585 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
586
5872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5882010-01-05 Colin Watson <cjwatson@ubuntu.com>
589
590 * util/grub-mkconfig_lib.in (save_default_entry): Only set
591 saved_entry if boot_once is unset.
592 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
593 previous saved entry (i.e. grub-reboot).
594
5952009-12-08 Colin Watson <cjwatson@ubuntu.com>
596
597 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
598
5992009-12-08 Colin Watson <cjwatson@ubuntu.com>
600
601 * util/grub.d/00_header.in: Use `set var=val' rather than plain
602 `var=val'.
603 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
604
6052009-12-08 Colin Watson <cjwatson@ubuntu.com>
606
607 * util/grub-reboot.in: Fix --version output.
608 * util/grub-set-default.in: Likewise.
609
6102009-12-08 Colin Watson <cjwatson@ubuntu.com>
611
612 * util/grub.d/00_header.in: Silently ignore zero-sized environment
613 blocks.
614
6152009-12-08 Colin Watson <cjwatson@ubuntu.com>
616
617 * util/grub.d/00_header.in: Quote the value assigned to `default',
618 in case it contains spaces.
619
6202009-12-08 Colin Watson <cjwatson@ubuntu.com>
621
622 * util/grub.d/30_os-prober.in: Fix merge error that moved a
623 `save_default_entry' call from the macosx case to the linux case.
624
6252009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6262009-10-25 Colin Watson <cjwatson@ubuntu.com>
627
628 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
629 in `chosen' environment variable.
630 * normal/menu_text.c (get_entry_number): Check if the variable
631 matches the title of a menu entry.
632 (run_menu): Pass menu to get_entry_number.
633
634 * util/grub-reboot.in: New file.
635 * util/grub-set-default.in: New file.
636 * conf/common.rmk (grub-reboot): New utility.
637 (grub-set-default): New utility.
638
639 * util/grub-mkconfig_lib.in (save_default_entry): New function.
640 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
641 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
642 move it to `saved_entry' for the next boot. Load environment on
643 initialisation.
644 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
645 * util/grub.d/10_hurd.in: Likewise.
646 * util/grub.d/10_linux.in (linux_entry): Likewise.
647 * util/grub.d/10_windows.in: Likewise.
648 * util/grub.d/30_os-prober.in: Likewise.
649
650 * util/grub-install.in: Create environment block.
651 * util/i386/efi/grub-install.in: Likewise.
652 * util/ieee1275/grub-install.in: Likewise.
653 * util/sparc64/ieee1275/grub-install.in: Likewise.
654
0934d184
BC
6552010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
656
657 Unit testing framework for GRUB.
658
659 * Makefile.in: Test framework build rules for 'make check'.
660 * conf/tests.rmk: Build rules for individual tests and framework.
661
662 * include/grub/test.h: Header file for whitebox tests.
663 * tests/lib/functional_test.c: Framework support for whitebox
664 functional tests.
665 * tests/lib/test.c: Common whitebox testing code for unit and
666 functional tests.
667 * tests/lib/unit_test.c: Framework support for whitebox unit
668 tests.
669
670 * tests/util/grub-shell-tester.in: Support utility for grub-script
671 tests.
672 * tests/util/grub-shell.in: Utility to execute grub-script
673 commands in a Qemu instance.
674
675 * tests/example_functional_test.c: Example whitebox functional
676 test.
677 * tests/example_grub_script_test.in: Example grub-script test.
678 * tests/example_scripted_test.in: Example scripted test.
679 * tests/example_unit_test.c: Example whitebox unit test.
680
9c4ffeeb
VS
6812010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
684 Add loader/i386/multiboot_mbi.c.
685 (multiboot2_mod_SOURCES): Likewise.
686 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
687 (multiboot2_mod_SOURCES): Likewise.
688 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
689 (grub_multiboot_make_mbi): Likewise.
690 (grub_multiboot_free_mbi): Likewise.
691 (grub_multiboot_init_mbi): Likewise.
692 (grub_multiboot_add_module): Likewise.
693 (grub_multiboot_set_bootdev): Likewise.
694 * loader/i386/multiboot.c (mbi): Removed.
695 (mbi_dest): Likewise.
696 (alloc_mbi): New variable.
697 (grub_multiboot_payload_size): Removed. All users updated.
698 (grub_multiboot_pure_size): New variable.
699 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
700 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
701 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
702 (grub_fill_multiboot_mmap): Likewise.
703 (grub_multiboot_get_bootdev): Likewise.
704 (grub_multiboot): Use multiboot_mbi functions.
705 * loader/i386/multiboot_mbi.c: New file.
706
17383dfe
VS
7072010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
710 it would result in module crash.
711
c1f28820
VS
7122010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
715 (grub_ofconsole_getwh): Split to ...
716 (grub_ofconsole_getwh): ... this.
717 (grub_ofconsole_dimensions): ...and this.
718 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
719
58655a16
RM
7202010-01-13 Robert Millan <rmh.grub@aybabtu.com>
721
722 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
723
10891398
VS
7242010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * loader/i386/pc/multiboot2.c: Removed stalled file.
727
0b8a223c
VS
7282010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
731 Reported by: Grégoire Sutre
732
92ab12b0
RM
7332010-01-11 Robert Millan <rmh.grub@aybabtu.com>
734
735 * util/misc.c (canonicalize_file_name): New function.
736 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
737 instead of realpath().
738
a788afb6
CW
7392010-01-11 Colin Watson <cjwatson@ubuntu.com>
740
741 * util/grub-install.in (usage): Clarify meaning of --root-directory,
742 and make it clearer that it's optional. Based on confusion
743 witnessed on IRC.
744
ffa8e3d2
VS
7452010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
748 in premature implicit newline.
749
e9060a9d
VS
7502010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
753 which resulted in garbled command line at the end of screen.
754
f0d0c0b7
RM
7552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
756
757 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
758 initialization with similar approach as with other Linux loaders.
759
0e60bae7
RM
7602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
761
762 Fix i386-ieee1275 build.
763
764 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
765 and grub_term_height() for video_{width,height} initialization.
766
7672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
768
769 Fix grub-emu build.
770
771 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
772
cdb3f378
RM
7732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7742010-01-09 Robert Millan <rmh.grub@aybabtu.com>
775
776 Support for multiple terminals.
777
778 * Makefile.in (pkglib_DATA): terminal.lst.
779 (terminal.lst): New target.
780 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
781 (GRUB_MOD_INIT(handler)): Likewise.
782 (GRUB_MOD_FINI(handler)): Likewise.
783 * commands/help.c (grub_cmd_help): Handle multiple terminals.
784 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
785 * commands/sleep.c (do_print): Use grub_term_restore_pos.
786 (grub_cmd_sleep): Use grub_term_save_pos.
787 * commands/terminal.c: New file.
788 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
789 commands/terminal.c and lib/charset.c.
790 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
791 (pkglib_MODULES): Add terminal.mod.
792 (terminal_mod_SOURCES): New variable.
793 (terminal_mod_CFLAGS): Likewise.
794 (terminal_mod_LDFLAGS): Likewise.
795 * genhandlerlist.sh: Don't handle terminals.
796 * genmk.rb: Generate terminal-*.lst.
797 * genterminallist.sh: New file.
798 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
799 (grub_is_valid_utf8): Likewise.
800 (grub_utf8_to_ucs4_alloc): Likewise.
801 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
802 (grub_menu_register_viewer): Changed argument.
803 (grub_menu_try_text): New proto.
804 (grub_gfxmenu_try_hook): New declaration.
805 * include/grub/normal.h (grub_normal_exit_level): New declaration.
806 (grub_menu_init_page): Additional argument term.
807 (grub_normal_init_page): Likewise.
808 (grub_cmdline_get): Arguments simplified.
809 (grub_utf8_to_ucs4_alloc): Removed.
810 (grub_print_ucs4): Additional argument term.
811 (grub_getstringwidth): Likewise.
812 (grub_print_message_indented): Likewise.
813 (grub_menu_text_register_instances): New proto.
814 (grub_show_menu): Likewise.
815 (read_terminal_list): Likewise.
816 (grub_set_more): Likewise.
817 * include/grub/parser.h: Include handler.h.
818 * include/grub/reader.h: Rewritten.
819 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
820 (GRUB_TERM_WIDTH): Changed to function.
821 (GRUB_TERM_HEIGHT): Likewise.
822 (GRUB_TERM_BORDER_WIDTH): Likewise.
823 (GRUB_TERM_BORDER_HEIGHT): Likewise.
824 (GRUB_TERM_NUM_ENTRIES): Likewise.
825 (GRUB_TERM_ENTRY_WIDTH): Likewise.
826 (GRUB_TERM_CURSOR_X): Likewise.
827 (grub_term_input_class): Likewise.
828 (grub_term_output_class): Likewise.
829 (grub_term_outputs_disabled): New declaration.
830 (grub_term_inputs_disabled): Likewise.
831 (grub_term_outputs): Likewise.
832 (grub_term_inputs): Likewise.
833 (grub_term_register_input): Rewritten.
834 (grub_term_register_output): Likewise.
835 (grub_term_unregister_input): Likewise.
836 (grub_term_unregister_output): Likewise.
837 (FOR_ACTIVE_TERM_INPUTS): New macro.
838 (FOR_DISABLED_TERM_INPUTS): Likewise.
839 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
840 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
841 * include/grub/terminfo.h: Add oterm argument to all protypes.
842 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
843 Use grub_rescue_run.
844 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
845 All users updated.
846 * kern/reader.c: Removed. All users updated.
847 * kern/rescue_reader.c (grub_rescue_init): Removed.
848 (grub_rescue_reader): Likewise.
849 (grub_register_rescue_reader): Likewise.
850 (grub_rescue_run): New function based on kern/reader.c.
851 * kern/term.c: Adapted for multiterm.
852 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
853 (grub_is_valid_utf8): Likewise.
854 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
855 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
856 right terminal.
857 * loader/i386/linux.c (grub_linux_boot): Likewise.
858 * normal/auth.c (grub_username_get): New function.
859 (grub_auth_check_authentication): Use grub_username_get.
860 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
861 * normal/color.c: Adapt for multiterm.
862 * normal/main.c (read_config_file): Don't use grub_reader_loop.
863 (grub_normal_init_page): Additional argument term.
864 (read_lists): Call read_terminal_lists.
865 (grub_enter_normal_mode): Call grub_cmdline_run.
866 Handle grub_normal_exit_level.
867 (grub_cmd_normal): Make reentrant.
868 (grub_cmd_normal_exit): New function.
869 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
870 * normal/menu.c: Adapt for multiterm.
871 * normal/menu_entry.c: Likewise.
872 * normal/menu_text.c: Likewise.
873 * normal/menu_viewer.c: Removed. All users updated.
874 * normal/term.c: New file.
875 * util/console.c: Change order of includes to workaround a bug in
876 ncurses headers.
877 * term/terminfo.c: New argument oterm on all exported functions.
878 All users updated.
879 * util/grub-editenv.c (grub_term_input_class): Removed.
880 (grub_term_output_class): Likewise.
881
1a064917
RM
8822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
883
884 Make loader output a bit more user-friendly.
885
886 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
887 is being loaded. Likewise for the Hurd.
888
889 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
890 that kernel of FreeBSD ${version} is being loaded.
891
892 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
893 grub_dprintf().
894 (grub_cmd_initrd): Likewise.
895 * util/grub.d/10_linux.in (linux_entry): Print message indicating
896 that Linux ${version} is being loaded. Likewise for initrd.
897
5ce0a83a 8982010-01-09 Carles Pina i Estany <carles@pina.cat>
899
900 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
901
809bbfeb 9022010-01-08 Carles Pina i Estany <carles@pina.cat>
903
904 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
905 (GRUB_MOD_INIT): Gettextizze.
906 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
907 (GRUB_MOD_INIT): Gettextizze.
908 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
909 (grub_cmd_linux): Capitalise Linux.
910 (GRUB_MOD_INIT): Gettextizze.
911 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
912 (grub_cmd_linux): Capitalise Linux.
913 (GRUB_MOD_INIT): Gettextizze.
914 * loader/i386/linux.c: Include `<grub/i18n.h>'.
915 (grub_cmd_linux): Capitalise Linux.
916 (GRUB_MOD_INIT): Gettextizze.
917 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
918 (GRUB_MOD_INIT): Gettextizze.
919 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
920 (grub_cmd_linux): Capitalise Linux.
921 (GRUB_MOD_INIT): Gettextizze.
922 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
923 (grub_cpu_xnu_init): Gettextizze.
924 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
925 (GRUB_MOD_INIT): Gettextizze.
926 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
927 (GRUB_MOD_INIT): Gettextizze.
928 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
929 (grub_linux_load64): Capitalise Linux.
930 (GRUB_MOD_INIT): Gettextizze.
931 * loader/xnu.c: Include `<grub/i18n.h>'.
932 (GRUB_MOD_INIT): Gettextizze.
933 * po/POTFILES: Add `loader/efi/appleloader.c',
934 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
935 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
936 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
937 `loader/i386/xnu.c', `loader/multiboot_loader.c',
938 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
939 and `loader/xnu.c'.
940
b394b2ca
RM
9412010-01-08 Robert Millan <rmh.grub@aybabtu.com>
942
943 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
944
9452010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
946
947 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
948 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
949 * util/mkisofs/mkisofs.c (main): Readjust --version output.
950
bc8b32b3
RM
9512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
952
953 Reset Multiboot 2 support. New loader implements the draft in
954 /branches/multiboot2 and shares as much code as possible with the
955 production Multiboot 1 implementation.
956
957 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
958 * loader/multiboot2.c: Likewise.
959 * loader/i386/multiboot_helper.S: Likewise.
960 * include/multiboot2.h: Replace with latest version from the draft
961 in /branches/multiboot2.
962
963 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
964 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
965 and `loader/multiboot2.c'.
966 (pkglib_MODULES): Add `multiboot2.mod'.
967 (multiboot2_mod_SOURCES): New variable.
968 (multiboot2_mod_LDFLAGS): Likewise.
969 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
970
971 * conf/i386-pc.rmk: Likewise.
972
973 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
974 (multiboot_mod_SOURCES): Remove variable.
975 (multiboot_mod_LDFLAGS): Likewise.
976 (multiboot_mod_CFLAGS): Likewise.
977
978 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
979 `<multiboot2.h>' instead of `<multiboot.h>'.
980 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
981 (MULTIBOOT_HEADER_MAGIC): New macros.
982
983 * loader/multiboot_loader.c (module_version_status): Remove variable.
984 (find_multi_boot2_header): Remove function.
985 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
986 logic. Always check for the Multiboot version we're compiling for.
987 (grub_cmd_module_loader): Likewise.
988 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
989 command instead of `multiboot'.
990
5d2c52b8
RM
9912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
992
993 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
994 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
995 all users.
996
53108d92
RM
9972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Fix breakage introduced with previous commit.
1001
1002 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1003 commands.
1004 * normal/handler.c (read_handler_list): Revert part of previous commit
1005 affecting this file.
1006 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1007 (grub_normal_execute): ... here.
1008
e2e936b2
RM
10092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1010
1011 Merge prefix-redefinition-fix branch.
1012
1013 * normal/autofs.c (read_fs_list): Make function capable of being
1014 run multiple times, gracefuly replacing the previous data
1015 structures.
1016 * normal/dyncmd.c (read_command_list): Likewise.
1017 * normal/handler.c (read_handler_list): Likewise.
1018 * normal/main.c (read_lists): New function. Calls all the
1019 list reading functions.
1020 (grub_normal_execute): Use read_lists() instead of calling all
1021 list reading functions explicitly. Register read_lists() as a
1022 variable hook attached to ${prefix}.
1023
607a3701
VS
10242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 Merge crypto branch.
1027
1028 * Makefile.in (pkglib_DATA): Add crypto.lst.
1029 (crypto.lst): New target.
1030 * commands/hashsum.c: New file.
1031 * commands/password.c (check_password): Use grub_crypto_memcmp.
1032 * commands/password_pbkdf2.c: New file.
1033 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1034 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1035 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1036 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1037 -I$(srcdir)/lib/libgcrypt_wrap.
1038 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1039 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1040 password_pbkdf2.mod.
1041 (crypto_mod_SOURCES): New variable.
1042 (crypto_mod_CFLAGS): Likewise.
1043 (crypto_mod_LDFLAGS): Likewise.
1044 (hashsum_mod_SOURCES): New variable.
1045 (hashsum_mod_CFLAGS): Likewise.
1046 (hashsum_mod_LDFLAGS): Likewise.
1047 (pbkdf2_mod_SOURCES): New variable.
1048 (pbkdf2_mod_CFLAGS): Likewise.
1049 (pbkdf2_mod_LDFLAGS): Likewise.
1050 (password_pbkdf2_mod_SOURCES): New variable.
1051 (password_pbkdf2_mod_CFLAGS): Likewise.
1052 (password_pbkdf2_mod_LDFLAGS): Likewise.
1053 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1054 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1055 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1056 Include conf/gcry.rmk.
1057 * include/grub/auth.h: Rewritten.
1058 * include/grub/crypto.h: New file.
1059 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1060 * include/grub/normal.h (read_crypto_list): New prototype.
1061 * lib/crypto.c: New file.
1062 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1063 * lib/pbkdf2.c: Likewise.
1064 * normal/auth.c (grub_auth_strcmp): Removed.
1065 (grub_iswordseparator): Likewise.
1066 (grub_auth_strword): Likewise.
1067 (is_authenticated): Use grub_strword.
1068 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1069 and grub_strword. Pass entered password to authentication callback.
1070 * normal/crypto.c: New file.
1071 * normal/main.c: Call read_crypto_list.
1072 * util/grub-mkpasswd-pbkdf2.c: New file.
1073 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1074
42841caa
VS
10752010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 Fix descent and ascent calculation.
1078
1079 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1080 (options): New option "asce".
1081 (usage): Likewise.
1082 (add_char): Ignore invalid glyphs for descent calculation.
1083 Calculate ascent from actual content.
1084 (print_glyphs): Use 'asce'.
1085 (write_font): Likewise. Allow ascent override.
1086 (main): Handle "asce" option.
1087
e7730de7 10882010-01-06 Carles Pina i Estany <carles@pina.cat>
1089
1090 * kern/err.c: Include `<grub/i18n.h>'.
1091 (grub_print_error): Add full stop. Gettextizze.
1092 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1093 (grub_bsd_load_elf): Capitalise ELF.
1094 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1095 (grub_cmd_freebsd_module): Likewise.
1096 (grub_cmd_freebsd_module_elf): Likewise.
1097 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1098
40e3a41f 10992010-01-06 Carles Pina i Estany <carles@pina.cat>
1100
1101 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1102 * commands/search_file.c (HELP_MESSAGE): New macro.
1103 * commands/search_label.c (HELP_MESSAGE): Likewise.
1104 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1105 * po/POTFILES: Add `commands/search_file.c',
1106 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1107 `commands/search.c'.
1108
83507e68
RM
11092010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1110
1111 * config.rpath: Update from Gnulib.
1112
465c787b
YB
11132010-01-05 Yves Blusseau <blusseau@zetam.org>
1114
1115 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1116
6581dd3a
YB
11172010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1118
1119 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1120
3bff18c5
CW
11212010-01-05 Colin Watson <cjwatson@ubuntu.com>
1122
1123 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1124 arguments to fread so that we get a return value in bytes, rather
1125 than something that will normally be rounded down to 0.
1126 Adjust error handling to avoid producing garbage when size_t is not
1127 the same size as long long.
1128
a1368118
CW
11292010-01-05 Colin Watson <cjwatson@ubuntu.com>
1130
1131 * util/mkisofs/write.c (padblock_write): Check return value of
1132 fread.
1133
7c302978
RM
11342010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1135
1136 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1137 floppy images now.
1138
1139 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1140
e33ace06
RM
11412010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1142
1143 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1144 instead of manual alignment.
1145 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1146 verbose). Avoid attempts to read past end of the device
1147 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1148 but GRUB_DISK_CACHE_SIZE may exceed that).
1149
4b856776
RM
11502010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1151
1152 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1153 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1154 it to upper layer.
1155
52c2d97f
VS
11562010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1159 New constant.
1160 (grub_efi_piwg_device_path): New structure
1161 (grub_efi_piwg_device_path_t): New type.
1162 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1163 (devpath_1): Transform to a structure. All users updated.
1164 (devpath_2): Likewise.
1165 (devpath_3): Likewise.
1166 (devpath_4): Likewise.
1167 (devpath_5): Likewise.
1168
98ff6a54
VS
11692010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * loader/efi/appleloader.c: Restored. Update all users.
1172
3a73dcb6
RM
11732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1174
1175 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1176
1177 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1178 (struct boot_blocklist): Move from here ...
1179 * include/grub/i386/pc/boot.h [ASM_FILE]
1180 (struct grub_boot_blocklist): ... to here. Update all users.
1181 (setup): Only initialize `start' member of `first_block'
1182 structure. Add assert() calls to verify the other members.
1183
1184 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1185 (generate_image): Fix broken blocklist length initialization.
1186 Add assert() call to verify blocklist `segment' field.
1187
ab0eeb0c
RM
11882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1189
1190 * loader/efi/appleloader.c: Remove. Update all users.
1191
58bc8bd5
RM
11922010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1193
1194 * boot/i386/pc/boot.S: Update copyright year.
1195 * boot/i386/pc/cdboot.S: Likewise.
1196 * boot/i386/pc/diskboot.S: Likewise.
1197 * boot/i386/pc/lnxboot.S: Likewise.
1198 * boot/i386/pc/pxeboot.S: Likewise.
1199 * bus/pci.c: Likewise.
1200 * commands/cmp.c: Likewise.
1201 * commands/help.c: Likewise.
1202 * commands/hexdump.c: Likewise.
1203 * commands/i386/pc/halt.c: Likewise.
1204 * commands/i386/pc/play.c: Likewise.
1205 * commands/i386/pc/vbeinfo.c: Likewise.
1206 * commands/ls.c: Likewise.
1207 * commands/test.c: Likewise.
1208 * disk/dmraid_nvidia.c: Likewise.
1209 * disk/i386/pc/biosdisk.c: Likewise.
1210 * disk/ieee1275/nand.c: Likewise.
1211 * disk/ieee1275/ofdisk.c: Likewise.
1212 * disk/lvm.c: Likewise.
1213 * disk/raid.c: Likewise.
1214 * disk/raid6_recover.c: Likewise.
1215 * disk/scsi.c: Likewise.
1216 * fs/affs.c: Likewise.
1217 * fs/cpio.c: Likewise.
1218 * fs/ext2.c: Likewise.
1219 * fs/hfs.c: Likewise.
1220 * fs/iso9660.c: Likewise.
1221 * fs/ntfs.c: Likewise.
1222 * fs/sfs.c: Likewise.
1223 * fs/udf.c: Likewise.
1224 * fs/ufs.c: Likewise.
1225 * fs/xfs.c: Likewise.
1226 * gencmdlist.sh: Likewise.
1227 * genmk.rb: Likewise.
1228 * include/grub/disk.h: Likewise.
1229 * include/grub/efi/api.h: Likewise.
1230 * include/grub/efi/efi.h: Likewise.
1231 * include/grub/efi/pe32.h: Likewise.
1232 * include/grub/elf.h: Likewise.
1233 * include/grub/fs.h: Likewise.
1234 * include/grub/i386/at_keyboard.h: Likewise.
1235 * include/grub/i386/pc/memory.h: Likewise.
1236 * include/grub/i386/pc/vbe.h: Likewise.
1237 * include/grub/i386/pci.h: Likewise.
1238 * include/grub/i386/tsc.h: Likewise.
1239 * include/grub/ieee1275/ieee1275.h: Likewise.
1240 * include/grub/ntfs.h: Likewise.
1241 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1242 * include/grub/sparc64/libgcc.h: Likewise.
1243 * include/grub/symbol.h: Likewise.
1244 * include/grub/types.h: Likewise.
1245 * include/multiboot2.h: Likewise.
1246 * io/gzio.c: Likewise.
1247 * kern/device.c: Likewise.
1248 * kern/disk.c: Likewise.
1249 * kern/efi/efi.c: Likewise.
1250 * kern/efi/mm.c: Likewise.
1251 * kern/elf.c: Likewise.
1252 * kern/file.c: Likewise.
1253 * kern/i386/dl.c: Likewise.
1254 * kern/i386/pc/init.c: Likewise.
1255 * kern/i386/pc/startup.S: Likewise.
1256 * kern/ieee1275/ieee1275.c: Likewise.
1257 * kern/ieee1275/init.c: Likewise.
1258 * kern/main.c: Likewise.
1259 * kern/mm.c: Likewise.
1260 * kern/powerpc/dl.c: Likewise.
1261 * kern/sparc64/dl.c: Likewise.
1262 * kern/x86_64/dl.c: Likewise.
1263 * lib/hexdump.c: Likewise.
1264 * loader/efi/appleloader.c: Likewise.
1265 * loader/i386/ieee1275/linux.c: Likewise.
1266 * loader/i386/pc/chainloader.c: Likewise.
1267 * loader/i386/pc/linux.c: Likewise.
1268 * loader/i386/pc/multiboot2.c: Likewise.
1269 * loader/ieee1275/multiboot2.c: Likewise.
1270 * loader/multiboot2.c: Likewise.
1271 * loader/multiboot_loader.c: Likewise.
1272 * loader/powerpc/ieee1275/linux.c: Likewise.
1273 * normal/completion.c: Likewise.
1274 * normal/menu_entry.c: Likewise.
1275 * partmap/apple.c: Likewise.
1276 * util/grub.d/10_hurd.in: Likewise.
1277 * util/hostfs.c: Likewise.
1278 * video/readers/png.c: Likewise.
1279
e2d70b5c
CW
12802010-01-03 Colin Watson <cjwatson@ubuntu.com>
1281
1282 * include/grub/misc.h (GNUC_PREREQ): New macro.
1283 (ATTRIBUTE_ERROR): New macro.
1284 * include/grub/list.h (grub_bad_type_cast_real): Use
1285 ATTRIBUTE_ERROR.
1286
a173283f 12872010-01-03 Carles Pina i Estany <carles@pina.cat>
1288
1289 * normal/menu_text.c (print_message): Change messages.
1290
7fa7ff74 12912010-01-03 Carles Pina i Estany <carles@pina.cat>
1292
1293 * normal/menu_entry.c (store_completion): Gettextizze.
1294
136d24f6 12952010-01-03 Carles Pina i Estany <carles@pina.cat>
1296
1297 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1298
f936862e 12992010-01-03 Carles Pina i Estany <carles@pina.cat>
1300
1301 * po/POTFILES: Sort correctly.
1302
29c44ad1 13032010-01-03 Carles Pina i Estany <carles@pina.cat>
1304
1305 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1306 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1307 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1308 full stop.
1309 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1310 summary. Gettextizze the strings.
1311 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1312 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1313 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1314 full stop.
1315 (GRUB_MOD_INIT): Remove command name from summary.
1316 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1317 summary.
1318 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1319 * term/i386/pc/serial.c (options): Add full stops.
1320 (GRUB_MOD_INIT): Remove command name from the summary.
1321
77a79592 13222010-01-03 Carles Pina i Estany <carles@pina.cat>
1323
1324 * commands/acpi.c: Gettextizze help strings and/or options. Include
1325 `grub/i18n.h' if needed.
1326 * commands/blocklist.c: Likewise.
1327 * commands/boot.c: Likewise.
1328 * commands/cat.c: Likewise.
1329 * commands/cmp.c: Likewise.
1330 * commands/configfile.c: Likewise.
1331 * commands/crc.c: Likewise.
1332 * commands/date.c: Likewise.
1333 * commands/echo.c: Likewise.
1334 * commands/efi/fixvideo.c: Likewise.
1335 * commands/efi/loadbios.c: Likewise.
1336 * commands/gptsync.c: Likewise.
1337 * commands/halt.c: Likewise.
1338 * commands/handler.c: Likewise.
1339 * commands/hdparm.c: Likewise.
1340 * commands/hexdump.c: Likewise.
1341 * commands/i386/cpuid.c: Likewise.
1342 * commands/i386/pc/drivemap.c: Likewise.
1343 * commands/i386/pc/halt.c: Likewise.
1344 * commands/i386/pc/pxecmd.c: Likewise.
1345 * commands/i386/pc/vbeinfo.c: Likewise.
1346 * commands/i386/pc/vbetest.c: Likewise.
1347 * commands/ieee1275/suspend.c: Likewise.
1348 * commands/keystatus.c: Likewise.
1349 * commands/loadenv.c: Likewise.
1350 * commands/ls.c: Likewise.
1351 * commands/lsmmap.c: Likewise.
1352 * commands/lspci.c: Likewise.
1353 * commands/memrw.c: Likewise.
1354 * commands/minicmd.c: Likewise.
1355 * commands/parttool.c: Likewise.
1356 * commands/password.c: Likewise.
1357 * commands/probe.c: Likewise.
1358 * commands/read.c: Likewise.
1359 * commands/reboot.c: Likewise.
1360 * commands/search.c: Likewise.
1361 * commands/sleep.c: Likewise.
1362 * commands/test.c: Likewise.
1363 * commands/true.c: Likewise.
1364 * commands/usbtest.c: Likewise.
1365 * commands/videotest.c: Likewise.
1366 * commands/xnu_uuid.c: Likewise.
1367 * disk/loopback.c: Likewise.
1368 * hello/hello.c: Likewise.
1369 * loader/i386/bsd.c: Likewise.
1370 * term/i386/pc/serial.c: Likewise.
1371 * po/POTFILES: Add new files.
1372
da8d5c53
CW
13732010-01-02 Colin Watson <cjwatson@ubuntu.com>
1374
1375 * term/i386/pc/at_keyboard.c
1376 (keyboard_controller_wait_untill_ready): Rename to ...
1377 (keyboard_controller_wait_until_ready): ... this. Update all users.
1378
33937904 13792010-01-01 Carles Pina i Estany <carles@pina.cat>
1380
1381 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
1382 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
1383 string using string width.
1384 * normal/menu_text.c (grub_print_message_indented): Use
1385 grub_print_spaces and not print_spaces.
1386 (print_timeout): Likewise.
1387 (print_spaces): Move to...
1388 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
1389
3fd3b8d8
RM
13902010-01-01 Robert Millan <rmh.grub@aybabtu.com>
1391
1392 Import from Gnulib.
1393
1394 * gnulib/getdelim.c: New file.
1395 * gnulib/getline.c: Likewise.
1396
33433555
VS
13972009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
1398
1399 * include/grub/list.h (grub_assert_fail): Removed.
1400 (grub_bad_type_cast_real): New function.
1401 (grub_bad_type_cast): New macro.
1402 (GRUB_AS_LIST): Use grub_bad_type_cast.
1403 (GRUB_AS_LIST_P): Likewise.
e44721e8 1404 (GRUB_AS_NAMED_LIST): Likewise.
33433555 1405 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 1406 (GRUB_AS_PRIO_LIST): Likewise.
33433555 1407 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 1408 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 1409
f5a51306
VS
14102009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
1413 Fix syntax error.
1414
90d1e879
RM
14152009-12-29 Robert Millan <rmh.grub@aybabtu.com>
1416
1417 * configure.ac: Check for TARGET_CFLAGS initialization before we
1418 initialize it ourselves (sigh).
1419 Move a few modifications to TARGET_CFLAGS to be unconditional
1420 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
1421 eh_frame)
1422
1423 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
1424 * term/i386/pc/at_keyboard.c
1425 (keyboard_controller_wait_untill_ready): Likewise.
1426 (keyboard_controller_led): Rename `led_status' paramter to avoid
1427 name conflict.
1428
465b5a81 14292009-12-28 Carles Pina i Estany <carles@pina.cat>
1430
1431 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
1432 quotes.
1433
c181849b
VS
14342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
1437
9c8739a4
VS
14382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * normal/menu_text.c (grub_print_message_indented): Prevent
1441 past-the-end-of-array dereference.
1442
3e74249c
VS
14432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
1446 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
1447
64fd18ed 14482009-12-27 Carles Pina i Estany <carles@pina.cat>
1449
1450 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
1451 * normal/main.c (grub_normal_read_line): Remove a space from the
1452 default prompt.
1453
714af9b9 14542009-12-27 Carles Pina i Estany <carles@pina.cat>
1455
1456 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
1457 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1458 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1459 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1460 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1461 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1462 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1463
82f3e412 14642009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 1465
1466 * video/readers/jpeg.c (cmd): Declare.
1467 (grub_cmd_jpegtest): Use `grub_command_t' type.
1468 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1469 Assign to `cmd'.
1470 (GRUB_MOD_FINI): Use `cmd' to unregister.
1471 * video/readers/png.c (cmd): Declare.
1472 (grub_cmd_pngtest): Use `grub_command_t' type.
1473 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1474 Assign to `cmd'.
1475 (GRUB_MOD_FINI): Use `cmd' to unregister.
1476 * video/readers/tga.c (cmd): Declare.
1477 (grub_cmd_tgatest): Use `grub_command_t' type.
1478 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1479 Assign to `cmd'.
1480 (GRUB_MOD_FINI): Use `cmd' to unregister.
1481
82f3e412 14822009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 1483
1484 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
1485 stops.
1486 * kern/corecmd.c (grub_register_core_commands): Likewise.
1487 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
1488 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1489 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
1490 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1491 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1492 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
1493 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1494 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
1495 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1496 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1497 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1498 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1499 * normal/handler.c (insert_handler): Likewise.
1500 * normal/main.c (GRUB_MOD_INIT): Likewise.
1501 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1502
fdcdbb66 15032009-12-26 Carles Pina i Estany <carles@pina.cat>
1504
1505 * commands/help.c (grub_cmd_help): Print the command name before the
1506 summary.
1507 (GRUB_MOD_INIT): Remove command name from the summary.
1508 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 1509 string as summary.
fdcdbb66 1510 * lib/arg.c (find_long): Print the command name before the summary.
1511 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
1512 summary.
1513 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
1514 * commands/cat.c (GRUB_MOD_INIT): Likewise.
1515 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
1516 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
1517 * commands/crc.c (GRUB_MOD_INIT): Likewise.
1518 * commands/date.c (GRUB_MOD_INIT): Likewise.
1519 * commands/echo.c (GRUB_MOD_INIT): Likewise.
1520 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
1521 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1522 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1523 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
1524 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
1525 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
1526 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
1527 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1528 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
1529 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
1530 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
1531 * commands/ls.c (GRUB_MOD_INIT): Likewise.
1532 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1533 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1534 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1535 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
1536 * commands/password.c (GRUB_MOD_INIT): Likewise.
1537 * commands/probe.c (GRUB_MOD_INIT): Likewise.
1538 * commands/read.c (GRUB_MOD_INIT): Likewise.
1539 * commands/search.c (GRUB_MOD_INIT): Likewise.
1540 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
1541 * commands/test.c (GRUB_MOD_INIT): Likewise.
1542 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
1543 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1544 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1545 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
1546 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1547 * lib/arg.c (GRUB_MOD_INIT): Likewise.
1548 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
1549 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1550 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1551 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1552 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1553 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
1554 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
1555 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
1556
9c288be2
VS
15572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Use search command for preliminar UUID search.
1560
1561 * commands/search.c: Split into ...
1562 * commands/search_wrap.c: ...this
1563 * commands/search.c: ...and this.
1564 * commands/search_file.c: New file.
1565 * commands/search_label.c: New file.
1566 * commands/search_uuid.c: New file.
1567 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
1568 Add commands/search_wrap.c, commands/search_file.c,
1569 commands/search_label.c and commands/search_uuid.c.
1570 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
1571 (search_mod_SOURCES): Set to commands/search_wrap.c.
1572 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
1573 search_label.mod.
1574 (search_fs_file_mod_SOURCES): New variable.
1575 (search_fs_file_mod_CFLAGS): Likewise.
1576 (search_fs_file_mod_LDFLAGS): Likewise.
1577 (search_label_mod_SOURCES): Likewise.
1578 (search_label_mod_CFLAGS): Likewise.
1579 (search_label_mod_LDFLAGS): Likewise.
1580 (search_fs_uuid_mod_SOURCES): New variable.
1581 (search_fs_uuid_mod_CFLAGS): Likewise.
1582 (search_fs_uuid_mod_LDFLAGS): Likewise.
1583 (fs_file_mod_SOURCES): Removed.
1584 (fs_file_mod_CFLAGS): Likewise.
1585 (fs_file_mod_LDFLAGS): Likewise.
1586 (fs_uuid_mod_SOURCES): Removed.
1587 (fs_uuid_mod_CFLAGS): Likewise.
1588 (fs_uuid_mod_LDFLAGS): Likewise.
1589 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
1590 Set to util/grub-install.in.
1591 * disk/fs_file.c: Removed.
1592 * disk/fs_uuid.c: Likewise.
1593 * include/grub/search.h: New file.
1594 * util/grub-install.in: Handle sparc64.
1595 Create and use load.cfg.
1596 * util/sparc64/ieee1275/grub-install.in: Removed.
1597
db943399
VS
15982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
1601 Ignore return status if CF is cleared.
1602 (grub_biosdisk_get_diskinfo_standard): Likewise.
1603
3fdae612
RM
16042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1605
1606 * term/i386/pc/at_keyboard.c
1607 (keyboard_controller_wait_untill_ready): New function.
1608 (grub_keyboard_controller_write, grub_keyboard_controller_read)
1609 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
1610 for keyboard polling, rather than duplicate the same loop. This
1611 saves a few bytes in code size.
1612
7ebaa2b4
VS
16132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Support for (pxe[:server[:gateway]]) syntax and
1616 use environment variable for PXE.
1617
1618 * commands/i386/pc/pxecmd.c (options): Removed.
1619 (print_ip): Removed.
1620 (grub_cmd_pxe): Removed
1621 (grub_cmd_pxe_unload): New function.
1622 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
1623 (grub_pxe_your_ip): Made static.
1624 (grub_pxe_default_server_ip): Likewise.
1625 (grub_pxe_default_gateway_ip): Likewise.
1626 (grub_pxe_blksize): Likewise.
1627 (parse_ip): New function.
1628 (grub_pxe_open): Support server and gateway specification.
1629 (grub_pxe_close): Free disk->data.
1630 (grub_pxefs_open): Use disk->data.
1631 (grub_pxefs_read): Likewise.
1632 (grub_env_write_readonly): New function.
1633 (set_mac_env): Likewise.
1634 (set_env_limn_ro): Likewise.
1635 (parse_dhcp_vendor): Likewise.
1636 (grub_pxe_detect): Set the environment variables.
1637 (set_ip_env): New function.
1638 (write_ip_env): Likewise.
1639 (grub_env_write_pxe_default_server): Likewise.
1640 (grub_env_write_pxe_default_gateway): Likewise.
1641 (grub_env_write_pxe_blocksize): Likewise.
1642 (GRUB_MOD_INIT(pxe)): Set environment variables.
1643 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
1644 (grub_pxe_mac_addr_t): ... this. All users updated.
1645 (grub_pxe_your_ip): Removed.
1646 (grub_pxe_server_ip): Likewise.
1647 (grub_pxe_gateway_ip): Likewise.
1648 (grub_pxe_blksize): Likewise.
1649
ec5f98ab 16502009-12-25 Carles Pina i Estany <carles@pina.cat>
1651
1652 * commands/help.c: Include `<grub/i18n.h>'.
1653 (grub_cmd_help): Gettextizze.
1654 (GRUB_MOD_INIT): Likewise.
1655 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
1656 (GRUB_MOD_INIT): Gettextizze.
1657 * commands/search.c: Include `<grub/i18n.h>'.
1658 (options): Gettextizze.
1659 (GRUB_MOD_INIT): Gettextizze.
1660 * lib/arg.c: Include `<grub/i18n.h>'.
1661 (help_options): Gettextizze.
1662 (find_long): Likewise.
1663 (grub_arg_show_help): Likewise.
1664 * normal/dyncmd.c: Include `<grub/i18n.h>'.
1665 (read_command_list): Gettextizze.
1666 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 1667 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 1668
22815526
RM
16692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1670
1671 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
1672 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
1673 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
1674 (led_status): New variable.
1675 (keyboard_controller_led): New function.
1676 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
1677 update led status for caps lock, num lock and scroll lock.
1678
0ad46fd7
FZ
16792009-12-25 Felix Zielcke <fzielcke@z-51.de>
1680
1681 * util/hostdisk.c (open_device): Fix a comment.
1682
d0e158c2
RM
16832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1684
1685 * util/grub-install.in (host_os): New variable.
1686 * util/i386/efi/grub-install.in (host_os): Likewise.
1687
401c0ad6
RM
16882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1689
1690 * util/mkisofs/write.c (padblock_write): Abort when given an
1691 excedingly large embed image, instead of silently truncating it.
1692
d14d3370
RM
16932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1694
1695 * include/multiboot.h: Indentation fixes.
1696
eeed10b4
RM
16972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1698
1699 * include/multiboot.h (struct multiboot_aout_symbol_table)
1700 (struct multiboot_elf_section_header_table): New structure
1701 declarations (stolen from GRUB Legacy).
1702 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
1703 table information.
1704
1705 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
1706 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
1707 type aliases.
1708
681c70ab
RM
17092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1710
1711 * include/multiboot.h: Make comments src2texi-friendly.
1712
e4d47d8d
RM
17132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1714
1715 For consistency with [multiboot]/docs/boot.S.
1716
1717 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
1718 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
1719 (MULTIBOOT_MAGIC2): Rename from this ...
1720 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
1721
a0b70bda
RM
17222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1723
1724 * include/multiboot.h: Remove `<grub/types.h>'.
1725 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
1726 types. Update all users.
1727
61ba42be 17282009-12-25 Carles Pina i Estany <carles@pina.cat>
1729
1730 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
1731 `couldn't' and `can not' by `cannot'.
1732 * commands/i386/pc/drivemap.c: Likewise.
1733 * disk/ata.c: Likewise.
1734 * disk/ieee1275/nand.c: Likewise.
1735 * fs/affs.c: Likewise.
1736 * fs/fat.c: Likewise.
1737 * fs/hfs.c: Likewise.
1738 * fs/hfsplus.c: Likewise.
1739 * fs/iso9660.c: Likewise.
1740 * fs/jfs.c: Likewise.
1741 * fs/minix.c: Likewise.
1742 * fs/reiserfs.c: Likewise.
1743 * fs/sfs.c: Likewise.
1744 * fs/udf.c: Likewise.
1745 * fs/ufs.c: Likewise.
1746 * fs/xfs.c: Likewise.
1747 * loader/powerpc/ieee1275/linux.c: Likewise.
1748 * loader/sparc64/ieee1275/linux.c: Likewise.
1749 * util/grub-probe.c: Likewise.
1750 * util/misc.c: Likewise.
1751
7fd0baee 17522009-12-24 Carles Pina i Estany <carles@pina.cat>
1753
1754 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1755 grub_errno calls.
1756 * commands/acpi.c: Likewise.
1757 * commands/blocklist.c: Likewise.
1758 * commands/efi/loadbios.c: Likewise.
1759 * commands/i386/pc/drivemap.c: Likewise.
1760 * commands/loadenv.c: Likewise.
1761 * commands/memrw.c: Likewise.
1762 * commands/password.c: Likewise.
1763 * commands/videotest.c: Likewise.
1764 * disk/ata.c: Likewise.
1765 * disk/ata_pthru.c: Likewise.
1766 * disk/dmraid_nvidia.c: Likewise.
1767 * disk/ieee1275/nand.c: Likewise.
1768 * disk/ieee1275/ofdisk.c: Likewise.
1769 * disk/loopback.c: Likewise.
1770 * disk/lvm.c: Likewise.
1771 * disk/mdraid_linux.c: Likewise.
1772 * disk/raid.c: Likewise.
1773 * disk/raid6_recover.c: Likewise.
1774 * disk/scsi.c: Likewise.
1775 * efiemu/main.c: Likewise.
1776 * efiemu/mm.c: Likewise.
1777 * efiemu/pnvram.c: Likewise.
1778 * efiemu/symbols.c: Likewise.
1779 * font/font.c: Likewise.
1780 * fs/cpio.c: Likewise.
1781 * fs/hfsplus.c: Likewise.
1782 * fs/iso9660.c: Likewise.
1783 * fs/jfs.c: Likewise.
1784 * fs/minix.c: Likewise.
1785 * fs/ntfs.c: Likewise.
1786 * fs/ntfscomp.c: Likewise.
1787 * fs/reiserfs.c: Likewise.
1788 * fs/ufs.c: Likewise.
1789 * fs/xfs.c: Likewise.
1790 * gettext/gettext.c: Likewise.
1791 * include/grub/auth.h: Likewise.
1792 * kern/elf.c: Likewise.
1793 * kern/file.c: Likewise.
1794 * kern/ieee1275/init.c: Likewise.
1795 * kern/ieee1275/mmap.c: Likewise.
1796 * kern/ieee1275/openfw.c: Likewise.
1797 * kern/powerpc/dl.c: Likewise.
1798 * kern/sparc64/dl.c: Likewise.
1799 * lib/arg.c: Likewise.
1800 * loader/i386/bsd.c: Likewise.
1801 * loader/i386/bsdXX.c: Likewise.
1802 * loader/i386/efi/linux.c: Likewise.
1803 * loader/i386/efi/xnu.c: Likewise.
1804 * loader/i386/ieee1275/linux.c: Likewise.
1805 * loader/i386/linux.c: Likewise.
1806 * loader/i386/multiboot.c: Likewise.
1807 * loader/i386/pc/linux.c: Likewise.
1808 * loader/i386/pc/multiboot2.c: Likewise.
1809 * loader/i386/xnu.c: Likewise.
1810 * loader/ieee1275/multiboot2.c: Likewise.
1811 * loader/macho.c: Likewise.
1812 * loader/machoXX.c: Likewise.
1813 * loader/multiboot2.c: Likewise.
1814 * loader/multiboot_loader.c: Likewise.
1815 * loader/powerpc/ieee1275/linux.c: Likewise.
1816 * loader/sparc64/ieee1275/linux.c: Likewise.
1817 * loader/xnu.c: Likewise.
1818 * loader/xnu_resume.c: Likewise.
1819 * mmap/i386/pc/mmap.c: Likewise.
1820 * normal/menu_viewer.c: Likewise.
1821 * partmap/acorn.c: Likewise.
1822 * partmap/amiga.c: Likewise.
1823 * partmap/apple.c: Likewise.
1824 * script/lexer.c: Likewise.
1825 * term/gfxterm.c: Likewise.
1826 * term/i386/pc/serial.c: Likewise.
1827 * term/i386/pc/vga.c: Likewise.
1828 * term/ieee1275/ofconsole.c: Likewise.
1829 * term/terminfo.c: Likewise.
1830 * video/bitmap.c: Likewise.
1831 * video/efi_gop.c: Likewise.
1832 * video/efi_uga.c: Likewise.
1833 * video/fb/video_fb.c: Likewise.
1834 * video/i386/pc/vbe.c: Likewise.
1835 * video/readers/tga.c: Likewise.
1836 * video/video.c: Likewise.
1837
0ad46fd7 18382009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
1839
1840 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
1841 * commands/lspci.c: Likewise.
1842 * commands/probe.c: Likewise.
1843 * commands/xnu_uuid.c: Likewise.
1844 * conf/i386-coreboot.rmk: Likewise.
1845 * conf/i386-efi.rmk: Likewise.
1846 * conf/i386-ieee1275.rmk: Likewise.
1847 * conf/i386-pc.rmk: Likewise.
1848 * conf/powerpc-ieee1275.rmk: Likewise.
1849 * conf/sparc64-ieee1275.rmk: Likewise.
1850 * conf/x86_64-efi.rmk: Likewise.
1851 * fs/i386/pc/pxe.c: Likewise.
1852 * gettext/gettext.c: Likewise.
1853 * include/grub/efi/graphics_output.h: Likewise.
1854 * include/grub/i386/pc/memory.h: Likewise.
1855 * kern/env.c: Likewise.
1856 * kern/i386/qemu/startup.S: Likewise.
1857 * lib/i386/pc/biosnum.c: Likewise.
1858 * lib/i386/relocator.c: Likewise.
1859 * lib/i386/relocator_asm.S: Likewise.
1860 * lib/relocator.c: Likewise.
1861 * loader/i386/bsd.c: Likewise.
1862 * loader/i386/multiboot.c: Likewise.
1863 * loader/i386/pc/chainloader.c: Likewise.
1864 * loader/i386/xnu.c: Likewise.
1865 * loader/xnu.c: Likewise.
1866 * normal/main.c: Likewise.
1867 * normal/menu_text.c: Likewise.
1868 * util/getroot.c: Likewise.
1869 * util/grub-mkconfig_lib.in: Likewise.
1870 * util/grub.d/00_header.in: Likewise.
1871 * util/i386/pc/grub-mkimage.c: Likewise.
1872 * util/mkisofs/eltorito.c: Likewise.
1873 * util/mkisofs/exclude.h: Likewise.
1874 * util/mkisofs/hash.c: Likewise.
1875 * util/mkisofs/iso9660.h: Likewise.
1876 * util/mkisofs/joliet.c: Likewise.
1877 * util/mkisofs/mkisofs.c: Likewise.
1878 * util/mkisofs/mkisofs.h: Likewise.
1879 * util/mkisofs/multi.c: Likewise.
1880 * util/mkisofs/name.c: Likewise.
1881 * util/mkisofs/rock.c: Likewise.
1882 * util/mkisofs/tree.c: Likewise.
1883 * util/mkisofs/write.c: Likewise.
1884 * video/efi_gop.c: Likewise.
1885
009ec743
VS
18862009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
1889 size counting.
1890
0ad46fd7 18912009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
1892
1893 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
1894 * genmk.rb (class SCRIPT): Modify the target file instead of source.
1895
d3d30ea0
VS
18962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
1899 (GRUB_MOD_INIT(memrw)): Update help line.
1900
a34f5c70
VS
19012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
1904 Use grub_extcmd_t. All users updated.
1905 (options): New variable.
1906 (grub_cmd_read): Restructure for readability. Support "-v" option.
1907 (grub_cmd_write): Restructure for readability.
1908
0ad46fd7 19092009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
1910
1911 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
1912
0ad46fd7 19132009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
1914
1915 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
1916 with the actual contents of the correspondending make variable.
1917 * util/grub-mkrescue.in (pkglib_DATA): New variable.
1918 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
1919 specifying `*.lst' and `efiemu??.o'
1920
0ad46fd7 19212009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
1922
1923 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
1924 after function name.
1925 Noticed by Rene Engelhard <rene@debian.org>.
1926
dc77a799
VS
19272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
1930 (options): New variable.
1931 (iospace): Likewise.
1932 (grub_lspci_iter): List IO spaces if "-i" was given.
1933 (grub_cmd_lspci): Parse options.
1934 (GRUB_MOD_INIT(lspci)): Use extcmd.
1935 (GRUB_MOD_FINI(lspci)): Likewise.
1936
0ad46fd7 19372009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
1938
1939 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
1940 `function' keyword.
1941 Patch by Tony Mancill <tmancill@debian.org>.
1942
b5d5993b
VS
19432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
1946 (grub_uhci_portstatus): Likewise.
1947 (grub_uhci_portstatus): Add necessary delay.
11d18281 1948 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 1949
941903f2 19502009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 1951
941903f2 1952 * commands/acpi.c (options): Fix capitalizations and/or full stops.
1953 (GRUB_MOD_INIT): Likewise.
1954 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 1955 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
1956 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 1957 * commands/efi/loadbios.c (enable_rom_area): Likewise.
1958 (enable_rom_area): Likewise.
1959 (GRUB_MOD_INIT): Likewise.
1960 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1961 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
1962 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1963 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
1964 * commands/hexdump.c (options): Likewise.
1965 * commands/i386/cpuid.c (options): Likewise.
1966 (GRUB_MOD_INIT): Likewise.
1967 * commands/i386/pc/drivemap.c (options): Likewise.
1968 (GRUB_MOD_INIT): Likewise.
1969 * commands/i386/pc/halt (options): Likewise.
1970 (GRUB_MOD_INIT): Likewise.
1971 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1972 * commands/i386/pc/pxecmd.c (options): Likewise.
1973 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
1974 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
1975 * commands/keystatus.c (options): Likewise.
1976 (GRUB_MOD_INIT): Likewise.
1977 * commands/loadenv.c (options): Likewise.
1978 * commands/ls.c (options): Likewise.
1979 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1980 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1981 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1982 * commands/parttool.c (helpmsg): Likewise.
1983 * commands/probe.c (options): Likewise.
1984 * commands/read.c (GRUB_MOD_INIT): Likewise.
1985 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
1986 * commands/search.c (options): Likewise.
1987 * commands/sleep.c (options): Likewise.
1988 * commands/test.c (GRUB_MOD_INIT): Likewise.
1989 * commands/true.c (GRUB_MOD_INIT): Likewise.
1990 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
1991 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
1992 * lib/arg.c (help_options): Likewise.
e9bbb4e7 1993 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
1994 `$(XGETTEXT)'.
98a50553 1995 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 1996
0ad46fd7 19972009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 1998
ef3c2c3a 1999 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2000 instead of specifying them explicit.
2001
7922f68b
RM
20022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2003
2004 * NEWS: Add grub-probe support for GNU/Hurd.
2005
537ce47f
RM
20062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2007
2008 * NEWS: gettext was added after 1.97.
2009
9b214e3a
RM
20102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2011
2012 * util/mkisofs/msdos_partition.h: New file (based on
2013 include/grub/msdos_partition.h).
2014 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2015 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2016 (ld_options, main): Recognize --protective-msdos-label.
2017 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2018 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2019 (padblock_write): If `use_protective_msdos_label' is set, patch a
2020 protective DOS-style label in the output image.
2021
2022 * util/grub-mkrescue.in: Use --protective-msdos-label.
2023
e9309813
RM
20242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2025
2026 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2027 boot.
2028
0ae56929
RM
20292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2030
2031 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2032 variables.
2033 (ld_options, main): Recognize `--embedded-boot'.
2034 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2035 declarations.
2036 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2037 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2038 (padblock_write): Likewise. Rewrite to support embedded boot image.
2039
2040 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2041 for BIOS-based disk boot instead of only ElTorito.
2042
b15937b1
RM
20432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2044
2045 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2046 build (not needed for bootstrap).
2047
52cc3ce0
RM
20482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2049
2050 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2051 from i386-pc build (not needed for bootstrap).
2052 Rewrite a pair of strings.
2053
36f5ff04
RM
20542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2055
2056 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2057
973c6c85 20582009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2059
2060 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2061
05d21547
AB
20622009-12-21 Andreas Born <futur.andy@googlemail.com>
2063
2064 * kern/env.c (grub_env_context_open): Mark exported variable for
2065 reexport.
2066
0175d51f
AB
20672009-12-21 Andreas Born <futur.andy@googlemail.com>
2068
2069 * kern/env.c (grub_env_export): Create nonexistent variables before
2070 exporting.
2071
7f39d92f 20722009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2073
7f39d92f 2074 * include/grub/auth.h: Include `<grub/i18n.h>'.
2075 (GRUB_GET_PASSWORD): Gettextizze string.
2076 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2077 menu_text.c.
2078 (grub_utf8_to_ucs4_alloc): Fix indentation.
2079 (grub_print_ucs4): Likewise.
2080 (grub_getstringwidth): Likewise.
2081 (print_message_indented): New declaration.
2082 * normal/auth.c: Include `<grub/i18n.h>'.
2083 (grub_auth_check_authentication): Gettexttize string.
2084 * normal/cmdline.c: Include `<grub/i18n.h>'.
2085 (grub_cmdline_get): Gettextizze.
2086 * normal/color.c: Include `<grub/i18n.h>'.
2087 (grub_parse_color_name_pair): Gettexttize strings.
2088 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2089 string (use `print_message_indented').
2090 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2091 `include/grub/normal.h'.
2092 (print_message_indented): Renamed to ...
2093 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2094 used in normal/main.c).
2095 (print_message): Use `grub_print_message_indented' instead of
2096 `print_message_indented'.
2097 (print_timeout): Likewise.
2098 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2099 (grub_normal_print_device_info): Gettexttize strings.
2100 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2101
3041d898
VS
21022009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2105 of arguments. Return number of tokens and not arguments. All users
2106 updated.
2107
de15bf8e
VS
21082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2111 non-MSDOS paritions.
2112
e0a6ca52
VS
21132009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * include/grub/types.h (UNUSED): Removed since it conflicts with
2116 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2117 Reported by Grégoire Sutre.
2118
b99518d1 21192009-12-19 Carles Pina i Estany <carles@pina.cat>
2120
2121 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2122 (grub_print_ucs4_alloc): Likewise.
2123 (grub_getstringwidth): Likewise.
2124 * normal/main.c (grub_normal_init_page): Gettextize version string.
2125 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2126 (getstringwidth): Renamed to ...
2127 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2128 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2129 (grub_print_ucs4): Remove `static' qualifer (now used in
2130 normal/main.c).
2131 * po/POTFILES: Add normal/main.c.
2132
bfd5e52b 21332009-12-19 Carles Pina i Estany <carles@pina.cat>
2134
2135 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2136 (print_message_indented): Add `margin_left' and `margin_right'
2137 parameters.
2138 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2139 strings.
2140 (print_timeout): Use `print_message_indented' to print the message.
2141 Deletes `second_stage' parameter.
2142 (run_menu): Update `print_timeout' calls.
2143
5a1ad2b9
VS
21442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 Fix console palette on OpenFirmware.
2147
2148 * term/ieee1275/ofconsole.c (MAX): Removed.
2149 (colors): Redone based on VGA palette.
2150 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2151 colors are supported.
2152 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2153
b045f00a
VS
21542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Fix potential EfiEmu double prepare.
2157
2158 * efiemu/main.c (prepared): New variable
2159 (grub_efiemu_unload): Set prepare to '0'.
2160 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2161
2162 set_virtual_address_map support.
2163
2164 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2165 prototype.
2166 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2167 prototype.
2168 (grub_efiemu_crc32): Likewise.
2169 (grub_efiemu_crc64): Likewise.
2170 (grub_efiemu_set_virtual_address_map): Likewise.
2171 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2172 New definition.
2173 (grub_autoefi_set_virtual_address_map): Likewise.
2174 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2175 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2176 Restructure flow to accomodate it.
2177 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2178 (grub_efiemu_crc): Recompute CRC32.
2179 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2180 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2181 * efiemu/symbols.c (relocated_handle): New variable.
2182 (grub_efiemu_free_syms): Free relocated_handle.
2183 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2184 (grub_efiemu_write_sym_markers): New function.
2185 (grub_efiemu_set_virtual_address_map): Likewise.
2186
2187 Newer XNU parameters.
2188
2189 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2190 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2191 (grub_xnu_fill_devicetree): New prototype.
2192 (grub_xnu_heap_real_start): New variable.
2193 * loader/xnu.c (get_name_ptr): New function.
2194 (grub_xnu_load_driver): Fill namelen and name.
2195
2196 64-bit xnu support.
2197
2198 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2199 and 'loader/macho64.c'.
2200 * conf/i386-pc.rmk: Likewise.
2201 * conf/x86_64-efi.rmk: Likewise.
2202 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2203 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2204 * include/grub/macho.h (grub_macho_segment64): New structure.
2205 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2206 (grub_macho_size32): ... to this.
2207 (grub_macho32_get_entry_point): Renamed from ...
2208 (grub_macho_get_entry_point32): ... to this.
2209 (grub_macho_contains_macho64): New prototype.
2210 (grub_macho_size64): Likewise.
2211 (grub_macho_get_entry_point64): Likewise.
2212 (grub_macho32_load): Renamed from ...
2213 (grub_macho_load32): ... to this.
2214 (grub_macho32_filesize): Renamed from ...
2215 (grub_macho_filesize32): ... to this.
2216 (grub_macho32_readfile): Renamed from ...
2217 (grub_macho_readfile32): ... to this.
2218 (grub_macho_filesize64): New prototype.
2219 (grub_macho_readfile64): Likewise.
2220 (grub_macho_parse32): Likewise.
2221 (grub_macho_parse64): Likewise.
2222 * loader/macho.c: Split into ...
2223 * loader/machoXX.c: ... and this. Replace 32 with XX.
2224 * loader/macho32.c: New file.
2225 * loader/macho64.c: Likewise.
2226 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2227 (grub_cmd_xnu_kernel): Make 32-bit only.
2228 (grub_cmd_xnu_kernel64): New function.
2229 (grub_xnu_load_driver): Support Mach-O 64.
2230 (grub_cmd_xnu_mkext): Likewise.
2231 * util/grub.d/30_os-prober.in (osx_entry): New function.
2232 Generate entries for 64-bit boot too.
2233
2234 Eliminate ad-hoc tree format in XNU and EfiEmu.
2235
2236 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2237 * efiemu/pnvram.c: Rewritten to use environment variables.
2238 All users updated.
2239
2240 Inline utf16_to_utf8.
2241
2242 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2243 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2244 All users updated.
2245 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2246
2247 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2248 * commands/usbtest.c (grub_usb_get_string): ... move here.
2249 (usb_print_str): Fix error handling.
2250 * include/grub/usb.h (grub_usb_get_string): Remove.
2251
2252 UTF-8 to UTF-16 transformation.
2253
2254 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2255 (charset_mod_SOURCES): New variable.
2256 (charset_mod_CFLAGS): Likewise.
2257 (charset_mod_LDFLAGS): Likewise.
2258 * include/grub/utf.h: New file.
2259 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2260
2261 Support for device properties.
2262
2263 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2264 (grub_xnu_devprop_device_header): Likewise.
2265 (grub_xnu_devprop_device_descriptor): Likewise.
2266 (grub_xnu_devprop_add_device): New prototype.
2267 (grub_xnu_devprop_remove_device): Likewise.
2268 (grub_xnu_devprop_remove_property): Likewise.
2269 (grub_xnu_devprop_add_property_utf8): Likewise.
2270 (grub_xnu_devprop_add_property_utf16): Likewise.
2271 (grub_cpu_xnu_init): Likewise.
2272 (grub_cpu_xnu_fini): Likewise.
2273 (grub_cpu_xnu_unload): Likewise.
2274 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2275 (property_descriptor): Likewise.
2276 (devices): New variable.
2277 (grub_xnu_devprop_remove_property): New function.
2278 (grub_xnu_devprop_add_device): Likewise.
2279 (grub_xnu_devprop_remove_device): Likewise.
2280 (grub_xnu_devprop_add_property): Likewise.
2281 (grub_xnu_devprop_add_property_utf8): Likewise.
2282 (grub_xnu_devprop_add_property_utf16): Likewise.
2283 (hextoval): Likewise.
2284 (grub_cpu_xnu_fill_devprop): Likewise.
2285 (grub_cmd_devprop_load): Likewise.
2286 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2287 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2288 (cmd_devprop_load): New variable.
2289 (grub_cpu_xnu_init): New function.
2290 (grub_cpu_xnu_fini): Likewise.
2291 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2292 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2293 (grub_cmd_xnu_devtree): Likewise.
2294 (hextoval): New function.
2295 (unescape): Likewise.
2296 (grub_xnu_fill_devicetree): Likewise.
2297
2298 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2299 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2300
0945f181
VS
23012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 Workaround for broken ATI VBE.
2304
2305 * video/i386/pc/vbe.c (last_set_mode): New variable.
2306 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2307 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2308 (grub_video_vbe_setup): Don't check for reserved flag.
2309
0ad46fd7 23102009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2311
2312 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2313 the `find' command.
2314
c179ebe4
VS
23152009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 UUID support for HFS.
2318
2319 * fs/hfs.c (grub_hfs_uuid): New function.
2320 (grub_hfs_fs): New value .uuid.
2321 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2322
0ad46fd7 23232009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2324
2325 Fix a segfault with parsing unknown long options.
2326
2327 * util/grub-mkrelpath.c (options): Zero terminate it.
2328
c4a3e41a
CPE
23292009-12-13 Carles Pina i Estany <carles@pina.cat>
2330
2331 * include/grub/misc.h (grub_puts): New declaration.
2332 (grub_puts_): Likewise.
a22008a6 2333 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2334 (grub_puts_): Likewise.
2335
2e8a7602
RM
23362009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2337
2338 * util/grub-probe.c (probe): Improve error message.
2339
b50b77b9
RM
23402009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2341
2342 * loader/i386/multiboot_elfxx.c
2343 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2344 initialization.
2345
23462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Relocator framework
2349
2350 * loader/i386/xnu_helper.S: Removed. All users updated.
2351 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2352 (relocator_mod_SOURCES): New variable.
2353 (relocator_mod_CFLAGS): Likewise.
2354 (relocator_mod_LDFLAGS): Likewise.
2355 (relocator_mod_ASFLAGS): Likewise.
2356 * conf/x86_64.rmk: Likewise.
2357 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2358 (grub_multiboot_payload_entry_offset): Likewise.
2359 (grub_multiboot_forward_relocator): Likewise.
2360 (grub_multiboot_forward_relocator_end): Likewise.
2361 (grub_multiboot_backward_relocator): Likewise.
2362 (grub_multiboot_backward_relocator_end): Likewise.
2363 (grub_multiboot_payload_eip): New variable.
2364 (grub_multiboot_payload_orig): Likewise.
2365 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2366 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2367 * include/grub/i386/memory.h
2368 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2369 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2370 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2371 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2372 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
2373 * include/grub/i386/relocator.h: New file.
2374 * include/grub/x86_64/relocator.h: Likewise.
2375 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
2376 (XNU_RELOCATOR): New macro.
2377 (grub_xnu_launcher_start): Remove.
2378 (grub_xnu_launcher_end): Likewise.
2379 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
2380 (grub_xnu_heap_real_start): Remove.
2381 (grub_xnu_heap_start): Change to void *. All users updated.
2382 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
2383 * lib/i386/relocator.c: New file.
2384 * lib/i386/relocator_asm.S: Likewise.
2385 * lib/i386/relocator_backward.S: Likewise.
2386 * lib/mips/relocator.c: Likewise.
2387 * lib/mips/relocator_asm.S: Likewise.
2388 * lib/relocator.c: Likewise.
2389 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
2390 (entry): Removed.
2391 (playground): Likewise.
2392 (grub_multiboot_payload_orig): New variable.
2393 (grub_multiboot_payload_dest): Likewise.
2394 (grub_multiboot_payload_size): Likewise.
2395 (grub_multiboot_payload_eip): Likewise.
2396 (grub_multiboot_payload_esp): Likewise.
2397 (grub_multiboot_boot): Use grub_relocator32_boot.
2398 (grub_multiboot_unload): Free relocators.
2399 (grub_multiboot): Setup stack. Use relocators.
2400 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
2401 (grub_multiboot_load_elfXX): Use relocators.
2402 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
2403 (grub_multiboot_payload_size): Likewise.
2404 (grub_multiboot_payload_dest): Likewise.
2405 (grub_multiboot_payload_entry_offset): Likewise.
2406 (grub_multiboot_forward_relocator): Likewise.
2407 (grub_multiboot_backward_relocator): Likewise.
2408 (grub_multiboot_real_boot): Likewise.
2409 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
2410 (grub_xnu_entry_point): Likewise.
2411 (grub_xnu_arg1): Likewise.
2412 (grub_xnu_stack): Likewise.
2413 (grub_xnu_launch): Removed.
2414 (grub_xnu_boot_resume): New function.
2415 (grub_xnu_boot): Use relocators.
2416 * loader/i386/xnu_helper.S: Removed.
2417 * loader/xnu.c (grub_xnu_heap_start): New variable.
2418 (grub_xnu_heap_size): Likewise.
2419 (grub_xnu_heap_malloc): Use relocators.
2420 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
2421
29eb90c6
VS
24222009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
2425 anything.
2426
31027430
CPE
24272009-12-13 Carles Pina i Estany <carles@pina.cat>
2428
2429 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
2430 GRUB_ERR_NONE before calling grub_env_set.
2431
dc0c71d9
RM
24322009-12-12 Robert Millan <rmh@aybabtu.com>
2433
2434 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
2435 * genmk.rb (video): New variable.
2436 (CLEANFILES, VIDEOFILES): Add #{video}.
2437 (#{video}): New target rule.
2438 * genvideolist.sh: New file.
2439 * Makefile.in (pkglib_DATA): Add video.lst.
2440 (video.lst): New target rule.
2441 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
2442 `video.lst'.
2443 * util/grub.d/30_os-prober.in: Replace `vbe' with
2444 ${GRUB_VIDEO_BACKEND}.
2445
2a4bfcf0
RM
24462009-12-11 Robert Millan <rmh.grub@aybabtu.com>
2447
2448 * THANKS: Add David Miller.
2449
2a3aa4d5
RM
24502009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 libpciaccess support.
2453
2454 * Makefile.in (LIBPCIACCESS): New variable.
2455 (enable_grub_emu_pci): Likewise.
2456 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
2457 util/pci.c and commands/lspci.c.
2458 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
2459 * configure.ac (grub-emu-pci): New option.
2460 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
2461 (grub_pci_device_unmap_range): Likewise.
2462 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
2463 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
2464 (grub_pci_address_t) [!GRUB_UTIL]: New type.
2465 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
2466 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
2467 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
2468 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
2469 * include/grub/pciutils.h: New file.
2470 * util/pci.c: Likewise.
2471
0ad46fd7 24722009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
2473
2474 * util/misc.c: Don't include <errno.h> twice.
2475
0ad46fd7 24762009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
2477
2478 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
2479 name in an error message.
2480 (grub_biosdisk_rw): Likewise.
2481
2e59983c
VS
24822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Eliminate NTFS 4Gib barrier.
2485
2486 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
2487 (read_run_data): Likewise.
2488 (grub_ntfs_read_run_list): Likewise.
2489 (grub_ntfs_read_block): Likewise.
2490 (grub_ntfs_iterate_dir): Likewise.
2491 (read_mft): Likewise.
2492 (read_data): Likewise.
2493 Use COM_LOG_LEN.
2494 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
2495 to avoid 64-bit division
2496 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
2497 (grub_ntfs_rlst): Use grub_disk_addr_t.
2498
71ee178a
VS
24992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Eliminate grub-fstest 4Gib barrier.
2502
2503 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
2504 (read_file): Fix error reporting.
2505
2520d4b8
VS
25062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 Eliminate hexdump 4Gib barrier.
2509
2510 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
2511 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
2512
e1f27065
VS
25132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
2516 Fixes amarsh bug.
2517
1a0f7f45
RM
25182009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
2519
2520 Remove miscellaneous files in distclean target.
2521
2522 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2523
c631d9fb
CW
25242009-12-09 Colin Watson <cjwatson@ubuntu.com>
2525
2526 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
2527 if they're already set. This resolves the conflict between my
2528 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
2529 fixing the --grub-probe option again.
2530 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
2531 change on 2009-10-06, so that we now once again source
2532 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2533
7c7b6106
RM
25342009-12-08 Robert Millan <rmh.grub@aybabtu.com>
2535
2536 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
2537 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
2538 `util/devicemap.c'.
2539
e3069ec1
CPE
25402009-12-08 Carles Pina i Estany <carles@pina.cat>
2541
2542 * include/grub/misc.h (grub_printf_): New declaration.
2543 * kern/misc.c (grub_printf_): New definition.
2544 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
2545 instead of `grub_printf' and `_'.
2546 * normal/menu_entry.c (store_completion): Likewise.
2547 (run): Likewise.
2548 (grub_menu_entry_run): Likewise.
2549 * normal/menu_text.c (grub_wait_after_message): Likewise.
2550 (notify_booting): Likewise.
2551 (notify_fallback): Likewise.
2552 (notify_execution_failure): Likewise.
2553
d6ceebf1
CW
25542009-12-07 Colin Watson <cjwatson@ubuntu.com>
2555
2556 * configure.ac: Check for vasprintf.
2557 * util/misc.c (asprintf): Move allocation from here ...
2558 (vasprintf): ... to here. New function.
2559 (xasprintf): New function.
2560 * include/grub/util/misc.h (vasprintf, xasprintf): Add
2561 prototypes.
2562 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2563 * util/grub-mkfont.c (write_font): Likewise.
2564 * util/grub-probe.c (probe): Likewise.
2565 * util/hostdisk.c (make_device_name): Likewise.
2566
de6daa8b
DM
25672009-12-06 David S. Miller <davem@sunset.davemloft.net>
2568
2569 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
2570 anything even prefixed with 'cdrom' as a cdrom.
2571
0ad46fd7 25722009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
2573
2574 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
2575 mount points.
2576
98d3dc02
CPE
25772009-12-05 Carles Pina i Estany <carles@pina.cat>
2578
2579 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
2580 grub_gettext_msg_list.
2581 (grub_gettext_gettranslation_from_position): Return const char *
2582 and not char *.
a2c1332b 2583 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
2584 returns from the list if existing there.
2585 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
2586 (grub_gettext_delete_list): Delete the list.
2587 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
2588 lang environment variable is changed.
2589 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
2590
b283f108
VS
25912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Rename kernel.mod to kernel.img.
2594
2595 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
2596 (kernel_mod_EXPORTS): Rename to ...
2597 (kernel_img_EXPORTS): ... this.
2598 (kernel_mod_SOURCES): Rename to ...
2599 (kernel_img_SOURCES): ... this.
2600 (kernel_mod_HEADERS): Rename to ...
2601 (kernel_img_HEADERS): ... this. All users updated.
2602 (kernel_mod_CFLAGS): Rename to ...
2603 (kernel_img_CFLAGS): ... this.
2604 (kernel_mod_ASFLAGS): Rename to ...
2605 (kernel_img_ASFLAGS): ... this.
2606 (kernel_mod_LDFLAGS): Rename to ...
2607 (kernel_img_LDFLAGS): ... this.
2608 * conf/x86_64-efi.rmk: Likewise.
2609 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
2610 (read_kernel_image): ... this. All users updated.
2611 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
2612
69055f8a
CPE
26132009-12-05 Carles Pina i Estany <carles@pina.cat>
2614
2615 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
2616 (print_spaces): New function.
2617 (grub_print_ucs4): New function.
2618 (getstringwidth): New function.
2619 (print_message_indented): New function.
2620 (print_message): Gettexttize strings using print_message_indented.
2621 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
2622 width.
2623 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 2624 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
2625 Gettextize.
2626 * normal/menu_entry.c (store_completion): Cleanup the gettextized
2627 string.
2628 (run): Likewise.
2629 (grub_menu_entry_run): Likewise.
2630 * PO/POTFILES: Add normal/menu_entry.c.
2631
f616f51c
VS
26322009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
2635
57bbe3be
CPE
26362009-12-05 Carles Pina i Estany <carles@pina.cat>
2637
2638 * util/grub-install.in: Install gettext .mo files.
2639 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
2640
013d67a1
CPE
26412009-12-05 Carles Pina i Estany <carles@pina.cat>
2642
2643 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
2644 grub_dprintf.
2645
fb954db0
RM
26462009-12-05 Robert Millan <rmh.grub@aybabtu.com>
2647
2648 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
2649 non-firmware-dependant one in realmode.S takes precedence.
2650
6b8474f8
RM
26512009-12-04 Robert Millan <rmh.grub@aybabtu.com>
2652
2653 * commands/halt.c: Replace misc arch-specific headers with
2654 `<grub/misc.h>'.
2655 * commands/reboot.c: Likewise.
2656 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
2657 `<grub/misc.h>'.
2658 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
2659 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
2660 (kernel_img_SOURCES): ... to here.
2661
2662 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
2663 * include/grub/i386/pc/init.h: Likewise.
2664 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2665 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2666
2667 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
2668
2669 * include/grub/i386/halt.h: Remove.
2670 * include/grub/i386/reboot.h: Likewise.
2671
2672 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2673
4b2e6ca2
DM
26742009-12-03 David S. Miller <davem@sunset.davemloft.net>
2675
2676 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
2677 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
2678 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
2679 "progname.h"
2680 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2681 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2682 (usage): Add missing comma in printf.
2683
5239348f
RM
26842009-12-02 Robert Millan <rmh.grub@aybabtu.com>
2685
2686 Use the same reboot approach on i386 coreboot and qemu as we do on
2687 BIOS.
2688
2689 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
2690 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
2691 * kern/i386/reboot.c: Remove.
2692 * include/grub/i386/reboot.h (grub_reboot): Export function.
2693 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
2694 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
2695 0xf000:0xfff0 instead of 0xffff:0x0000.
2696 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
2697 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
2698
ef34cbd4
RM
26992009-11-30 Robert Millan <rmh.grub@aybabtu.com>
2700
2701 Fix $srcdir != $objdir build.
2702
2703 * Makefile.in (po/%.po): Rewrite as ...
2704 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
2705
dc9837ea
ST
27062009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
2707
2708 Fix GNU/Hurd grub-install crash.
2709 * util/grub-probe.c (probe): Try to access `path' only when it is not
2710 NULL.
2711
2f857f98
VS
27122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Correct module naming.
2715
2716 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2717 (GRUB_MOD_INIT(efi_uga)): ... to this
2718 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2719 (GRUB_MOD_FINI(efi_uga)): ... to this
2720 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2721 (GRUB_MOD_INIT(efi_gop)): ... to this
2722 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2723 (GRUB_MOD_FINI(efi_gop)): ... to this
2724
c5448046
RM
27252009-11-28 Robert Millan <rmh.grub@aybabtu.com>
2726
2727 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
2728 translatable.
2729 (usage): Translate `arg' strings using gettext().
2730 Thanks to Jordi Mallach for the suggestion.
2731
c85184ad
VS
27322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 GOP support. Based on patch from Bean
2735 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2736
2737 * video/efi_gop.c: New file.
2738 * include/grub/efi/graphics_output.h: Likewise.
2739 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
2740 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2741 variables.
2742 * conf/x86_64-efi.rmk: Likewise.
2743
8a4c48d8
VS
27442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 Rename efi_fb to efi_uga.
2747
2748 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2749 'efi_uga.mod'.
2750 (efi_fb_mod_SOURCES): Rename this ...
2751 (efi_uga_mod_SOURCES): ... to this.
2752 (efi_fb_mod_CFLAGS): Rename this ...
2753 (efi_uga_mod_CFLAGS): ... to this.
2754 (efi_fb_mod_LDFLAGS): Rename this ...
2755 (efi_uga_mod_LDFLAGS): ... to this.
2756 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2757 'efi_uga.mod'.
2758 (efi_fb_mod_SOURCES): Rename this ...
2759 (efi_uga_mod_SOURCES): ... to this.
2760 (efi_fb_mod_CFLAGS): Rename this ...
2761 (efi_uga_mod_CFLAGS): ... to this.
2762 (efi_fb_mod_LDFLAGS): Rename this ...
2763 (efi_uga_mod_LDFLAGS): ... to this.
2764 * video/efi_fb.c: Move this ...
2765 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2766
fb6c1a7b
RM
27672009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2768
2769 * po/README: New file. Explain our PO file workflow.
2770
3bc7896c
RM
27712009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2772
2773 * po/ChangeLog: Remove. Move relevant entries back to ...
2774 * ChangeLog: ... here.
2775 * po/ca.po: Remove (now handled by TLP).
2776 * po/id.po: Likewise.
2777 * po/zh_CN.po: Likewise.
2778 * Makefile.in (LINGUAS): Initialize in a way that supports
2779 empty set.
2780
9ed4841d
RM
27812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2782
2783 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2784 reliing on po/LINGUAS.
2785 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2786 (po/%.po): ... this.
2787
0ad46fd7 27882009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2789
2790 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2791 (main): Use `program_name' instead of nonexistent `progname'.
2792
e30dd392
FZ
27932009-11-26 Felix Zielcke <fzielcke@z-51.de>
2794
2795 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2796 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2797
7656de4f
RM
27982009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2799
2800 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2801 commit.
2802 * conf/i386-efi.rmk: Likewise.
2803 * conf/i386-ieee1275.rmk: Likewise.
2804 * conf/powerpc-ieee1275.rmk: Likewise.
2805 * conf/sparc64-ieee1275.rmk: Likewise.
2806 * conf/x86_64-efi.rmk: Likewise.
2807
db77c4d4
FZ
28082009-11-26 Felix Zielcke <fzielcke@z-51.de>
2809
2810 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2811
a755bb04
FZ
28122009-11-26 Felix Zielcke <fzielcke@z-51.de>
2813
2814 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2815
8a4c07fd
RM
28162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2817
2818 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2819 (grub_mkdevicemap_SOURCES): New variable.
2820 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2821 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2822 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2823 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2824 (grub_mkdevicemap_SOURCES): Remove.
2825 * conf/i386-efi.rmk: Likewise.
2826 * conf/i386-ieee1275.rmk: Likewise.
2827 * conf/i386-pc.rmk: Likewise.
2828 * conf/powerpc-ieee1275.rmk: Likewise.
2829 * conf/sparc64-ieee1275.rmk: Likewise.
2830 * conf/x86_64-efi.rmk: Likewise.
2831 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2832 (usage): Fix strings to use `program_name'.
2833 (main): Initialize gettext.
2834 * util/grub-editenv.c: Likewise.
2835 * util/grub-emu.c: Likewise.
2836 * util/grub-fstest.c: Likewise.
2837 * util/grub-mkdevicemap.c: Likewise.
2838 * util/grub-mkfont.c: Likewise.
2839 * util/grub-mkrelpath.c: Likewise.
2840 * util/grub-pe2elf.c: Likewise.
2841 * util/grub-probe.c: Likewise.
2842 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2843 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2844 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2845
2846 * util/misc.c: Include `"progname.h"'.
2847 (progname): Remove variable.
2848 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
2849
6f61ed55
FZ
28502009-11-25 Felix Zielcke <fzielcke@z-51.de>
2851
2852 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
2853 printf and print a newline after the menuentry header line.
2854 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2855
f022876b
FZ
28562009-11-25 Felix Zielcke <fzielcke@z-51.de>
2857
2858 autoconf >= 2.60 support $(localedir).
2859
2860 * INSTALL: Note that autoconf 2.60 is required.
2861 * configure.ac (AC_PREREQ): Bump to 2.60.
2862 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
2863 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2864
6717926e
YB
28652009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
2866
2867 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
2868 aclocal is run.
2869
08806a54
RM
28702009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2871
2872 * normal/main.c (grub_normal_read_line): Fix off-by-one
2873 buffer overflow.
2874
13b33fba
RM
28752009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2876
2877 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
2878 "parser.grub" in grub_command_execute() call.
2879
4a8572e9
CPE
28802009-11-24 Carles Pina i Estany <carles@pina.cat>
2881
2882 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
2883 * conf/i386-efi.rmk: Likewise.
2884 * conf/i386-ieee1275.rmk: Likewise.
2885 * conf/i386-pc.rmk: Likewise.
2886 * conf/powerpc-ieee1275.rmk: Likewise.
2887 * conf/sparc64-ieee1275.rmk: Likewise.
2888 * conf/x86_64-efi.rmk: Likewise.
2889 * gettext/gettex.c: Include <grub/i18n.h>.
2890 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
2891 here ...
2892 * include/grub/i18n.h: ... to here
2893 * include/grub/i18n.h: ... to here.
2894 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 2895 (grub_gettext_dummy): Move above user.
4a8572e9 2896
bee48093
FZ
28972009-11-24 Felix Zielcke <fzielcke@z-51.de>
2898
2899 * util/Makefile.in (install-local): Convert a `for' into a normal
2900 shell expansion.
2901
a031e91c
RM
29022009-11-24 Robert Millan <rmh.grub@aybabtu.com>
2903
2904 * autogen.sh: Add automake call.
2905 * config.guess: Remove.
2906 * config.sub: Likewise.
2907 * install-sh: Likewise.
2908
26bec39d
FZ
29092009-11-24 Felix Zielcke <fzielcke@z-51.de>
2910
2911 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
2912
8e2532fd
FZ
29132009-11-24 Felix Zielcke <fzielcke@z-51.de>
2914
2915 * util/Makefile.in (install-local): Convert a make `$(foreach)'
2916 function to a normal shell `for'.
2917
fefa1b7d
FZ
29182009-11-24 Felix Zielcke <fzielcke@z-51.de>
2919
2920 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2921
4501250b
FZ
29222009-11-24 Felix Zielcke <fzielcke@z-51.de>
2923
2924 * util/grub-mkrelpath.c: New file.
2925 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
2926 (grub_mkrelpath_SOURCES): New variable.
2927 * include/grub/util/misc.h: New function prototype.
2928 * util/misc.c (make_system_path_relative_to_its_root): New function.
2929
2930 * util/grub-mkconfig_lib.in (bindir): New variable.
2931 (grub_mkrelpath): Likewise.
2932 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
2933
2934 * util/probe.c (probe): Make the file path relative to its root.
2935 Change a info message to use the GRUB path. Enable again the
2936 check if we can read the file with GRUB facilities.
2937
2938 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
2939 to its root.
2940
11d9778b
FZ
29412009-11-24 Felix Zielcke <fzielcke@z-51.de>
2942
2943 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
2944 platform.
2945
4465287d
FZ
29462009-11-24 Felix Zielcke <fzielcke@z-51.de>
2947
2948 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
2949 strncmp().
2950
62b47f22
FZ
29512009-11-24 Felix Zielcke <fzielcke@z-51.de>
2952
2953 * util/getroot.c (grub_util_is_dmraid): New function.
2954 (grub_util_get_dev_abstraction): Treat dmraid and multipath
2955 devices as normal ones, not as LVM.
2956
1eafb9b9 29572009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
2958
2959 * conf/common.rmk: Add grub-gettext_lib target and updates
2960 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
2961 LDFLAGS.
2962 * gettext/gettext.c: New file. (Reads mo files).
2963 * include/grub/file.h (grub_file_pread): New prototype.
2964 * include/grub/i18n.h (_): New prototype.
2965 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
2966 prototypes.
2967 * kern/misc.c (grub_gettext_dummy): New function.
2968 * normal/menu_text.c: Include <grub/i18n.h>.
2969 * normal/menu_text.c (print_timeout): Gettexttize string.
2970 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
2971 * po/POTFILES: Add `normal/menu_text.c'.
2972 * po/ca.po: Add new translations.
c3ea6bd4
CPE
2973 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
2974 gettext module and defines locale_dir and lang in grub.cfg.
2975 * NEWS: Add gettext support.
2976
0fdb2568
RM
29772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2978
2979 * util/hostdisk.c: Include `<grub/i18n.h>'.
2980 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
2981 (make_device_name): Rewrite using asprintf.
2982 (convert_system_partition_to_system_disk): Replace 0 with NULL.
2983 (find_system_device): If a device is not found, generate one just
2984 by reusing the OS path name.
2985 (read_device_map): Make it permissible for device.map not to exist.
2986
f515aa62
RM
29872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2988
2989 * script/sh/execute.c: Move from here ...
2990 * script/execute.c: ... to here. Update all users.
2991 * script/sh/function.c: Move from here ...
2992 * script/function.c: ... to here. Update all users.
2993 * script/sh/lexer.c: Move from here ...
2994 * script/lexer.c: ... to here. Update all users.
2995 * script/sh/main.c: Move from here ...
2996 * script/main.c: ... to here. Update all users.
2997 * script/sh/parser.y: Move from here ...
2998 * script/parser.y: ... to here. Update all users.
2999 * script/sh/script.c: Move from here ...
3000 * script/script.c: ... to here. Update all users.
3001
f84b481b
RM
30022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3003
3004 * configure.ac: Detect all `emu' platforms. Define
3005 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3006 --enable-grub-emu logic. Disable include/grub/machine
3007 symlink on `emu' platforms.
3008
3009 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3010 * gensymlist.sh.in: Likewise.
3011
3012 * include/grub/i386/coreboot/machine.h: Remove file.
3013 * include/grub/i386/efi/machine.h: Likewise.
3014 * include/grub/i386/ieee1275/machine.h: Likewise.
3015 * include/grub/i386/pc/machine.h: Likewise.
3016 * include/grub/i386/qemu/machine.h: Likewise.
3017 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3018 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3019 * include/grub/x86_64/efi/machine.h: Likewise.
3020
3021 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3022 * commands/halt.c: Likewise.
3023 * commands/reboot.c: Likewise.
3024 * include/grub/autoefi.h: Likewise.
3025 * include/grub/i386/at_keyboard.h: Likewise.
3026 * include/grub/i386/kernel.h: Likewise.
3027 * include/grub/i386/loader.h: Likewise.
3028 * include/grub/i386/pc/memory.h: Likewise.
3029 * kern/dl.c: Likewise.
3030 * kern/i386/coreboot/init.c: Likewise.
3031 * loader/i386/bsd.c: Likewise.
3032 * loader/i386/linux.c: Likewise.
3033 * loader/multiboot_loader.c: Likewise.
3034 * term/i386/pc/serial.c: Likewise.
3035 * term/usb_keyboard.c: Likewise.
3036
3037 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3038 `<grub/machine/machine.h>'
3039 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3040 * util/misc.c: Remove `<grub/machine/machine.h>' and
3041 `<grub/machine/time.h>'.
3042
3043 * Makefile.in (enable_grub_emu): Remove variable.
3044 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3045
3046 * conf/any-emu.rmk: New file.
3047 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3048 (grub_emu_init.c): Move from here ...
3049 * conf/any-emu.rmk: ... to here.
3050
3051 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3052 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3053 * conf/any-emu.rmk: ... to here.
3054
4efeab03
RM
30552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3056
3057 * include/grub/parser.h (grub_parser_register): Document need
3058 of `name' parameter.
3059 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3060 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3061 "sh" to "grub".
3062
ea1dd8bf
RM
30632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3064
3065 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3066 `$(XGETTEXT)'.
3067 * include/grub/i18n.h (N_): New macro.
3068 * util/mkisofs/mkisofs.h: Likewise.
3069 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3070 around N_().
3071 (usage): Use gettext() to translate help strings when printing them.
3072
0c140626
RM
30732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3074
3075 Based on patch from Bean
3076 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3077
3078 * video/efi_fb.c: New file.
3079 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3080 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3081 variables.
3082 * conf/x86_64-efi.rmk: Likewise.
3083
87d58298
RM
30842009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3085
3086 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3087 * util/i386/pc/grub-setup.c: Likewise.
3088
994cc3a3
ST
30892009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3090
3091 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3092 <hurd/fs.h>
3093 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3094 file_get_storage_info to implement grub_guess_root_device.
3095
26a61d6a
FZ
30962009-11-21 Felix Zielcke <fzielcke@z-51.de>
3097
3098 * Makefile.in (target): Use make's builtin $(shell) function
3099 instead of calling directly $(SHELL) to create the locale directories,
3100 inside the $(foreach) function.
3101
74ff1dd5
FZ
31022009-11-21 Felix Zielcke <fzielcke@z-51.de>
3103
3104 * util/grub-mkrescue.in: Print an error and usage if output option
3105 has not been given.
3106
0b787d0e
FZ
31072009-11-21 Felix Zielcke <fzielcke@z-51.de>
3108
3109 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
3110 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3111 root and /boot are on different devices.
3112
1164b270
RM
31132009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3114
3115 Fix build for srcdir != objdir.
3116
3117 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3118 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3119 $(srcdir).
3120 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3121 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3122 reference for input.
3123
13774a2f
RM
31242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3125
3126 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3127 or hardlinking it). Remove -J option, Joliet is not compatible with
3128 multiple source directories.
3129
efda854e
RM
31302009-11-21 Carles Pina i Estany <carles@pina.cat>
31312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3132
3133 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3134 (process_input_dir): New function. Process an arbitrary input
3135 directory.
3136 Misc adjustments to support both "override mode" and system-wide mode.
3137
6c09890c
FZ
31382009-11-20 Felix Zielcke <fzielcke@z-51.de>
3139
3140 * configure.ac (UNIFONT_BDF): Rename to ...
3141 (FONT_SOURCE): ... this. Update all users.
3142
a797824f
FZ
31432009-11-20 Felix Zielcke <fzielcke@z-51.de>
3144
3145 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3146 to the list of unifont files to look for.
3147
cd4f42b0
RM
31482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3149
3150 Patch from Joe Auricchio <jauricchio@gmail.com>
3151 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3152 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3153 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3154
393c783d
FZ
31552009-11-19 Felix Zielcke <fzielcke@z-51.de>
3156
3157 * Makefile.in (install-local): Add a missing backslash.
3158
b2f1e327
FZ
31592009-11-19 Felix Zielcke <fzielcke@z-51.de>
3160
3161 * include/grub/x86_64/io.h: New file.
3162
f577f7a0
RM
31632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3164
3165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3166 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3167 Include `"progname.h"'.
3168 (main): Initialize gettext.
3169 * util/i386/pc/grub-setup.c: Gettexttize.
3170 * util/i386/pc/grub-mkimage.c: Likewise.
3171
3172 * Makefile.in (po/*.po): Redefine as ...
3173 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3174
3bc7896c
RM
3175 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3176
c37943b6
RM
31772009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3178
3179 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3180 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3181 (program_name): Remove.
3182 (main): Initialize gettext support.
6323f705
RM
3183 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3184 Include `<libintl.h>'.
3185 (_): New macro.
c37943b6
RM
3186
3187 * util/mkisofs/eltorito.c: Gettexttize.
3188 * util/mkisofs/joliet.c: Likewise.
3189 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3190 * util/mkisofs/multi.c: Likewise.
3191 * util/mkisofs/rock.c: Likewise.
3192 * util/mkisofs/tree.c: Likewise.
3193 * util/mkisofs/write.c: Likewise.
3194
3bc7896c
RM
3195 * po/POTFILES: Update with new files.
3196
5ce77c6e
RM
31972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3198
3199 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3200 * util/mkisofs/iso9660.h: Likewise.
3201 * util/mkisofs/joliet.c: Likewise.
3202 * util/mkisofs/mkisofs.c: Likewise.
3203 * util/mkisofs/mkisofs.h: Likewise.
3204 * util/mkisofs/rock.c: Likewise.
3205 * util/mkisofs/tree.c: Likewise.
3206 * util/mkisofs/write.c: Likewise.
3207
3208 * util/mkisofs/eltorito.c (rcsid): Remove.
3209 * util/mkisofs/hash.c: Likewise.
3210 * util/mkisofs/joliet.c: Likewise.
3211 * util/mkisofs/name.c: Likewise.
3212 * util/mkisofs/rock.c: Likewise.
3213 * util/mkisofs/tree.c: Likewise.
3214 * util/mkisofs/write.c: Likewise.
3215
1dabbc77
RM
32162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3217
3218 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3219 instead of static allocation.
3220 * util/mkisofs/match.h: Likewise.
3221
633877cb
RM
32222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3223
3bc7896c
RM
3224 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3225 and `util/grub.d/10_linux.in'.
633877cb
RM
3226 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3227 translatable Shell files.
3228
af1c0c85
RM
32292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3230
3231 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3232
769ae37b
RM
32332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3234
3235 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3236 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3237 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3238 Add gettext initialization.
3239 (kfreebsd_entry): Make menuentry output translatable.
3240
32412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3242
3243 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3244 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3245 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3246 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3247 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3248 * po/LINGUAS: New file.
769ae37b
RM
3249
32502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3251
3252 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3253 other things).
3254 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3255 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3256 bindtextdomain() calls for gettext initialization.
3257
32582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3259
3260 * gnulib/progname.c: New file (imported from Gnulib).
3261 * gnulib/progname.h: Likewise.
3262 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3263 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3264 (usage): Replace `progname' with `program_name'.
3265 (main): Use set_program_name() for program name initialization.
3266
32672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3268
3269 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3270 from here ...
3271 * Makefile.in (CPPFLAGS): ... to here.
3272
32732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3274
3275 * aclocal.m4: Move from here ...
3276 * acinclude.m4: ... to here.
3277 * autogen.sh: Add call to `aclocal'.
3278 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3279
32802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3281
3282 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3283 (LINGUAS): New variable.
3284 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3285 (install-local): Install MO files.
3286 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3287 * include/grub/i18n.h: New file.
3bc7896c
RM
3288 * po/POTFILES: New file.
3289 * po/ca.po: New file.
769ae37b
RM
3290 * util/grub.d/10_linux.in (bindir): New variable.
3291 Add gettext initialization.
3292 (linux_entry): Make menuentry output translatable.
3293 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3294 (usage): Make --help output translatable.
3295 (main): Initialize gettext.
3296
02c0a6ad
RM
32972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3298
3299 * import_gcry.py: New file (written by Vladimir with minor
3300 adjustments).
3301 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3302 ciphers.
3303 * INSTALL: Document that Python is required for bootstrap.
3304
33052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3306
3307 Import ciphers from libgcrypt 1.4.4.
3308
3309 * lib/libgcrypt/cipher/ChangeLog
3310 * lib/libgcrypt/cipher/ac.c
3311 * lib/libgcrypt/cipher/arcfour.c
3312 * lib/libgcrypt/cipher/bithelp.h
3313 * lib/libgcrypt/cipher/blowfish.c
3314 * lib/libgcrypt/cipher/camellia-glue.c
3315 * lib/libgcrypt/cipher/camellia.c
3316 * lib/libgcrypt/cipher/camellia.h
3317 * lib/libgcrypt/cipher/cast5.c
3318 * lib/libgcrypt/cipher/cipher.c
3319 * lib/libgcrypt/cipher/crc.c
3320 * lib/libgcrypt/cipher/des.c
3321 * lib/libgcrypt/cipher/dsa.c
3322 * lib/libgcrypt/cipher/ecc.c
3323 * lib/libgcrypt/cipher/elgamal.c
3324 * lib/libgcrypt/cipher/hash-common.c
3325 * lib/libgcrypt/cipher/hash-common.h
3326 * lib/libgcrypt/cipher/hmac-tests.c
3327 * lib/libgcrypt/cipher/md.c
3328 * lib/libgcrypt/cipher/md4.c
3329 * lib/libgcrypt/cipher/md5.c
3330 * lib/libgcrypt/cipher/primegen.c
3331 * lib/libgcrypt/cipher/pubkey.c
3332 * lib/libgcrypt/cipher/rfc2268.c
3333 * lib/libgcrypt/cipher/rijndael-tables.h
3334 * lib/libgcrypt/cipher/rijndael.c
3335 * lib/libgcrypt/cipher/rmd.h
3336 * lib/libgcrypt/cipher/rmd160.c
3337 * lib/libgcrypt/cipher/rsa.c
3338 * lib/libgcrypt/cipher/seed.c
3339 * lib/libgcrypt/cipher/serpent.c
3340 * lib/libgcrypt/cipher/sha1.c
3341 * lib/libgcrypt/cipher/sha256.c
3342 * lib/libgcrypt/cipher/sha512.c
3343 * lib/libgcrypt/cipher/tiger.c
3344 * lib/libgcrypt/cipher/twofish.c
3345 * lib/libgcrypt/cipher/whirlpool.c
3346
af2f93ac
RM
33472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3348
3349 Fix build for systems without error().
3350
3351 * gnulib/error.c: New file (imported from Gnulib).
3352 * gnulib/error.h: Likewise.
3353 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3354 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3355 (this variable is now used by error()).
3356
73fb3dd5
FZ
33572009-11-16 Felix Zielcke <fzielcke@z-51.de>
3358
814f5e96
FZ
3359 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3360 instead of relying that char is signed.
73fb3dd5 3361
a691ca33
VS
33622009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3365 blocksize different from specified.
3366 (grub_pxefs_read): Likewise.
3367
2af8f0f4
FZ
33682009-11-16 Felix Zielcke <fzielcke@z-51.de>
3369
3370 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3371
3372 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
3373 (grub_ata_readwrite): Likewise. Update 2 format strings.
3374 (grub_atapi_read): Likewise.
3375
3376 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
3377 * conf/i386.rmk (pkglib_MODULES): ... to here ...
3378 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
3379 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
3380 (ata_mod_LDFLAGS): Move from here ...
3381 * conf/i386.rmk: ... to here ...
3382 * conf/x86_64-efi.rmk: ... and here.
3383 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
3384 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
3385
83bdecaf
RM
33862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3387
3388 Relicense multiboot.h, with RMS' blessing.
3389
3390 * include/multiboot.h: Change to X11 license.
3391
fd6fd3d7
RM
33922009-11-15 Robert Millan <rmh.grub@aybabtu.com>
3393
3394 Support --version in grub-mkisofs.
3395
3396 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
3397 (OPTION_VERSION): New macro.
3398 (ld_options): Recognize --version.
3399 (usage): Move `program_name' from here ...
3400 (program_name): ... to here. Add `static' qualifier.
3401 (main): Recognize `OPTION_VERSION'.
3402
16a88c49
FZ
34032009-11-15 Felix Zielcke <fzielcke@z-51.de>
3404
3405 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
3406 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
3407
a4158476
RM
34082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3409
3410 Fix help2man generation for mkisofs.
3411
3412 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
3413 (usage): Send output to stdout (rather than stderr).
3414
fc2208b0
RM
34152009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3416
3417 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
3418 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3419 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
3420 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3421 (bin_SCRIPTS): Add `grub-mkfloppy'.
3422 (grub_mkfloppy_SOURCES): New variable.
3423
3424 * util/grub-mkrescue.in: New file.
3425 * util/i386/pc/grub-mkfloppy.in: New file.
3426
3427 * util/i386/coreboot/grub-mkrescue.in: Remove.
3428 * util/i386/pc/grub-mkrescue.in: Remove.
3429
8d0edf4a
RM
34302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3431
3432 * include/grub/multiboot.h (struct grub_multiboot_header): Move
3433 from here ...
3434 * include/multiboot.h (struct multiboot_header): ... to here. Update
3435 all users.
3436 * include/grub/multiboot.h (struct grub_multiboot_info): Move
3437 from here ...
3438 * include/multiboot.h (struct multiboot_info): ... to here. Update
3439 all users.
3440 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
3441 from here ...
3442 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
3443 Update all users.
3444 * include/grub/multiboot.h (struct grub_mod_list): Move
3445 from here ...
3446 * include/multiboot.h (struct multiboot_mod_list): ... to here.
3447 Update all users.
3448
a73f5969
RM
34492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3450
3451 * include/multiboot2.h (multiboot_word): Rename from this ...
3452 (multiboot2_word): ... to this. Update all users.
3453 (multiboot_header): Rename from this ...
3454 (multiboot2_header): ... to this. Update all users.
3455 (multiboot_tag_header): Rename from this ...
3456 (multiboot2_tag_header): ... to this. Update all users.
3457 (multiboot_tag_start): Rename from this ...
3458 (multiboot2_tag_start): ... to this. Update all users.
3459 (multiboot_tag_name): Rename from this ...
3460 (multiboot2_tag_name): ... to this. Update all users.
3461 (multiboot_tag_module): Rename from this ...
3462 (multiboot2_tag_module): ... to this. Update all users.
3463 (multiboot_tag_memory): Rename from this ...
3464 (multiboot2_tag_memory): ... to this. Update all users.
3465 (multiboot_tag_unused): Rename from this ...
3466 (multiboot2_tag_unused): ... to this. Update all users.
3467 (multiboot_tag_end): Rename from this ...
3468 (multiboot2_tag_end): ... to this. Update all users.
3469
1c8927f0
RM
34702009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3471
3472 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
3473 this platform we should support Multiboot1 first.
3474
3475 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3476 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
3477 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
3478
6e1e0d89
RM
34792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3480
3481 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
3482 of write calls (converting them to fwrite() if they aren't already).
3483 (get_torito_desc): Likewise.
3484 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
3485
7f2b34d8
RM
34862009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3487
3488 * util/i386/pc/grub-install.in: Move from here ...
3489 * util/grub-install.in: ... to here. Update all users.
3490
c0ef3311
CW
34912009-11-11 Colin Watson <cjwatson@ubuntu.com>
3492
3493 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
3494
e1f240ff
RM
34952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3496
3497 Support for El Torito without floppy emulation.
3498
3499 * util/mkisofs/eltorito.c: Include `<errno.h>'.
3500 (init_boot_catalog): Improve error handling.
3501 (get_torito_desc): Don't use floppy emulation unless requested by
3502 user. Patch boot information table when requested via
3503 `-boot-info-table'.
3504 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
3505 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
3506 (use_boot_info_table): New variables.
3507 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
3508 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
3509 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
3510 `--eltorito-emul-floppy'.
3511 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
3512 and `OPTION_ELTORITO_EMUL_FLOPPY'.
3513 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
3514 (use_boot_info_table, get_731): New prototypes.
3515 * util/mkisofs/write.c (get_731): New function.
3516
af7d4de5
FZ
35172009-11-11 Felix Zielcke <fzielcke@z-51.de>
3518
3519 Fix the generation of the man page.
3520
3521 * util/pc/i386/grub-install.in: Source
3522 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3523
2c55dbc0
RM
35242009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3525
3526 Large file support for grub-mkisofs.
3527
3528 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
3529 * util/mkisofs/mkisofs.c (next_extent, last_extent)
3530 (session_start): Upgrade type to `uint64_t'. Update all users.
3531 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
3532 (struct directory_entry): Upgrade type of `starting_block' and
3533 `size' to `uint64_t'. Update all users.
3534 (struct deferred): Remove unused structure.
3535 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
3536 Update all users.
3537 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
3538 file is larger than `UINT32_MAX'.
3539 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
3540 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
3541 return value.
3542 (struct deferred_write): Upgrade type of `extent' and `size' to
3543 `uint64_t'. Update all users.
3544 (last_extent_written): Upgrade type to `uint64_t'. Update all
3545 users.
3546 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
3547 Update all users. Upgrade type of `remain' to `int64_t' and
3548 `use' to `size_t'. Use error() to handle fread() errors.
3549 (write_files): Rely on write_one_file() rather than calling
3550 xfwrite() directly.
3551
6a9cead5
FZ
35522009-11-09 Felix Zielcke <fzielcke@z-51.de>
3553
3554 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
3555
4825d790
RM
35562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3557
3558 * util/mkisofs/fnmatch.c: Remove.
3559 * util/mkisofs/getopt1.c: Likewise.
3560 * util/mkisofs/getopt.c: Likewise.
3561 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
3562 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
3563 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
3564 `gnulib/getopt1.c' and `gnulib/getopt.c'.
3565 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
3566
3567 * configure.ac: Detect `mingw32msvc' host_os.
3568 Check for lstat(), getuid() and getgid().
3569
3570 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
3571 instances of `u_char' with `uint8_t'.
3572
3573 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
3574 [!HAVE_GETUID] (getuid): New function (stub).
3575 [!HAVE_GETGID] (getgid): Likewise.
3576 [!HAVE_LSTAT] (lstat): Likewise.
3577 [!S_IROTH] (S_IROTH): New macro (dummy).
3578 [!S_IRGRP] (S_IRGRP): Likewise.
3579
84b860d8
RM
35802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3581
3582 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
3583 conditional expression).
3584
66e9b712
RM
35852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3586
3587 Import from Gnulib.
3588
3589 * gnulib/fnmatch.c: New file.
3590 * gnulib/fnmatch.h: Likewise.
3591 * gnulib/fnmatch_loop.c: Likewise.
3592 * gnulib/getopt.c: Likewise.
3593 * gnulib/getopt.h: Likewise.
3594 * gnulib/getopt1.c: Likewise.
3595 * gnulib/getopt_int.h: Likewise.
3596 * gnulib/gettext.h: Likewise.
3597
34f4a5b0
RM
35982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3599
3600 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
3601 * normal/handler.c (read_handler_list): Likewise.
3602
ac451143
RM
36032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3604
3605 Misc cleanup.
3606
3607 * kern/command.c (grub_register_command_prio): Use
3608 grub_zalloc() instead of explicitly zeroing data.
3609 * kern/list.c: Include `<grub/mm.h>'.
3610 (grub_named_list_find): Replace `0' with `NULL'.
3611 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
3612 (fs_module_list): Change type to `grub_named_list_t'. Update all
3613 users.
3614 * normal/dyncmd.c (read_command_list): Add space between function
3615 call and parenthesis.
3616 * normal/handler.c (read_handler_list): Likewise.
3617
4089b167
RM
36182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3619
3620 * normal/auth.c (punishment_delay): Moved from here ...
3621 (grub_auth_strcmp): ... to here (inside function).
3622
325f5037
RM
36232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3624
3625 * include/grub/list.h (struct grub_named_list): Remove `const'
3626 qualifier from `name'.
3627 (struct grub_prio_list): Likewise.
3628
7aea29a3
RM
36292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3630
3631 * normal/auth.c: Include `<grub/time.h>'.
3632 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
3633
3fd6f044
RM
36342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3635
3636 * normal/auth.c (punishment_delay): New variable.
3637 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
3638 (grub_auth_check_authentication): Punish failed login attempts with
3639 an incremental (2^N) delay.
3640
a4cd68e4
RM
36412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3642
3643 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
3644 path with $(srcdir).
3645
7ad12f43
VS
36462009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
3649
c1129f03
RM
36502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3651
3652 * util/i386/coreboot/grub-mkrescue.in: New file.
3653 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
3654 variables.
3655
3656 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
3657 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
3658 * configure.ac: Add header and function checks to satisfy grub-mkisofs
3659 requirements.
3660 * util/mkisofs/defaults.h: New file.
3661 * util/mkisofs/eltorito.c: Likewise.
3662 * util/mkisofs/exclude.h: Likewise.
3663 * util/mkisofs/fnmatch.c: Likewise.
3664 * util/mkisofs/getopt.c: Likewise.
3665 * util/mkisofs/getopt1.c: Likewise.
3666 * util/mkisofs/hash.c: Likewise.
3667 * util/mkisofs/include/fctldefs.h: Likewise.
3668 * util/mkisofs/include/mconfig.h: Likewise.
3669 * util/mkisofs/include/prototyp.h: Likewise.
3670 * util/mkisofs/include/statdefs.h: Likewise.
3671 * util/mkisofs/iso9660.h: Likewise.
3672 * util/mkisofs/joliet.c: Likewise.
3673 * util/mkisofs/match.c: Likewise.
3674 * util/mkisofs/match.h: Likewise.
3675 * util/mkisofs/mkisofs.c: Likewise.
3676 * util/mkisofs/mkisofs.h: Likewise.
3677 * util/mkisofs/multi.c: Likewise.
3678 * util/mkisofs/name.c: Likewise.
3679 * util/mkisofs/rock.c: Likewise.
3680 * util/mkisofs/tree.c: Likewise.
3681 * util/mkisofs/write.c: Likewise.
3682
ec8bb77d
VS
36832009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
3686 being insecure.
3687
3716b12c
RM
36882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3689
3690 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
3691 `grub-mkimage' (and use $0 when possible).
3692
b97b7b91
RM
36932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3694
3695 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
3696 error message for excessively large memory map.
3697
04114812
RM
36982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3699
3700 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
3701 executable bit.
3702
e4eb2373
RM
37032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3704
3705 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
3706 message for coreboot users.
3707
c926e1d5 37082009-11-07 Robert Millan <rmh.grub@aybabtu.com>
3709
3710 Fix build with GNU gold.
3711
3712 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
3713 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
3714 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
3715 link addresses.
3716 * aclocal.m4: Likewise.
3717
86e5b1db 37182009-11-04 Felix Zielcke <fzielcke@z-51.de>
3719
3720 * configure.ac (AC_PREREQ): Bump to 2.59d.
3721 * INSTALL: Make it more clear when Autoconf and Ruby are
3722 needed and when to run `./autogen.sh'.
3723
246cd78f 37242009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3725
3726 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
3727 OSes.
3728
4f9dfb37 37292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3730
3731 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
3732
b82bd5e1 37332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3734
3735 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
3736 giving it to GNU Mach.
3737
ff1a9bca 37382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3739
3740 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
3741 GNU partition number to get internal GRUB partition number.
3742
61697d9c 37432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3744
3745 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
3746 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
3747
a50569e1 37482009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3749
3750 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3751 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3752 case.
3753
5b153867 37542009-11-01 Felix Zielcke <fzielcke@z-51.de>
3755
3756 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3757
d9e2cd70 37582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3759
3760 Fix build problem.
3761
3762 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3763 `-isystem=$(srcdir)/include'.
3764
805111a4 37652009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3766
3767 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3768 checked (grub-install doesn't currently rely on it).
3769
fa6e945f 37702009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3771
3772 Revert SVN r2660.
3773
3774 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3775 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3776 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3777 * conf/i386-ieee1275.rmk: Likewise.
3778 * conf/i386-pc.rmk: Likewise.
3779 * conf/powerpc-ieee1275.rmk: Likewise.
3780 * conf/sparc64-ieee1275.rmk: Likewise.
3781 * conf/x86_64-efi.rmk: Likewise.
3782
cee15086 37832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3784
3785 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3786
95b9239e 37872009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3788
3789 * include/grub/misc.h: Stop checking for APPLE_CC.
3790
2ed19dfd 37912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3792
3793 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3794 doesn't cause an infinite call loop.
3795
fdcdde19 37962009-10-28 Felix Zielcke <fzielcke@z-51.de>
3797
3798 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3799 strings.
3800
cefabfe1 38012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3802
3803 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3804 variable.
3805 * Makefile.in: Likewise.
3806
ed96ab6d 38072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3808
3809 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3810
0579b753 38112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3812
3813 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3814
478df409 38152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3816
3817 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3818
083d1679 38192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3820
3821 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3822 from here ...
3823 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3824
5947ae32 38252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3826
3827 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3828 in $(MAKEINFO) invocation. This makes it clear in output that
3829 errors are being ignored.
3830
94180ff6 38312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3832
3833 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3834 from here ...
3835 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3836 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
3837 * conf/i386-ieee1275.rmk: Likewise.
3838 * conf/i386-pc.rmk: Likewise.
3839 * conf/powerpc-ieee1275.rmk: Likewise.
3840 * conf/sparc64-ieee1275.rmk: Likewise.
3841 * conf/x86_64-efi.rmk: Likewise.
3842
9031b03a 38432009-10-26 Colin Watson <cjwatson@ubuntu.com>
3844
3845 * util/grub-editenv.c (main): If only a command is given, use
3846 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
3847 (usage): FILENAME is now optional and has a default.
3848
e4f6809b 38492009-10-26 Colin Watson <cjwatson@ubuntu.com>
3850
3851 Improve grub-mkconfig performance when there are several menu
3852 entries on a single filesystem.
3853
3854 * util/grub.d/10_linux.in (linux_entry): Cache the output of
3855 prepare_grub_to_access_device.
3856 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3857 * util/grub.d/30_os-prober.in: Likewise.
3858
67937d4d 38592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3860
3861 * util/grub.d/10_freebsd.in: Remove.
3862 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
3863 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
3864
ee3756cc 38652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3866
5c35048e 3867 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 3868
4dea1c6f 38692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3870
3871 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
3872 grub_util_error() call.
3873
042484d7 38742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3875
3876 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
3877 `reserved_first_sector' member.
3878 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
3879 `reserved_first_sector' to 1.
3880 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
3881 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
3882 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
3883 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
3884 filesystems which begin at first sector.
3885 (options): New option --skip-fs-probe.
3886 (main): Handle --skip-fs-probe and pass it to setup().
3887
d64448a7 38882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3889
3890 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
3891 (memset): Fix function prototype.
3892
508d42ec 38932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
38942009-10-25 Vasily Averin <vvs@parallels.com>
3895
3896 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
3897 `dirent.direntlen == 0'.
3898
b240e30c 38992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3900
3901 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
3902 `cpio'.
3903 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
3904
346e7fbe 39052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3906
3907 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
3908 `__trampoline_setup' and `__ucmpdi2'.
3909 * include/grub/powerpc/libgcc.h: Only export symbols for functions
3910 that libgcc provides.
3911
cdb308b0 39122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3913
3914 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
3915 * include/grub/sparc64/libgcc.h (memset): Likewise.
3916 * include/grub/misc.h (memset, memcmp): New function prototypes.
3917
fb26abc2 39182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3919
3920 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
3921 `cpio'.
3922 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
3923
f6693890 39242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3925
3926 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
3927 * docs/grub.cfg: Compensate for recent change in multiboot
3928 loader (since 2009-08-14 it won't pass filename to payload).
3929 * util/grub.d/10_hurd.in: Likewise.
3930
0933cdc0 39312009-10-21 Felix Zielcke <fzielcke@z-51.de>
3932
3933 * config.guess: Update to latest version from config git
3934 repository.
3935 * config.sub: Likewise.
3936
3b2fe8c2 39372009-10-20 Robert Millan <rmh.grub@aybabtu.com>
3938
3939 Fix build on sparc64.
3940
3941 * configure.ac: Perform checks for libgcc symbols before
3942 adding `-nostdlib' to LDFLAGS.
3943
46695a62 39442009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Let user specify OpenBSD root device.
3947
3948 * loader/i386/bsd.c (openbsd_root): New variable.
3949 (openbsd_opts): New option 'root'.
3950 (OPENBSD_ROOT_ARG): New macro.
3951 (grub_openbsd_boot): Use 'openbsd_root'.
3952 (grub_cmd_openbsd): Fill 'openbsd_root'.
3953
d2b6b7fc 39542009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3955
3956 * NEWS: Misc adjustments.
3957
421bd7ac 39582009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
3961
f1d29d87 39622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3963
3964 * configure.ac: Bump version to 1.97.
3965
6f3cd880 39662009-10-16 Colin Watson <cjwatson@ubuntu.com>
3967
3968 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
3969 -mno-3dnow on x86 architectures. Some toolchains enable these
3970 features by default, but they rely on registers that aren't enabled
3971 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
3972
035f7122 39732009-10-15 Robert Millan <rmh.grub@aybabtu.com>
3974
3975 Make entry text a bit more readable.
3976
3977 * util/grub.d/10_linux.in: Add `with' before `Linux'.
3978
44998e58 39792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
3982
cd2851b3 39832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
3986 operations.
3987
c6f3b249 39882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * configure.ac: Add missing dollar.
3991
6b5886ba 39922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
3995
3996 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
3997 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
3998 exports.
3999 * include/grub/sparc64/libgcc.h: Likewise. Use
4000 preprocessor conditionals.
4001
e9d66f6d 40022009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4003
4004 * conf/common.rmk (grub-dumpbios): Remove rule.
4005 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4006 * util/grub-dumpbios.in: Remove file.
4007
9155bc17 40082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4009
4010 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4011 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4012
4013 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4014 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4015 users.
4016
4017 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4018 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4019 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4020 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4021 users.
4022
bf7f7a18 40232009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4024
4025 * term/tparm.c: Switch to GPLv3.
4026
86564c26 40272009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4028
4029 * include/grub/i386/cpuid.h: Add header protection.
4030
5c936493 40312009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4032
4033 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4034
4035 * include/grub/i386/cpuid.h: New file.
4036 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4037 (has_longmode): Rename to ...
4038 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4039 `static' attribute.
4040 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4041 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4042 on a CPU that doesn't implement AMD64 instruction set.
4043
186e7cf2 40442009-10-06 Colin Watson <cjwatson@ubuntu.com>
4045
4046 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4047 that version.texi is rebuilt on version number changes.
4048
83b65c4a 40492009-10-06 Colin Watson <cjwatson@ubuntu.com>
4050
4051 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4052 Fixes bug #27602.
4053
d244281c 40542009-10-06 Colin Watson <cjwatson@ubuntu.com>
4055
4056 * util/i386/pc/grub-install.in: Source
4057 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4058 that the --grub-probe option will work.
4059 * util/sparc64/ieee1275/grub-install.in: Likewise.
4060
da25306d 40612009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4062
4063 * configure.ac: Bump version to 1.97~beta4.
4064
e8ee83c0 40652009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4066
4067 Resync grub-mkdevicemap in x86_64-efi.
4068
4069 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4070 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4071 `util/devicemap.c'.
4072
50dcabcf 40732009-10-01 Colin Watson <cjwatson@ubuntu.com>
4074
4075 * util/grub-editenv.c (create_envblk_file): Write new block with a
4076 .new suffix and then rename it into place, to ensure atomic
4077 creation.
4078
0e51c3a7 40792009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4080
4081 Do not automatically install headers.
4082
4083 * Makefile.in (include_DATA): Remove. Update all users.
4084
31299a95 40852009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4086
4087 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4088 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4089
4090 * util/osdetect.lua: Remove.
4091 * script/lua/lauxlib.c: Likewise.
4092 * script/lua/ldebug.c: Likewise.
4093 * script/lua/grub_main.c: Likewise.
4094 * script/lua/lauxlib.h: Likewise.
4095 * script/lua/ldebug.h: Likewise.
4096 * script/lua/ltablib.c: Likewise.
4097 * script/lua/liolib.c: Likewise.
4098 * script/lua/lstrlib.c: Likewise.
4099 * script/lua/lualib.h: Likewise.
4100 * script/lua/ldo.c: Likewise.
4101 * script/lua/ldump.c: Likewise.
4102 * script/lua/ldo.h: Likewise.
4103 * script/lua/loslib.c: Likewise.
4104 * script/lua/lundump.c: Likewise.
4105 * script/lua/grub_lib.c: Likewise.
4106 * script/lua/ldblib.c: Likewise.
4107 * script/lua/lundump.h: Likewise.
4108 * script/lua/lmem.c: Likewise.
4109 * script/lua/grub_lib.h: Likewise.
4110 * script/lua/lmathlib.c: Likewise.
4111 * script/lua/lstate.c: Likewise.
4112 * script/lua/ltm.c: Likewise.
4113 * script/lua/lvm.c: Likewise.
4114 * script/lua/lmem.h: Likewise.
4115 * script/lua/lstate.h: Likewise.
4116 * script/lua/ltm.h: Likewise.
4117 * script/lua/ltable.c: Likewise.
4118 * script/lua/lvm.h: Likewise.
4119 * script/lua/llex.c: Likewise.
4120 * script/lua/lgc.c: Likewise.
4121 * script/lua/grub_lua.h: Likewise.
4122 * script/lua/loadlib.c: Likewise.
4123 * script/lua/lfunc.c: Likewise.
4124 * script/lua/lopcodes.c: Likewise.
4125 * script/lua/lparser.c: Likewise.
4126 * script/lua/ltable.h: Likewise.
4127 * script/lua/llex.h: Likewise.
4128 * script/lua/lgc.h: Likewise.
4129 * script/lua/lfunc.h: Likewise.
4130 * script/lua/lbaselib.c: Likewise.
4131 * script/lua/lopcodes.h: Likewise.
4132 * script/lua/lparser.h: Likewise.
4133 * script/lua/lzio.c: Likewise.
4134 * script/lua/linit.c: Likewise.
4135 * script/lua/lobject.c: Likewise.
4136 * script/lua/llimits.h: Likewise.
4137 * script/lua/lstring.c: Likewise.
4138 * script/lua/lzio.h: Likewise.
4139 * script/lua/lapi.c: Likewise.
4140 * script/lua/lcode.c: Likewise.
4141 * script/lua/lua.h: Likewise.
4142 * script/lua/lobject.h: Likewise.
4143 * script/lua/lstring.h: Likewise.
4144 * script/lua/lapi.h: Likewise.
4145 * script/lua/lcode.h: Likewise.
4146 * script/lua/luaconf.h: Likewise.
4147
cb8a2c38 41482009-09-26 Colin Watson <cjwatson@ubuntu.com>
4149
4150 * docs/grub.texi (Command-line and menu entry commands): Document
4151 date and echo commands.
4152
6b9b6276 41532009-09-24 Pavel Roskin <proski@gnu.org>
4154
4155 * include/grub/kernel.h (struct grub_module_header): Remove
4156 `grub_module_header_types'. Make `type' unsigned. Make `size'
4157 32-bit on all platforms.
4158 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4159 8-bit field. Use grub_host_to_target32() for `size'.
4160 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4161 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4162 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4163
4e5a02a7 41642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4165
4166 Fix "lost keypress" bug in at_keyboard.
4167
4168 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4169 Checks for readyness of input buffer (without flushing it).
4170 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4171 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4172
c6dcedf6 41732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4174
4175 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4176 size check within GRUB_MACHINE_PCBIOS section.
4177
74c958b1 41782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4179
4180 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4181 return value.
4182 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4183 KEYBOARD_ISREADY check.
4184 (grub_at_keyboard_checkkey): Rename to ...
4185 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4186 Remove gratuitous cast.
4187
ff420223 41882009-09-23 Colin Watson <cjwatson@ubuntu.com>
4189
4190 * configure.ac: Call AC_PROG_MKDIR_P.
4191 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4192 version.texi in $(builddir) rather than $(srcdir).
4193 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4194 to makeinfo's @include search path.
4195
d96875df 41962009-09-23 Felix Zielcke <fzielcke@z-51.de>
4197
4198 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4199
9b3f8365 42002009-09-23 Felix Zielcke <fzielcke@z-51.de>
4201
4202 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4203 for `*.dpkg-new'.
4204
c44c90db 42052009-09-21 Colin Watson <cjwatson@ubuntu.com>
4206
4207 Build info documentation. Some code borrowed from Automake.
4208
4209 * configure.ac: Check for makeinfo.
4210 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4211 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4212 docs/version.texi.
4213 (MOSTLYCLEANFILES): Add vti.tmp.
4214 (docs/version.texi, docs/stamp-vti): Update automatically.
4215 (docs/grub.info): Build info documentation. Use --force and ignore
4216 errors for now.
4217 (all-local): Add $(INFOS).
4218 (install-local): Install info files.
4219 (uninstall): Uninstall info files.
4220 * docs/version.texi: Remove from revision control. This file is
4221 automatically generated on build now.
4222 * gendistlist.sh: Add `*.info'.
4223
e0b37bb5 42242009-09-21 Felix Zielcke <fzielcke@z-51.de>
4225
4226 * kern/term.c: Fix indentation.
4227
5a78865b 42282009-09-21 Felix Zielcke <fzielcke@z-51.de>
4229
4230 * util/hostdisk.c: Fix a comment.
4231
dace7e8a 42322009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4233
4234 Fix regression introduced in r2539.
4235
4236 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4237 to 0xA1.
4238
a83d079b 42392009-09-19 Colin Watson <cjwatson@ubuntu.com>
4240
4241 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4242 os-prober. Under normal operation, it does not print anything to
4243 stderr; if it does, we need to debug it, and throwing away stderr
4244 makes that excessively difficult.
a83d079b 4245
be94a509 42462009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4249
63f745e8 42502009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4251
4252 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4253 AC_LANG_PROGRAM from autoconf.
4254 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4255 prototypes (fixes warning).
4256
4257 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4258 `--disable-werror' was used.
4259
bbb2a70f 42602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4261
4262 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4263 uninitialized `lastaddr'.
4264
77c24f1d 42652009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4266
0f0b8c87 4267 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4268
07197f23 42692009-09-14 Colin Watson <cjwatson@ubuntu.com>
4270
4271 * commands/test.c (get_fileinfo): Return immediately if
4272 grub_fs_probe fails.
4273
dabf1798 42742009-09-14 José Martínez <xosemp@gmail.com>
4275
4276 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4277
d52109a7 42782009-09-14 Colin Watson <cjwatson@ubuntu.com>
4279
4280 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4281 output.
4282
56532179 42832009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4284
4285 * configure.ac: Remove --enable-grub-pe2elf. Only build
4286 grub-pe2elf when needed by the build system itself.
4287 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4288
8ef070f5 42892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4290
4291 * configure.ac: Bump version to 1.97~beta3.
4292 * docs/version.texi: Likewise.
4293
61229557 42942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4295
4296 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4297 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4298 from here ...
4299 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4300 (grub_linux_setup_video): ... to here (with some adjustments).
4301
5c9f8d84 43022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4303
4304 Fix memory corruption issue (spotted by Colin Watson).
4305
4306 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4307 causing returned size to be stored in an incorrect memory location.
4308 Fix use of uninitialized value when storing the returned size.
4309
e8f5d6e9 43102009-09-12 Yves Blusseau <blusseau@zetam.org>
4311
4312 Change clean rules to properly remove files
4313
4314 * genmk.rb: add new clean rules
4315 * Makefile.in (clean): add the new targets
4316 (mostlyclean): likewise
4317
cda2a409 43182009-09-11 Colin Watson <cjwatson@ubuntu.com>
4319
4320 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4321 to grub_uint64_t.
4322 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4323 non-resident files.
4324
86695375 43252009-09-11 Colin Watson <cjwatson@ubuntu.com>
4326
4327 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4328 part of bug #27349.
4329
8aa1541a 43302009-09-10 Felix Zielcke <fzielcke@z-51.de>
4331
4332 * util/grub-mkconfig.in: Make the created config mode 400 and
4333 print a warning if it fails.
4334
48d9bb0a 43352009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4336
4337 * util/grub.d/40_custom.in: Ask user to type custom entries below
4338 comment, rather than below 'exec tail' line.
4339
3b0521be 43402009-09-10 Colin Watson <cjwatson@ubuntu.com>
4341
4342 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4343 visible in grub.cfg.
4344
50051d55 43452009-09-10 Colin Watson <cjwatson@ubuntu.com>
4346
4347 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4348 file.
4349
c0d34387 43502009-09-10 Felix Zielcke <fzielcke@z-51.de>
4351
4352 * docs/grub.cfg: Add an example menu entry for memtest86+.
4353
80a608f3 43542009-09-09 Felix Zielcke <fzielcke@z-51.de>
4355
a2094832 4356 * config.guess: Update to latest version from config git.
80a608f3 4357 * config.sub: Likewise.
4358
99423078 43592009-09-08 Colin Watson <cjwatson@ubuntu.com>
4360
4361 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4362 unknown-command case. Fixes bug #27320.
4363
44454e4c 43642009-09-08 Felix Zielcke <fzielcke@z-51.de>
4365
4366 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4367 `help' if the command exists.
4368
e30d87ad 43692009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4370
4371 * INSTALL: Require GCC 4.1.3 or later.
4372
9a86f1ec 43732009-09-06 Yves Blusseau <blusseau@zetam.org>
4374
4375 * Makefile.in (RMKFILES): add i386-qemu.rmk
4376 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
4377 $(srcdir)/stamp-h.in
4378
7f26d466 43792009-09-05 Robert Millan <rmh.grub@aybabtu.com>
4380
4381 * util/grub-probe.c (probe): Comment out buggy codepath, which
4382 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
4383 should be re-enabled after 1.97.
4384
3a613259 43852009-09-05 Felix Zielcke <fzielcke@z-51.de>
4386
4387 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
4388 find searches for.
4389
197f76c7 43902009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
4393 unnecessary calls to grub_error.
4394
70ba68ce 43952009-09-04 Colin Watson <cjwatson@ubuntu.com>
4396
4397 * NEWS: Mention `keystatus' and Unicode fonts.
4398
4ff0d7a4 43992009-09-04 Robert Millan <rmh.grub@aybabtu.com>
4400
4401 * configure.ac: Bump version to 1.97~beta2.
4402 * docs/version.texi: Likewise.
4403
77c55a87 44042009-09-03 Colin Watson <cjwatson@ubuntu.com>
4405
4406 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
4407 containing unwind information in some cases where it previously did
4408 not. Use -fno-dwarf2-cfi-asm if available to restore the old
4409 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
4410 discussion.
4411
f79572cd 44122009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
4413
4414 Embedding loadenv module into grub-emu
4415
4416 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
4417 commands/loadenv.c
4418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
4419 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
4420 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
4421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
4422 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
4423 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
4424
93a81088 44252009-09-03 Magnus Granberg <zorry@ume.nu>
4426
4427 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
4428 include -fPIE in the default specs.
4429 * configure.ac: Check if pie_possible is yes and add -fno-PIE
4430 to TARGET_CFLAGS.
4431
160034b2 44322009-09-03 Felix Zielcke <fzielcke@z-51.de>
4433
4434 * INSTALL: Note that GNU Bison 2.3 or later is required.
4435
087c07c4 44362009-09-03 Colin Watson <cjwatson@ubuntu.com>
4437
4438 * kern/i386/pc/startup.S: Fix typo.
4439
cbf978c0 44402009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
4443 according to GCS.
4444
44452009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 4446
4447 * docs/grub.texi (Naming convention): Describe one-based partition
4448 numbering.
4449 (Device syntax): Likewise.
4450 (File name syntax): Likewise.
4451 (Block list syntax): Likewise.
4452 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
4453 menu.lst.
4454 (File name syntax): Likewise.
4455 (Command-line and menu entry commands): Document acpi, blocklist,
4456 crc, export, insmod, keystatus, ls, set, and unset commands.
4457
f3e8cdfd 44582009-09-02 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
4461 to avoid implying that only one of --shift, --ctrl, or --alt may be
4462 used.
4463
c0bc232b 44642009-09-02 Colin Watson <cjwatson@ubuntu.com>
4465
4466 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
4467 rather than comparing against S_IFREG, which will almost never work.
4468
aa0f752d 44692009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
4472 (write_blocklists): Likewise.
4473
ecb3166a 44742009-09-01 Colin Watson <cjwatson@ubuntu.com>
4475
4476 * script/lua/grub_lua.h (fputs): Supply a format string as the first
4477 argument to grub_printf.
4478
c403a125 44792009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 4480
4481 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 4482 non GNU test.
31aba781 4483
b5e7312c 44842009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * kern/file.c (grub_file_read): Spelling fix
4487
fe00f472 44882009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
4491 loading of headers in some cases.
4492
cc55302e 44932009-08-30 Robert Millan <rmh.grub@aybabtu.com>
4494
4495 * configure.ac: Bump version to 1.97~beta1.
4496 * docs/version.texi: Likewise.
4497
5c90cdd2 44982009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 4499
4500 * include/grub/i386/xnu.h: Add license header.
4501 include grub/err.h explicitly.
4502
c90edae4 45032009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4504
4505 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
4506 to `ufs' in the vfs.root.mountfrom kernel parameter.
4507
d8888b5c 45082009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4509
4510 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
4511
4512 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
4513 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
4514
4515 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
4516 `ARRAY_SIZE' macro.
4517
6f07b921 45182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * kern/file.c (grub_file_read): Check offset.
4521 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
4522 * fs/jfs.c (grub_jfs_read_file): Likewise.
4523 * fs/ntfs.c (grub_ntfs_read): Likewise.
4524 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
4525 * fs/minix.c (grub_minix_read_file): Correct offset check.
4526 * fs/ufs.c (grub_ufs_read_file): Likewise.
4527
b4f34077 45282009-08-28 Colin Watson <cjwatson@ubuntu.com>
4529
4530 * term/i386/pc/console.c (bios_data_area): Cast
4531 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
4532
e7c69859 45332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 1-bit optimised blitters.
4536
4537 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
4538 prototype.
4539 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4540 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4541 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4542 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4543 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4544 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4545 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
4546 function.
4547 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4548 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4549 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4550 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4551 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4552 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4553 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
4554 when possible.
4555 * video/video.c (grub_video_get_blit_format): Return
4556 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
4557
a57da43f 45582009-08-28 Colin Watson <cjwatson@ubuntu.com>
4559
4560 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
4561 the first argument to grub_printf.
4562
4cbe67e5 45632009-08-28 Colin Watson <cjwatson@ubuntu.com>
45642009-08-28 Robert Millan <rmh.grub@aybabtu.com>
4565
4566 Add `getkeystatus' terminal method. Add a new `keystatus' command
4567 to query it.
4568
4569 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
4570 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
4571 modifier key bitmasks.
4572 (struct grub_term_input): Add `getkeystatus' member.
4573 (grub_getkeystatus): Add prototype.
4574 * kern/term.c (grub_getkeystatus): New function.
4575
4576 * include/grub/i386/pc/memory.h
4577 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
4578 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
4579 Data Area layout.
4580 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
4581 (grub_console_term_input): Set `getkeystatus' member.
4582 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
4583 constants.
4584 (grub_usb_keyboard_getreport): Likewise.
4585 (grub_usb_keyboard_checkkey): Likewise.
4586 (grub_usb_keyboard_getkeystatus): New function.
4587 (grub_usb_keyboard_term): Set `getkeystatus' member.
4588
4589 * commands/keystatus.c: New file.
4590 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
4591 (keystatus_mod_SOURCES): New variable.
4592 (keystatus_mod_CFLAGS): Likewise.
4593 (keystatus_mod_LDFLAGS): Likewise.
4594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
4595 commands/keystatus.c.
4596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4597 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4600 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4601 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 4602
6e2a9085 46032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 Split befs.mod and afs.mod into *_be.mod and *.mod
4606
4607 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
4608 (grub_fstest_SOURCES): Likewise.
4609 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
4610 (afs_be_mod_SOURCES): New variable.
4611 (afs_be_mod_CFLAGS): Likewise.
4612 (afs_be_mod_LDFLAGS): Likewise.
4613 (befs_be_mod_SOURCES): Likewise.
4614 (befs_be_mod_CFLAGS): Likewise.
4615 (befs_be_mod_LDFLAGS): Likewise.
4616 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
4617 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4618 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4619 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4620 (grub_emu_SOURCES): Likewise.
4621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4622 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4623 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4624 * fs/afs_be.c: New file.
4625 * fs/befs_be.c: New file.
4626 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
4627 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
4628 (U16): Replaced with ...
4629 (grub_afs_to_cpu16): ...this. All users updated.
4630 (U32): Replaced with ...
4631 (grub_afs_to_cpu32): ...this. All users updated.
4632 (U64): Replaced with ...
4633 (grub_afs_to_cpu64): ...this. All users updated.
4634 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
4635 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 4636 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 4637 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4638 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4639 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4640 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4641 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4642 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4643 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4644 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4645
32a71655 46462009-08-26 Bean <bean123ch@gmail.com>
4647
4648 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
4649 64-bit number.
4650 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4651 (grub_xfs_inode_block): Change return type to grub_uint64_t.
4652 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
4653
552bf6c5 46542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 NetBSD memory map support.
4657
4658 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
4659 (grub_netbsd_btinfo_mmap_header): New structure.
4660 (grub_netbsd_btinfo_mmap_entry): Likewise.
4661 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
4662
1ae2078c 46632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 Enable bsd.mod on coreboot.
4666
4667 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
4668 (bsd_mod_SOURCES): New variable.
4669 (bsd_mod_CFLAGS): Likewise.
4670 (bsd_mod_LDFLAGS): Likewise.
4671 (bsd_mod_ASFLAGS): Likewise.
4672 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
4673 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
4674
beefc598 46752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Cleanup NetBSD root support.
4678
4679 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
4680 grub_bsd_get_device.
4681 Fix typo.
4682
3b76e68b 46832009-08-25 Felix Zielcke <fzielcke@z-51.de>
4684
4685 * util/grub.d/00_header.in: Move check for the video backend of
4686 gfxterm from here ...
4687 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
4688 a suitable video backend.
4689
aea664ea 46902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Fix breakage in grub-setup.
4693
4694 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
4695 "msdos_partition_map".
4696
ff747d50 46972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 Fix breakage in normal/auth.c.
4700
4701 * normal/auth.c (grub_iswordseparator): New function.
4702
e7e1f93f 47032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Authentication support.
4706
4707 * commands/password.c: New file.
4708 * conf/common.rmk (pkglib_MODULES): Add password.mod.
4709 (password_mod_SOURCES): New variable.
4710 (password_mod_CFLAGS): Likewise.
4711 (password_mod_LDFLAGS): Likewise.
4712 (normal_mod_SOURCES): Add normal/auth.c.
4713 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
4714 normal/auth.c.
4715 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4717 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4719 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4721 * include/grub/auth.h: New file.
4722 * include/grub/err.h (grub_err_t): New enum value
4723 GRUB_ERR_ACCESS_DENIED.
4724 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
4725 'users'.
4726 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
4727 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
4728 users updated.
4729 * normal/auth.c: New file.
4730 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
4731 (grub_cmdline_run): Don't allow to go to command line without
4732 authentication.
4733 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
4734 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
4735 menuentry without superuser rights.
4736 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
4737 user isn't a superuser.
4738
70f1161d 47392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 Save space by inlining misc.c functions.
4742
4743 * kern/misc.c (grub_iswordseparator): Made static.
4744 * kern/misc.c (grub_strcat): Moved from here ...
4745 * include/grub/misc.h (grub_strcat): ... here. Inlined.
4746 * kern/misc.c (grub_strncat): Moved from here ...
4747 * include/grub/misc.h (grub_strncat): ... here. Inlined.
4748 * kern/misc.c (grub_strcasecmp): Moved from here ...
4749 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4750 * kern/misc.c (grub_strncasecmp): Moved from here ...
4751 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4752 * kern/misc.c (grub_isalpha): Moved from here ...
4753 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4754 * kern/misc.c (grub_isdigit): Moved from here ...
4755 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4756 * kern/misc.c (grub_isgraph): Moved from here ...
4757 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4758 * kern/misc.c (grub_tolower): Moved from here ...
4759 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4760
48e40bff 47612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * script/sh/function.c (grub_script_function_find): Cut error message
4764 not to flood terminal.
4765 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4766 limit.
4767 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4768
c385bfc3 47692009-08-24 Colin Watson <cjwatson@ubuntu.com>
4770
4771 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4772 `report' grub_uint8_t *.
4773 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4774 Use a 50-millisecond timeout rather than just repeating
4775 grub_usb_keyboard_getreport 50 times.
4776 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4777
2d21e3e8 47782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 Rename *_partition_map to part_*
4781
4782 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4783 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4784 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4785 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4786 All users updated.
4787 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4788 All users updated.
4789 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4790 * util/grub-probe.c (probe_partmap): Don't transform partition name
4791 to get module name.
4792
dd103c4e 47932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Fix OpenBSD and NetBSD support.
4796
4797 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4798 memory address conflict.
4799 (OPENBSD_MMAP_ACPI): New definition.
4800 (OPENBSD_MMAP_NVS): Likewise.
4801 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4802 and OPENBSD_MMAP_NVS.
4803 Add memory map terminator
4804 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4805 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4806
16c84d74 48072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 Let user specify NetBSD root device.
4810
4811 * loader/i386/bsd.c (netbsd_root): New variable.
4812 (netbsd_opts): New option 'root'.
4813 (NETBSD_ROOT_ARG): New macro.
4814 (grub_netbsd_boot): Use 'netbsd_root'.
4815 (grub_bsd_unload): Free 'netbsd_root'.
4816 (grub_cmd_netbsd): Fill 'netbsd_root'.
4817
adb29902 48182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Support for 64-bit NetBSD.
4821
4822 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4823 point when booting non-FreeBSD.
4824
f5ae9f74 48252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 Support --no-smp and --no-acpi for NetBSD.
4828
4829 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4830 (NETBSD_AB_NOACPI): Likewise.
4831 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4832 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4833
de74f136 48342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
4837 errors.
4838 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
4839 errors. Call grub_error when needed.
4840
e9a925da 48412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * commands/search.c (search_fs): Try searching without autoload first.
4844 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4845 filesystem module explicitly for faster booting.
4846
5174302b 48472009-08-23 Colin Watson <cjwatson@ubuntu.com>
4848
4849 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
4850
c8c80635 48512009-08-23 Colin Watson <cjwatson@ubuntu.com>
4852
4853 * util/grub.d/30_os-prober.in: Disable os-prober if
4854 `GRUB_DISABLE_OS_PROBER' was set to true.
4855
71acf5e5 48562009-08-23 Robert Millan <rmh.grub@aybabtu.com>
4857
4858 * partmap/pc.c: Rename to ...
4859 * partmap/msdos.c: ... this. Update all users.
4860 (grub_pc_partition_map): Rename to ...
4861 (grub_msdos_partition_map): ... this. Update all users.
4862
4863 * parttool/pcpart.c: Rename to ...
4864 * parttool/msdospart.c: ... this. Update all users.
4865
4866 * include/grub/pc_partition.h: Rename to ...
4867 * include/grub/msdos_partition.h: ... this. Update all users.
4868 (grub_pc_partition_bsd_entry): Rename to ...
4869 (grub_msdos_partition_bsd_entry): ... this. Update all users.
4870 (grub_pc_partition_disk_label): Rename to ...
4871 (grub_msdos_partition_disk_label): ... this. Update all users.
4872 (grub_pc_partition_entry): Rename to ...
4873 (grub_msdos_partition_entry): ... this. Update all users.
4874 (grub_pc_partition_mbr): Rename to ...
4875 (grub_msdos_partition_mbr): ... this. Update all users.
4876 (grub_pc_partition): Rename to ...
4877 (grub_msdos_partition): ... this. Update all users.
4878 (grub_pc_partition_is_empty): Rename to ...
4879 (grub_msdos_partition_is_empty): ... this. Update all users.
4880 (grub_pc_partition_is_extended): Rename to ...
4881 (grub_msdos_partition_is_extended): ... this. Update all users.
4882 (grub_pc_partition_is_bsd): Rename to ...
4883 (grub_msdos_partition_is_bsd): ... this. Update all users.
4884
4885 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
4886 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
4887 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
4888 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
4889 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
4890 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
4891 (gpt_mod_LDFLAGS): Rename to ...
4892 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
4893 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
4894 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
4895 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
4896 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
4897 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
4898 (part_gpt_mod_LDFLAGS): ... this.
4899 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
4900 `pcpart.mod' to `msdospart.mod'.
4901 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
4902 to ...
4903 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
4904 (msdospart_mod_LDFLAGS): ... this.
4905
c11fded5 49062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
4909 (openbsd_opts): Likewise.
4910 (netbsd_opts): Likewise.
4911 (freebsd_flags): Added 0 terminator.
4912 (openbsd_flags): Likewise.
4913 (netbsd_flags): Likewise.
4914 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
4915 (grub_cmd_freebsd): Transformed into extended command.
4916 (grub_cmd_openbsd): Likewise.
4917 (grub_cmd_netbsd): Likewise.
4918 (cmd_freebsd): Changed type to grub_extcmd_t.
4919 (cmd_openbsd): Likewise.
4920 (cmd_netbsd): Likewise.
4921 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
4922 grub_cmd_openbsd as extended commands.
4923 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
4924 cmd_netbsd and cmd_openbsd
4925
11d1c769 49262009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
4929
7a9094e5 49302009-08-21 Pavel Roskin <proski@gnu.org>
4931
5496c37e 4932 * Makefile.in (install-local): When checking if a file is in the
4933 build directory, use "test -e" to detect symlinks.
4934
7a9094e5 4935 * Makefile.in (install-local): Remove all files in
4936 $(DESTDIR)$(pkglibdir) before installing new files there.
4937
e53cea11 49382009-08-18 Felix Zielcke <fzielcke@z-51.de>
4939
4940 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
4941 grub-mkelfimage.
4942
9aced544 49432009-08-18 Felix Zielcke <fzielcke@z-51.de>
4944
4945 * util/grub-mkconfig.in: Don't use gfxterm by default if not
4946 explicitly specified by the user.
4947
b7da6bab 49482009-08-18 Pavel Roskin <proski@gnu.org>
4949
4950 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
4951 grub_uint8_t pointer for data.
4952 * include/grub/fbutil.h (struct grub_video_fbblit_info):
4953 Likewise.
4954 * video/fb/fbutil.c: Remove unnecessary casts.
4955
19f1b335 49562009-08-17 Michal Suchanek <hramrach@centrum.cz>
4957
4958 VBE cleanup.
4959
4960 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
4961 (grub_vbe_set_video_mode): Save active mode info
4962 only after setting the mode.
4963 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
4964 second argument.
4965
2f467aa9 49662009-08-17 Michal Suchanek <hramrach@centrum.cz>
4967
4968 Rename variables for clarity.
4969
4970 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
4971 (active_vbe_mode_info): ... this. All users updated.
4972 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
4973 All users updated.
4974 (initial_mode): Rename to ...
4975 (initial_vbe_mode): ... this. All users updated.
4976 (mode_in_use): Rename to ..
4977 (vbe_mode_in_use): ... this. All users updated.
4978 (mode_list): Rename to ..
4979 (vbe_mode_list): ... this. All users updated.
4980 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
4981 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
4982 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
4983 'mode_list_size' to 'vbe_mode_list_size'.
4984 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
4985 'best_mode_info' to 'best_vbe_mode_info' and
4986 'best_mode' to 'best_vbe_mode'
4987
6025fcd7 49882009-08-17 Michal Suchanek <hramrach@centrum.cz>
4989
4990 Remove duplicate grub_video_fb_get_video_ptr.
4991
4992 * include/grub/fbutil.h (get_data_ptr): Rename to ...
4993 (grub_video_fb_get_video_ptr): ... this.
4994 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
4995 * video/fb/fbutil.c: Add comment about addressing.
4996 (get_data_ptr): Rename to ...
4997 (grub_video_fb_get_video_ptr): ... this. All users updated.
4998 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
4999
cc8c6faf 50002009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5001
5002 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5003 grub_dprintf() that was just added.
5004
08aa61f0 50052009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5006
5007 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5008 (DEFAULT_VIDEO_MODE): Remove macros.
5009 (grub_linux_boot): Remove assumption that Linux has FB support,
5010 and use "text" as default video mode.
5011
7cef4f75 50122009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5015 grub_dprintf.
5016 * fs/fat.c (grub_fat_read_data): Likewise.
5017
e1f39873 50182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5021 payload.
5022 (grub_module): Likewise.
5023
c166d79e 50242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5027 mbi->cmdline but free playground.
5028
c60cee8e 50292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 Handle group offset on UFS1.
5032
5033 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5034 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5035
c0d8b5d4 50362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 Split ufs.mod into ufs1.mod and ufs2.mod.
5039
5040 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5041 (grub_fstest_SOURCES): Likewise.
5042 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5043 (ufs_mod_SOURCES): Remove.
5044 (ufs_mod_CFLAGS): Likewise.
5045 (ufs_mod_LDFLAGS): Likewise.
5046 (ufs1_mod_SOURCES): New variable.
5047 (ufs1_mod_CFLAGS): Likewise.
5048 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5049 (ufs2_mod_SOURCES): New variable.
5050 (ufs2_mod_CFLAGS): Likewise.
5051 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5052 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5053 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5054 Likewise.
5055 (grub_emu_SOURCES): Likewise.
5056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5057 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5058 (grub_setup_SOURCES): Likewise.
5059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5060 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5061 (grub_setup_SOURCES): Likewise.
5062 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5063 Likewise.
5064 * fs/ufs2.c: New file.
5065 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5066
d3539132 50672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Framebuffer split.
5070
5071 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5072 subsystem at the end.
5073 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5074 (video_fb_mod_SOURCES): New variable.
5075 (video_fb_mod_CFLAGS): Likewise.
5076 (video_fb_mod_LDFLAGS): Likewise.
5077 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5078 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5079 * video/i386/pc/vbeblit.c: Moved from here ...
5080 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5081 * video/i386/pc/vbefill.c: Moved from here ...
5082 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5083 * video/i386/pc/vbeutil.c: Moved from here ...
5084 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5085 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5086 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5087 * include/grub/i386/pc/vbefill.h: Moved from here ...
5088 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5089 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5090 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5091 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5092 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5093 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5094 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5095 (grub_video_adapter): Added 'get_info_and_fini'.
5096 (grub_video_get_info_and_fini): New prototype.
5097 (grub_video_set_mode): make modestring const char *.
5098 * loader/i386/linux.c (grub_linux_setup_video): Use
5099 grub_video_get_info_and_fini.
5100 (grub_linux_boot): Move modesetting just before booting.
5101 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5102 grub_video_get_info_and_fini.
5103 * video/i386/pc/vbe.c: Moved framebuffer part ...
5104 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5105 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5106 grub_video_fbstd_colors and grub_video_fb_set_palette.
5107 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5108 grub_video_fb_init.
5109 (grub_video_vbe_fini): Use grub_video_fb_fini.
5110 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5111 render_target and use grub_video_fb_set_active_render_target and
5112 grub_video_fb_set_palette.
5113 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5114 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5115 (grub_video_vbe_adapter): Use framebuffer.
5116 * video/video.c (grub_video_get_info_and_fini): New function.
5117 (grub_video_set_mode): Make modestring const char *.
5118 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5119 values are already initialised.
5120
d404ee56 51212009-08-14 Pavel Roskin <proski@gnu.org>
5122
5123 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5124 ABS and APPLE_CC.
5125 * boot/i386/pc/diskboot.S: Likewise.
5126 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5127 sectors allow compilation on MacOSX.
5128 * conf/i386-pc.rmk: Enable unconditional compilation of
5129 lnxboot.img.
5130
9a10df16 51312009-08-13 Colin Watson <cjwatson@ubuntu.com>
5132
5133 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5134 * util/grub.d/00_header.in: Enter interruptible sleep if
5135 GRUB_HIDDEN_TIMEOUT is set.
5136
be3c9ca7 51372009-08-13 Yves Blusseau <blusseau@zetam.org>
5138
5139 * include/grub/symbol.h: Add the LOCAL macro.
5140 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5141 starting with "L_".
5142
1f9e557e 51432009-08-13 Pavel Roskin <proski@gnu.org>
5144
9ca62843 5145 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5146 any modern compilers we support.
5147
1f9e557e 5148 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5149 Use local labels starting with "L_" so that Apple assembler
5150 knows they are local.
5151
81623db6 51522009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5153
5154 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5155 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5156 (bsd_kernel_types): ... this enum.
5157
5158 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5159 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5160 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5161
5162 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5163 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5164 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5165 messages.
5166
f5d35e7a 51672009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5168
5169 * util/grub-dumpdevtree: Moved from here ...
5170 * util/i386/efi/grub-dumpdevtree: ... to here.
5171 (hexify): New function. Converts a string to its hex version.
5172 Generate hex versions of "efi" and "device-properties" by calling
5173 hexify() on the ASCII strings rather than by hardcoding numbers.
5174
d1e1d527 51752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5176
5177 * fs/jfs.c: Update copyright year.
5178
1ebbe064 51792009-08-08 Felix Zielcke <fzielcke@z-51.de>
5180
5181 * util/grub.d/00_header.in: Fix a comment.
5182 * util/grub.d/10_linux.in: Likewise.
5183 * util/grub.d/10_windows.in: Likewise.
5184 * util/grub.d/10_hurd.in: Likewise.
5185
a78c8d24 51862009-08-08 Felix Zielcke <fzielcke@z-51.de>
5187
5188 * util/grub-mkconfig.in: Allow the user to specify the used font
5189 with GRUB_FONT.
5190
29a6b9e8 51912009-08-08 Pavel Roskin <proski@gnu.org>
5192
b5f16cc4 5193 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5194 available, xfs.mod needs it now.
5195
2f5cb827 5196 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5197 the "g" modifier in sed when the intention is to strip something
5198 once. This fixes comparison of kernels with multiple dashes.
5199
29a6b9e8 5200 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5201 on it. Add missing space before closing bracket. Fix
5202 misleading formatting.
5203
892a3d98 52042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5205
5206 * docs/grub.texi: Major overhaul. Remove all sections that are
5207 specific to GRUB Legacy, or mostly composed of Legacy-specific
5208 information.
5209
ed94253f 52102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5211
5212 * docs/version.texi: New file. Provides version information for
5213 grub.texi.
5214
126d6628 52152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5216
5217 * docs/grub.texi: Update CVS information to SVN.
5218 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5219
998b5aa9 52202009-08-07 Felix Zielcke <fzielcke@z-51.de>
5221
5222 * util/grub-mkconfig.in: Remove a wrong `fi'.
5223
818e094a 52242009-08-07 Felix Zielcke <fzielcke@z-51.de>
5225
5226 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5227 (grub_jfs_uuid): New function.
5228 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5229
b969c52f 52302009-08-07 Felix Zielcke <fzielcke@z-51.de>
5231
5232 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5233 of it to ...
5234 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5235 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5236
7a4894cc 52372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5238
5239 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5240 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5241 Update all users.
5242
5243 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5244 not just "vmlinu[zx]".
5245 Moved from here ...
5246 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5247 all users.
5248
5249 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5250 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5251 all users.
5252
4e2171f8 52532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5254
5255 * util/grub.d/10_freebsd.in: Use an absolute device path for
5256 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5257
6dcfcb32 52582009-08-06 Felix Zielcke <fzielcke@z-51.de>
5259
5260 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5261 handling of multiple abstraction modules.
5262
f56a8756 52632009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5264
5265 Fix a bug resulting in black screen when loading Linux using a
5266 packed video mode.
5267
5268 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5269 function.
5270
5271 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5272 (grub_vbe_bios_getset_dac_palette_width): New function.
5273 (grub_vbe_bios_get_dac_palette_width)
5274 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5275 grub_vbe_bios_getset_dac_palette_width()).
5276
5277 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5278 check for return status.
5279 (grub_vbe_get_video_mode_info): When getting information for a packed
5280 mode (<= 8 bpp), obtain DAC palette width using
5281 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5282 {red,green,blue}_mark_size.
5283
222671b2 52842009-08-04 Felix Zielcke <fzielcke@z-51.de>
5285
ecb1a6d9 5286 * commands/search.c (options): Fix help output to match actual code.
222671b2 5287
f84114f5 52882009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5291 of homegrown code.
5292
bd288a20 52932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5294
5295 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5296 on XFS or ReiserFS.
5297
8aab5e25 52982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 Support Apple partition map with sector size different from 512 bytes.
5301
5302 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5303 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5304 and 'apart.partmap_size'.
5305
6ad6258a 53062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
53072009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5308
5309 Fix cpuid command.
5310
5311 * commands/i386/cpuid.c (options): New variable.
5312 (grub_cmd_cpuid): Return real error.
5313 (GRUB_MOD_INIT(cpuid)): Declare options.
5314
67459bc6 53152009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5318 valid.
5319
fbc6ab54 53202009-07-31 Bean <bean123ch@gmail.com>
5321
5322 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5323 log2_inode.
5324 (grub_fshelp_node): Move inode field to the end.
5325 (grub_xfs_data): Remove inode field.
5326 (grub_xfs_inode_block): Calculate inode size using sblock.
5327 (grub_xfs_inode_offset): Likewise.
5328 (grub_xfs_read_inode): Calculate inode size using sblock.
5329 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5330 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5331 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5332 to match inode size.
5333 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5334 not accessible when data is null.
5335 (grub_xfs_open): Likewise.
5336
f45d6cfc 53372009-07-31 Bean <bean123ch@gmail.com>
5338
5339 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5340 Don't change pv->disk if it's already set.
5341
5342 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5343 (grub_raid_register): ... here.
5344 (grub_raid_rescan): Removed.
5345
5346 * include/grub/raid.h (grub_raid_rescan): Removed.
5347
5348 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5349 (fstest): Replace grub_raid_rescan with module fini function followed
5350 by init function.
5351
5352 * util/grub-probe.c: Add include file <grub/raid.h>.
5353 (probe_raid_level): New function.
5354 (probe): Detect abstraction by walking the disk device, support two
5355 level of abstraction (LVM on RAID) when detecting partition map.
5356
24443b5a 53572009-07-31 Pavel Roskin <proski@gnu.org>
5358
5359 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5360 to grub_zalloc(), it was erroneous.
5361 Reported by Bean <bean123ch@gmail.com>
5362
a275d9e7 53632009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5366 embedding zone, not only the first one.
a275d9e7 5367
56c5a47f 53682009-07-29 Joe Auricchio <jauricchio@gmail.com>
5369
5370 * term/gfxterm.c (clear_char): New function.
5371 (grub_virtual_screen_setup): Use clear_char.
5372 (scroll_up): Likewise.
5373 (grub_virtual_screen_cls): Likewise.
5374
67bb323a 53752009-07-29 Felix Zielcke <fzielcke@z-51.de>
5376
5377 * util/deviceiter.c (get_acceleraid_disk_name): New static
5378 function.
5379 (grub_util_iterate_devices): Handle Accelraid devices.
5380 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
5381
388a7c75 53822009-07-28 Robert Millan <rmh.grub@aybabtu.com>
5383
5384 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
5385 separator for the suggested gfxpayload string (';' collides with the
5386 parser and needs escaping).
5387
3bb7abcf 53882009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
5391 Clear direction flag before jumping to OS.
5392 (grub_multiboot2_real_boot): Likewise.
5393
2ddd36d7 53942009-07-28 Felix Zielcke <fzielcke@z-51.de>
5395
5396 * util/i386/pc/grub-install: Fix parsing of --disk-module
5397 option.
5398
c521b62b 53992009-07-28 Felix Zielcke <fzielcke@z-51.de>
5400
5401 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
5402 when embedding.
5403
880e0a0c 54042009-07-26 Felix Zielcke <fzielcke@z-51.de>
5405
5406 * util/grub-mkconfig.in (package_version): New variable.
5407 Use it do display the version.
5408
2366e356 54092009-07-25 Felix Zielcke <fzielcke@z-51.de>
5410
5411 * kern/file.c (grub_file_open): Revert to previous check with
5412 grub_errno.
5413
7ad8c80e 54142009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
5417 from help line. It's out of sync with code.
5418
72b9658b 54192009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
5422 entries on failed boot.
5423
77435277 54242009-07-25 Felix Zielcke <fzielcke@z-51.de>
5425
5426 * kern/file.c (grub_file_open): Fix an error check.
5427
fcaa8b21 54282009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
5429
35d16c74 5430 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
5431 partition map couldn't be identified.
fcaa8b21 5432
48904cd1 54332009-07-23 Pavel Roskin <proski@gnu.org>
5434
ef3c317f 5435 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
5436 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
5437 case of little endian words becomes just an optimization.
5438 Respect const modifier.
ad8ea1f4 5439 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 5440
48904cd1 5441 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
5442 to avoid loss of upper bits if align is unsigned and shorter
5443 than addr.
5444
260c9a89 54452009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 UUID support for UFS
5448
5449 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
5450 (grub_ufs_uuid): New function.
5451 (grub_ufs_fs): add .uuid
5452
f76ce889 54532009-07-21 Pavel Roskin <proski@gnu.org>
5454
5455 * kern/dl.c (grub_dl_check_header): Make static.
5456
6a6cbcaf 54572009-07-21 Felix Zielcke <fzielcke@z-51.de>
5458
5459 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
5460 add drivemap for Vista. It breaks Windows 7.
5461
cffcddb2 54622009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
5465 128 bytes
5466
1ef44b80 54672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Add BFS support
5470
5471 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
5472 (grub_fstest_SOURCES): Likewise.
5473 (pkglib_MODULES): Add befs.mod.
5474 (befs_mod_SOURCES): New variable.
5475 (befs_mod_CFLAGS): Likewise.
5476 (befs_mod_LDFLAGS): Likewise.
5477 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5478 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5479 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5480 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5481 (grub_setup_SOURCES): Likewise.
5482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5483 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5484 (grub_setup_SOURCES): Likewise.
5485 * fs/befs.c: New file.
5486 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
5487 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
5488 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
5489 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
5490 (B_KEY_INDEX_ALIGN): New declaration.
5491 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
5492 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
5493 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
5494 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
5495 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
5496 (grub_afs_mount) [MODE_BFS]: Likewise.
5497 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
5498 (grub_afs_fs): Use GRUB_AFS_FSNAME
5499 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
5500 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
5501 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
5502 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
5503
4f253044 55042009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
5505
5506 * util/getroot.c (find_root_device): Add support for MacOSX.
5507 * util/hostdisk.c: Likewise.
5508
57a55913 55092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * font/font.c (find_glyph): Check whether a font is present to avoid
5512 segmentation fault.
75421ca9 5513
55142009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 5515
5516 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
5517
e98cd0c2 55182009-07-20 Pavel Roskin <proski@gnu.org>
5519
5520 * configure.ac: Trim excessively wordy excuses.
5521
1d2d169a 55222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Add symlink, mtime and label support to AtheFS.
5525
5526 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
5527 (grub_afs_iterate_dir): Handle symlinks.
5528 (grub_afs_open): Use grub_afs_read_symlink.
5529 (grub_afs_dir): Likewise.
5530 Pass mtime.
5531 (grub_afs_label): New function.
5532 (grub_afs_fs): Add grub_afs_label.
5533 (grub_afs_read_symlink): New function.
5534
186f3189 55352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 Fix AtheFS support.
5538
5539 * fs/afs.c: Fix comments style.
5540 (grub_afs_blockrun): Declare as packed.
5541 (grub_afs_datastream): Likewise.
5542 (grub_afs_bnode): Likewise.
5543 (grub_afs_btree): Likewise.
5544 (grub_afs_sblock): Likewise.
5545 Declare `name' as char.
5546 (grub_afs_inode): Declare as packed.
5547 Change void *vnode to grub_uint32_t unused.
5548 (grub_afs_iterate_dir): Check that key_size is positive.
5549 (grub_afs_mount): Don't read superblock twice.
75421ca9 5550 (grub_afs_dir): Don't free node in case of error,
186f3189 5551 grub_fshelp_find_file already handles this.
5552 (grub_afs_open): Likewise.
5553
5680109e 55542009-07-19 Pavel Roskin <proski@gnu.org>
5555
5556 * Makefile.in: Remove LIBLZO and enable_lzo.
5557 * conf/i386-pc.rmk: Remove lzo support.
5558 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
5559 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
5560 support.
5561 * kern/i386/pc/lzo1x.S: Remove.
5562 * kern/i386/pc/startup.S: Remove lzo support.
5563 * util/i386/pc/grub-mkimage.c: Likewise.
5564
ac70fa32 55652009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
5568 * fs/xfs.c (grub_xfs_dir): Likewise.
5569 * fs/afs.c (grub_afs_dir): Likewise.
5570 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5571 (grub_iso9660_open): Likewise.
5572 * fs/jfs.c (grub_jfs_open): Likewise.
5573 * fs/ext2.c (grub_ext2_dir): Likewise.
5574 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
5575 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 5576
eab58da2 55772009-07-16 Pavel Roskin <proski@gnu.org>
5578
d2838156 5579 * configure.ac: Never add "-c" to CFLAGS.
5580
55c70904 5581 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
5582
43e6200c 5583 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
5584 grub_cv_cc_efiemu should be used.
5585
ce7a733d 5586 * configure.ac: Typo fixes.
5587
eab58da2 5588 * kern/mm.c (grub_zalloc): New function.
5589 (grub_debug_zalloc): Likewise.
5590 * include/grub/mm.h: Declare grub_zalloc() and
5591 grub_debug_zalloc().
5592 * util/misc.c (grub_zalloc): New function.
5593 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
5594 instead of grub_malloc(), remove unneeded initializations.
5595 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
5596 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
5597 * commands/parttool.c (grub_cmd_parttool): Likewise.
5598 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5599 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
5600 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
5601 * disk/usbms.c (grub_usbms_finddevs): Likewise.
5602 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
5603 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
5604 (grub_cmd_efiemu_pnvram): Likewise.
5605 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
5606 * fs/iso9660.c (grub_iso9660_mount): Likewise.
5607 (grub_iso9660_iterate_dir): Likewise.
5608 * fs/jfs.c (grub_jfs_opendir): Likewise.
5609 * fs/ntfs.c (list_file): Likewise.
5610 (grub_ntfs_mount): Likewise.
5611 * kern/disk.c (grub_disk_open): Likewise.
5612 * kern/dl.c (grub_dl_load_core): Likewise.
5613 * kern/elf.c (grub_elf_file): Likewise.
5614 * kern/env.c (grub_env_context_open): Likewise.
5615 (grub_env_set): Likewise.
5616 (grub_env_set_data_slot): Likewise.
5617 * kern/file.c (grub_file_open): Likewise.
5618 * kern/fs.c (grub_fs_blocklist_open): Likewise.
5619 * loader/i386/multiboot.c (grub_module): Likewise.
5620 * loader/xnu.c (grub_xnu_create_key): Likewise.
5621 (grub_xnu_create_value): Likewise.
5622 * normal/main.c (grub_normal_add_menu_entry): Likewise.
5623 (read_config_file): Likewise.
5624 * normal/menu_entry.c (make_screen): Likewise.
5625 * partmap/sun.c (sun_partition_map_iterate): Likewise.
5626 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
5627 * script/sh/script.c (grub_script_parse): Likewise.
5628 * video/bitmap.c (grub_video_bitmap_create): Likewise.
5629 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5630 * video/readers/png.c (grub_png_output_byte): Likewise.
5631 (grub_video_reader_png): Likewise.
5632
830afef7 56332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 5634
5635 Enable all targets that can be built by default
5636
830afef7 5637 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 5638 grub-mkfont and grub-fstest if they can be built
5639
ee293aee 56402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Fix hang and segmentation fault in grub-emu-usb
5643
5644 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
5645 * util/usb.c (grub_libusb_devices): likewise
5646 (grub_libusb_init): rename to ...
5647 (GRUB_MOD_INIT (libusb)):...this
5648 (grub_libusb_fini): rename to ..
5649 (GRUB_MOD_FINI (libusb)):...this
5650 * disk/usbms.c (grub_usbms_transfer): fix retry logic
5651 * include/grub/disk.h (grub_raid_init): removed, it's useless
5652 (grub_raid_fini): likewise
5653 (grub_lvm_init): likewise
5654 (grub_lvm_fini): likewise
5655 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
5656 by grub_init_all
5657
94414221 56582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 Fix libusb
5661
5662 * Makefile.in (LIBUSB): new macro
5663 * genmk.rb (Utility/print_tail): new method
5664 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
5665 (top level): call util.print_tail at the end.
5666
59ade63d 56672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 Make FreeBSD accept zpool.cache
5670
5671 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
5672 type is /boot/zfs/zpool.cache
5673
a58da8c7 56742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Fix 64-bit efiemu
5677
5678 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
5679 correct wrong typedef
5680 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
5681
20591577 56822009-07-15 Pavel Roskin <proski@gnu.org>
5683
560ca572 5684 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
5685 * kern/disk.c (struct grub_disk_cache): Likewise.
5686
e8e8e4fd 5687 * commands/probe.c (options): Typo fix.
5688
fde24e10 5689 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
5690 Increase to 0x5a to accommodate FAT32. Adjust other offsets
5691 accordingly.
5692 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
5693
379c54c1 5694 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
5695 the end of "Error" to make the message more readable.
5696
7bd8f5bf 5697 * boot/i386/pc/boot.S (kernel_segment): Remove.
5698 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
5699 for destination.
5700
40b132c5 5701 * boot/i386/pc/boot.S (boot_version): Remove.
5702 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5703 Remove.
5704
20591577 5705 * include/grub/i386/pc/boot.h: Sort all offsets.
5706 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
5707 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
5708 * boot/i386/pc/boot.S: Assert location of every offset listed in
5709 include/grub/i386/pc/boot.h.
5710
2df32b2c 57112009-07-13 Pavel Roskin <proski@gnu.org>
5712
44b5d879 5713 * include/grub/i386/coreboot/machine.h: Rename
5714 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
5715 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
5716 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
5717
17dc3751 5718 * kern/dl.c: Force native word size to suppress warnings when
5719 compiling grub-emu.
5720
2df32b2c 5721 * kern/device.c (grub_device_iterate): Change struct part_ent to
5722 hold the name, not a pointer to it. Use one grub_malloc() per
5723 partition, not two. Free partition_name if grub_malloc() fails.
5724 Set ents to NULL only before grub_partition_iterate() is called.
5725
75c59f59 57262009-07-11 Bean <bean123ch@gmail.com>
5727
5728 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
5729 childname.
5730
0ae1bf88 57312009-07-10 Bean <bean123ch@gmail.com>
57322009-07-10 Robert Millan <rmh.grub@aybabtu.com>
5733
5734 * kern/ieee1275/openfw.c (grub_children_iterate)
5735 (grub_devalias_iterate): Fix size evaluation for property or path
5736 strings, which was broken since r2132.
5737
8279cade 57382009-07-07 Pavel Roskin <proski@gnu.org>
5739
7d8a52d3 5740 * commands/search.c (search_file): Merge into ...
5741 (search_fs): ... this. Accept search type as argument.
5742 (grub_cmd_search): Pass search type to search_fs().
5743
25f9a05a 5744 * include/grub/util/console.h: New file.
5745 * util/console.c: Use it instead of grub/machine/console.h.
5746 * util/grub-emu.c: Likewise.
5747
8279cade 5748 * lib/arg.c (find_long_option): Remove.
5749 (find_long): Add `len' argument, make `s' const char *.
5750 (grub_arg_parse): Parse long options in place, not in a
5751 temporary buffer.
5752
4a11b60f 57532009-07-06 Pavel Roskin <proski@gnu.org>
5754
99f68041 5755 * commands/search.c (search_fs): Fix potential NULL pointer
5756 dereference.
5757
4a11b60f 5758 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5759 function pointer.
5760
e110f4de 57612009-07-06 Daniel Mierswa <impulze@impulze.org>
5762
5763 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5764 comparison.
5765
46eeb6a2 57662009-07-05 Pavel Roskin <proski@gnu.org>
5767
bab74958 5768 * include/grub/i386/linux.h (struct linux_kernel_params):
5769 Restore padding3, it's still needed.
5770
46eeb6a2 5771 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5772 FreeBSD.
5773 * util/osdetect.lua: Likewise.
5774
b4a1dc79 57752009-07-05 Bean <bean123ch@gmail.com>
5776
5777 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5778
5779 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5780 (grub_lua_getenv): Likewise.
5781 (grub_lua_setenv): Likewise.
5782 (save_errno): New function.
5783 (push_result): Likewise.
5784 (grub_lua_enum_device): Likewise.
5785 (grub_lua_enum_file): Likewise.
5786 (grub_lua_file_open): Likewise.
5787 (grub_lua_file_close): Likewise.
5788 (grub_lua_file_seek): Likewise.
5789 (grub_lua_file_read): Likewise.
5790 (grub_lua_file_getline): Likewise.
5791 (grub_lua_file_getsize): Likewise.
5792 (grub_lua_file_getpos): Likewise.
5793 (grub_lua_file_eof): Likewise.
5794 (grub_lua_file_exist): Likewise.
5795 (grub_lua_add_menu): Likewise.
5796
5797 * script/lua/grub_lua.h (isupper): New inline function.
5798 (islower): Likewise.
5799 (ispunct): Likewise.
5800 (isxdigit): Likewise.
5801 (strcspn): Change to normal function.
5802 (strpbkr): New function declaration.
5803 (memchr): Likewise.
5804
5805 * script/lua/grub_main.c (scan_str): New function.
5806 (strcspn): Likewise.
5807 (strpbrk): Likewise.
5808 (memchr): Likewise.
5809
5810 * script/lua/linit.c (lualibs): Enable the string library.
5811
5812 * util/osdetect.lua: New file.
5813
2da92295 58142009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5815
5816 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5817 `capabilities' member.
5818
b2582ec9 58192009-07-02 Pavel Roskin <proski@gnu.org>
5820
5821 * genparttoollist.sh: Add missing newline at the end.
5822
32622956 58232009-07-01 Pavel Roskin <proski@gnu.org>
5824
87a7339e 5825 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5826
d23af54e 5827 * util/hostdisk.c (open_device): Remove `const' from
5828 `sysctl_size', as sysctlbyname() can change it (in this case it
5829 doesn't actually happen).
5830
c94b18a9 5831 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5832 using signed long int constants.
5833
c6cd3ef0 5834 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
5835 constant to avoid a warning on FreeBSD.
5836
0df63420 5837 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
5838 where it's needed.
5839
999577f1 5840 * Makefile.in: Install include/grub/machine symlink.
5841
6f41557f 5842 * Makefile.in: When installing symlinks, use "cp -fR", which
5843 works on FreeBSD and MacOSX.
5844 From Yves Blusseau <cl7m42e02@sneakemail.com>
5845
c8d22988 5846 * kern/dl.c (grub_dl_resolve_symbol): Make static.
5847 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
5848
1b96e952 5849 * util/misc.c: Move grub_reboot() and grub_halt() ...
5850 * util/grub-emu.c: ... here. Make main_env static.
5851 * include/grub/util/misc.h: Remove main_env.
5852
2ef0084d 5853 * kern/mm.c: Use correct format to print size_t.
5854
32622956 5855 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
5856 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
5857 * kern/powerpc/dl.c: Likewise.
5858 * kern/sparc64/dl.c: Likewise.
5859 * kern/x86_64/dl.c: Likewise.
5860
3f7f0cd0 58612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5862
5863 Fix grub-emu build on sparc64-ieee1275.
5864
75421ca9 5865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 5866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
5867
211d06b5 58682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
5871 (grub_reboot, grub_halt): New functions.
5872
5873 * util/i386/pc/misc.c: Delete. Update all users.
5874 * util/sparc64/ieee1275/misc.c: Likewise.
5875 * util/powerpc/ieee1275/misc.c: Likewise.
5876
aaf53e3c 58772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5878
5879 * conf/i386.rmk (setjmp_mod_SOURCES)
5880 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
5881 * conf/common.rmk (setjmp_mod_SOURCES)
5882 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
5883 to use $(target_cpu).
5884 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
5885 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
5886 * conf/powerpc-ieee1275.rmk: Likewise.
5887 * conf/sparc64-ieee1275.rmk: Likewise.
5888
5889 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
5890 $(target_cpu) for kern/$(target_cpu)/dl.c.
5891 * conf/i386-efi.rmk: Likewise.
5892 * conf/i386-ieee1275.rmk: Likewise.
5893 * conf/x86_64-efi.rmk: Likewise.
5894 * conf/i386-coreboot.rmk: Likewise.
5895 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
5896 $(target_cpu) for kern/$(target_cpu)/dl.c and for
5897 kern/$(target_cpu)/cache.S.
5898 * conf/sparc64-ieee1275.rmk: Likewise.
5899
a337130b 59002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5901
5902 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
5903 type to `grub_uint8_t', and adjust `padding9' accordingly.
5904
c6fe4d53 59052009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5906
b09db61d 5907 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
5908
c6fe4d53 5909 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
5910 assembly in final jump, using register constraints.
5911
b09db61d 5912 (grub_linux_boot): For text mode, initialize `have_vga' using
5913 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
5914
5915 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
5916 right before the final jump.
5917
5918 Set `video_mode' to 0x3.
5919
5920 Document initialization of `video_page', `video_mode' and
5921 `video_ega_bx'.
5922
28333ad0 59232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5924
5925 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
5926 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 5927 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 5928
02164e1b 59292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5930
5931 Fix build on Debian / sparc.
5932
5933 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
5934
18b6c557 59352009-06-28 Pavel Roskin <proski@gnu.org>
5936
85f2aab6 5937 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
5938 fix a warning.
5939
18b6c557 5940 * util/grub.d/10_linux.in: Match SUSE style initrd names.
5941
ad760f81 59422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5943
5944 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
5945 `err'.
5946
87a4623b 59472009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5948
5949 Revert r2338.
5950
5951 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
5952 file can't be opened. grub_file_open() is already supposed to set
75421ca9 5953 grub_errno / grub_errmsg appropriately.
87a4623b 5954 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5955
8231fb77 59562009-06-27 Pavel Roskin <proski@gnu.org>
59572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5958
5959 * include/grub/dl.h: Include grub/elf.h.
5960 (struct grub_dl): Add symtab field.
5961 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
5962 GRUB_MODULES_MACHINE_READONLY.
5963 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
5964 of the header for read-only modules.
5965 (grub_dl_unload): Free mod->symtab for read-only modules.
5966 * kern/i386/dl.c: Use mod->symtab.
5967 * kern/powerpc/dl.c: Likewise.
5968 * kern/sparc64/dl.c: Likewise.
5969 * kern/x86_64/dl.c: Likewise.
5970
5971 * conf/i386-qemu.rmk: New file.
5972 * kern/i386/qemu/startup.S: Likewise.
5973 * kern/i386/qemu/mmap.c: Likewise.
5974 * boot/i386/qemu/boot.S: Likewise.
5975 * include/grub/i386/qemu/time.h: Likewise.
5976 * include/grub/i386/qemu/serial.h: Likewise.
5977 * include/grub/i386/qemu/kernel.h: Likewise.
5978 * include/grub/i386/qemu/console.h: Likewise.
5979 * include/grub/i386/qemu/boot.h: Likewise.
5980 * include/grub/i386/qemu/init.h: Likewise.
5981 * include/grub/i386/qemu/machine.h: Likewise.
5982 * include/grub/i386/qemu/loader.h: Likewise.
5983 * include/grub/i386/qemu/memory.h: Likewise.
5984
5985 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
5986 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
5987 [qemu] (pkglib_IMAGES): Add `boot.img'.
5988 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
5989 [qemu] (boot_img_FORMAT): New variables.
5990 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
5991 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
5992 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
5993 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5994 [qemu] (kernel_img_FORMAT): New variables.
5995
5996 * configure.ac: Recognise `i386-qemu'.
5997
5998 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
5999 (for no compression).
6000 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6001 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6002 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6003 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6004 ifdefs).
6005
97fe384e 60062009-06-27 Pavel Roskin <proski@gnu.org>
6007
6008 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6009 read.
6010 * efiemu/prepare32.c: Likewise.
6011 * efiemu/prepare64.c: Likewise.
6012
c402ab17 60132009-06-26 Pavel Roskin <proski@gnu.org>
6014
6015 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6016 * include/grub/elf.h: Define symbols without "32" or "64" based
6017 on GRUB_TARGET_WORDSIZE.
6018 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6019 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6020 ELF definitions.
6021 * efiemu/loadcore64.c: Likewise.
6022 * loader/i386/bsd32.c: Likewise.
6023 * loader/i386/bsd64.c: Likewise.
6024 * kern/dl.c: Remove own ELF definitions.
6025 * util/i386/efi/grub-mkimage.c: Likewise.
6026
9bbdfd4d 60272009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6028
6029 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6030 segment 0x0 unconditionally, because the reference generated by
6031 GAS is an absolute address.
6032
a42ce6e9 60332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6034
6035 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6036 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6037
c952cf92 60382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6041 indexes. Check for -f explicitly.
cc3752ad 6042 (search_file): Improve error message.
6043 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6044
132a0a59 60452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6046
6047 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6048 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6049
387a140c 60502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6051
6052 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6053 * conf/i386-ieee1275.rmk: Likewise.
6054 * conf/i386-coreboot.rmk: Likewise.
6055
6056 * kern/i386/pc/startup.S (grub_stop): Remove function.
6057 * kern/i386/ieee1275/startup.S: Likewise.
6058 * kern/i386/coreboot/startup.S: Likewise.
6059 * kern/i386/misc.S (grub_stop): New function.
6060
41da9665 60612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6062
6063 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6064 * kern/i386/realmode.S (real_to_prot): ... to here.
6065
bf337234 60662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6067
6068 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6069 with `kernel.img'.
6070 (kernel_elf_SOURCES): Rename to ...
6071 (kernel_img_SOURCES): ... this.
6072 (kernel_elf_HEADERS): Rename to ...
6073 (kernel_img_HEADERS): ... this. Update all users.
6074 (kernel_elf_ASFLAGS): Rename to ...
6075 (kernel_img_ASFLAGS): ... this.
6076 (kernel_elf_CFLAGS): Rename to ...
6077 (kernel_img_CFLAGS): ... this.
6078 (kernel_elf_LDFLAGS): Rename to ...
6079 (kernel_img_LDFLAGS): ... this.
6080 * conf/i386-coreboot.rmk: Likewise.
6081 * conf/powerpc-ieee1275.rmk: Likewise.
6082
6083 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6084 with "kernel.img".
6085
f52196ff 60862009-06-21 Pavel Roskin <proski@gnu.org>
6087
c3cee413 6088 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6089 to match nested functions.
6090 * loader/sparc64/ieee1275/linux.c: Likewise.
6091
f52196ff 6092 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6093
58750afc 60942009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6095
6096 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6097 all i386 platforms.
6098
15355c7d 60992009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6100
6101 Fix asm file handling on ELF, and remove workarounds.
6102
6103 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6104 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6105 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6106 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6107
3f3ec72b 61082009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 Load BSD ELF modules
6111
6112 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6113 and loader/i386/bsd64.c
6114 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6115 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6116 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6117 (grub_freebsd_load_elfmodule32): New declaration
6118 (grub_freebsd_load_elfmoduleobj64): Likewise
6119 (grub_freebsd_load_elf_meta32): Likewise
6120 (grub_freebsd_load_elf_meta64): Likewise
6121 (grub_freebsd_add_meta): Likewise
6122 (grub_freebsd_add_meta_module): Likewise
6123 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6124 (grub_freebsd_add_meta_module): Likewise and move module-specific
6125 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6126 (grub_cmd_freebsd): Add elf-kernel specific parts
6127 based on grub_freebsd_add_meta_module
6128 (grub_cmd_freebsd_module): Add type parsing moved from
6129 grub_freebsd_add_meta_module
6130 (grub_cmd_freebsd_module_elf): New function
6131 (cmd_freebsd_module_elf): New variable
6132 (GRUB_MOD_INIT): Register freebsd_module_elf
6133 * loader/i386/bsd32.c: New file
6134 * loader/i386/bsd64.c: Likewise
6135 * loader/i386/bsdXX.c: Likewise
6136 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6137 (grub_elf64_load): Likewise
6138 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6139 All users updated
6140 (grub_elf64_load_hook_t): Likewise
6141
0db15301 61422009-06-21 Colin Watson <cjwatson@ubuntu.com>
6143
6144 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6145 variable.
6146 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6147 don't write a menu entry for recovery mode.
6148
546796c1 61492009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6150
6151 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6152 after it's no longer needed.
6153
cd7310d5 61542009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6155
6156 * include/grub/i386/loader.h (grub_linux_prot_size)
6157 (grub_linux_tmp_addr, grub_linux_real_addr)
6158 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6159 GRUB_MACHINE_PCBIOS.
6160 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6161 common grub_util_info() call to ...
6162 (generate_image): ... here.
6163 Fix use of uninitialized memory, comparison of signed with
6164 unsigned integers and memory leak.
6165 Remove bogus module address message.
6166
ab32d3b5 61672009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6170 grub_raid_register
6171 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6172
024ef597 61732009-06-19 Pavel Roskin <proski@gnu.org>
6174
6175 * configure.ac: Remove stray AC_MSG_CHECKING.
6176
3ac72b51 61772009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6180
e14cd814 61812009-06-18 Pavel Roskin <proski@gnu.org>
6182
6183 * conf/common.rmk: Add fs_file.mod.
6184 * disk/fs_file.c: New file.
6185 * include/grub/disk.h (enum grub_disk_dev_id): Add
6186 GRUB_DISK_DEVICE_FILE_ID.
6187
26586d98 61882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 Fix build with Apple's toolchain. Part 2
6191
6192 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6193 a fake start
6194
26de2bcd 61952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 Fix build with Apple's toolchain. Part 1
6198
6199 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6200 for long calls
6201 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6202 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6203 Apple's toolchain
6204
09b3490b 62052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 Fix warnings
6208
6209 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6210 (decomp_block): initialize ch
6211 use grub_memcpy instead of memcpy
6212
c22a006a 62132009-06-17 Pavel Roskin <proski@gnu.org>
6214
d3638678 6215 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6216 version, use declarations needed to use vga_text as the startup
6217 console.
6218
c22a006a 6219 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6220 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6221 the kernel.
6222 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6223 and grub_at_keyboard_fini(), it's done on module load and
6224 unload.
6225
05b129e0 62262009-06-17 Felix Zielcke <fzielcke@z-51.de>
6227
6228 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6229 file can't be found.
6230 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6231
cf24ed9e 62322009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 Fix newline handling
6235
6236 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6237 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6238 (grub_script_yylex): don't segfault on unterminated script
6239 newline terminates command and variable
6240
74aa8e4b 62412009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 avoid double grub_adjust_range call. Bug reported by David Simner
6244
6245 * kern/disk.c (grub_disk_write): change to raw disk access before
6246 calling disk_read
6247
1bd265f3 62482009-06-17 Colin Watson <cjwatson@ubuntu.com>
6249
6250 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6251 spaces, for the benefit of help2man.
6252 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6253
a2d08c06 62542009-06-16 Pavel Roskin <proski@gnu.org>
6255
6256 * kern/i386/halt.c: Include grub/machine/init.h.
6257 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6258
b97bcb19 62592009-06-16 Felix Zielcke <fzielcke@z-51.de>
6260
6261 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6262 drivemap menuentry.
6263
0644f96c 62642009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6265
6266 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6267 `echo' command.
6268
3ef17a2e 62692009-06-16 Pavel Roskin <proski@gnu.org>
6270
6271 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6272 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6273 save %dx, we only need %dl and we never change it.
6274 * boot/i386/pc/cdboot.S: Don't set the root drive.
6275 * boot/i386/pc/pxeboot.S: Likewise.
6276 * include/grub/i386/pc/boot.h: Remove
6277 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6278 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6279 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6280 * kern/i386/pc/init.c (make_install_device): Remove references
6281 to grub_root_drive.
6282 * kern/i386/pc/startup.S: Likewise.
6283 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6284
693fe637 62852009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 xnu_uuid command
6288
6289 * commands/xnu_uuid.c: new file
6290 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6291 (xnu_uuid_mod_SOURCES): new variable
6292 (xnu_uuid_mod_CFLAGS): likewise
6293 (xnu_uuid_mod_LDFLAGS): likewise
6294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6295 * conf/i386-ieee1275.rmk: likewise
6296 * conf/i386-pc.rmk: likewise
6297 * conf/powerpc-ieee1275.rmk: likewise
6298 * conf/sparc64-ieee1275.rmk: likewise
6299 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6300
c9da87d0 63012009-06-16 Pavel Roskin <proski@gnu.org>
6302
6303 * configure.ac: Avoid '==' in test command, it's not portable.
6304
9c6f4596 63052009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 Probe command
6308
6309 * commands/probe.c: new file
6310 * conf/common.rmk (pkglib_MODULES): add probe.mod
6311 (probe_mod_SOURCES): new variable
6312 (probe_mod_CFLAGS): likewise
6313 (probe_mod_LDFLAGS): likewise
6314 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6315 * conf/i386-ieee1275.rmk: likewise
6316 * conf/i386-pc.rmk: likewise
6317 * conf/powerpc-ieee1275.rmk: likewise
6318 * conf/sparc64-ieee1275.rmk: likewise
6319
70b7f9fd 63202009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Fix handling of string like \"hello\" and "a
6323 b"
6324
6325 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6326 (grub_script_yylex): fix parsing of quoting, escaping and newline
6327
71c79a6b 63282009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6329
dd74360c 6330 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6331 handling
dd74360c 6332
0644f96c 63332009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6334
6335 * util/grub-mkconfig.in: Fix parsing of --output option.
6336
e40893c3 63372009-06-12 Pavel Roskin <proski@gnu.org>
6338
6339 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6340 genmk.rb don't need to be generated or installed.
6341
3a1acfe2 63422009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * commands/i386/pc/drivemap_int13h.S: add more comments
6345
3a4575d4 63462009-06-11 Pavel Roskin <proski@gnu.org>
6347
0658e928 6348 * Makefile.in (uninstall): Uninstall manuals.
6349
ca0388f0 6350 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6351 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6352 and update-grub_lib in two places.
6353 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6354
e3b27c39 6355 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6356 a compiler warning.
6357
3a4575d4 6358 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6359 `entry_lo' to fix variable shadowing.
6360
af1f4f55 63612009-06-11 Christian Franke <franke@computer.org>
6362
6363 * kern/misc.c (__enable_execute_stack): Add missing return type
6364 to prevent gcc warning.
6365
5225e649 63662009-06-11 Felix Zielcke <fzielcke@z-51.de>
6367
6368 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6369
7d83bd47 63702009-06-11 Pavel Roskin <proski@gnu.org>
6371
c1cb63ba 6372 * Makefile.in: Don't rely on any scripts being executable.
6373 Always use $(SHELL) to run shell scripts.
6374
7d83bd47 6375 * configure.ac: Always define ___main if using -nostdlib. This
6376 fixes tests on Cygwin.
6377
948f48e7 63782009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
6379
6380 UDF fix
6381
7d83bd47 6382 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 6383 is in bytes and not in blocks
7d83bd47 6384
8ada9bc1 63852009-06-11 Pavel Roskin <proski@gnu.org>
6386
6387 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
6388 warning.
6389
25ad2323 63902009-06-11 Felix Zielcke <fzielcke@z-51.de>
6391
6392 * util/grub.d/30_os-prober.in: Fix a comment. Source
6393 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
6394 to set the root device. Place drivemap command in the generated
6395 chain entry.
6396
e65acb0c 63972009-06-11 Pavel Roskin <proski@gnu.org>
6398
6399 * configure.ac: Remove host_m32. Issues with 64-bit utilities
6400 have long been resolved.
6401
f285fe2d 64022009-06-11 Colin Watson <cjwatson@ubuntu.com>
6403
bd47b0b5 6404 * util/grub.d/10_linux.in: Capitalise "Linux".
6405
f285fe2d 6406 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
6407
a0c62e4e 64082009-06-11 Pavel Roskin <proski@gnu.org>
6409
b6783cb2 6410 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
6411 fix a gcc warning and ensure that the function won't ever exit.
6412
dde032e8 6413 * kern/i386/ieee1275/init.c: Add missing prototype for
6414 grub_stop_floppy().
6415
22cd079d 6416 * loader/ieee1275/multiboot2.c [__i386__]: Include
6417 grub/cpu/multiboot.h.
6418
a0c62e4e 6419 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
6420 casts to short - they are not portable and cause warnings. Fix
6421 use of uninitialized values in input_buf. Use ARRAY_SIZE.
6422
63963d17 64232009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 Drivemap fixes
6426
6427 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
6428 new function
6429 (grub_get_root_biosnumber_saved): new variable
6430 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
6431 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 6432 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 6433 %dx after the call if necessary
6434 * conf/common.rmk (pkglib_MODULES): remove boot.mod
6435 (boot_mod_SOURCES): remove
6436 (boot_mod_CFLAGS): remove
6437 (boot_mod_LDFLAGS): remove
6438 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
6439 (boot_mod_SOURCES): new variable
6440 (boot_mod_CFLAGS): likewise
6441 (boot_mod_LDFLAGS): likewise
6442 * conf/i386-efi.rmk: likewise
6443 * conf/i386-ieee1275.rmk: likewise
6444 * conf/i386-pc.rmk: likewise
6445 * conf/powerpc-ieee1275.rmk: likewise
6446 * conf/sparc64-ieee1275.rmk: likewise
6447 * conf/x86_64-efi.rmk: likewise
6448 * include/grub/i386/pc/biosnum.h: new file
6449 * lib/i386/pc/biosnum.c: likewise
6450 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
6451 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
6452 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 6453
33abf7ae 64542009-06-10 Pavel Roskin <proski@gnu.org>
6455
5ac35b35 6456 * io/gzio.c (test_header): Don't reuse one buffer for all data.
6457 Use separate variables. Read only the file size at the end, but
6458 not the checksum that we don't use.
6459
5c5215d5 6460 * kern/file.c (grub_file_read): Use void pointer for the buffer.
6461 Adjust all callers.
6462
27d5fef7 6463 * kern/ieee1275/openfw.c: Remove libc includes.
6464 * kern/ieee1275/cmain.c: Likewise.
6465 * include/grub/ieee1275/ieee1275.h: Likewise.
6466
33abf7ae 6467 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
6468 compiler warnings.
6469
19d50c2b 64702009-06-10 Felix Zielcke <fzielcke@z-51.de>
6471
6472 * Makefile.in: Remove all trailing whitespace.
6473 * conf/i386-pc.rmk: Likewise.
6474 * conf/powerpc-ieee1275.rmk: Likewise.
6475 * conf/sparc64-ieee1275.rmk: Likewise.
6476 * docs/grub.texi: Likewise.
6477 * docs/texinfo.tex: Likewise.
6478 * disk/fs_uuid.c: Likewise.
6479 * disk/lvm.c: Likewise.
6480 * disk/scsi.c: Likewise.
6481 * disk/ata.c: Likewise.
6482 * disk/ieee1275/ofdisk.c: Likewise.
6483 * disk/i386/pc/biosdisk.c: Likewise.
6484 * disk/host.c: Likewise.
6485 * disk/raid.c: Likewise.
6486 * disk/efi/efidisk.c: Likewise.
6487 * disk/usbms.c: Likewise.
6488 * disk/memdisk.c: Likewise.
6489 * disk/loopback.c: Likewise.
6490 * kern/powerpc/dl.c: Likewise.
6491 * kern/device.c: Likewise.
6492 * kern/dl.c: Likewise.
6493 * kern/sparc64/dl.c: Likewise.
6494 * kern/ieee1275/ieee1275.c: Likewise.
6495 * kern/term.c: Likewise.
6496 * kern/fs.c: Likewise.
6497 * kern/i386/dl.c: Likewise.
6498 * kern/i386/pc/startup.S: Likewise.
6499 * kern/i386/pc/init.c: Likewise.
6500 * kern/i386/pc/mmap.c: Likewise.
6501 * kern/i386/pc/lzo1x.S: Likewise.
6502 * kern/i386/ieee1275/init.c: Likewise.
6503 * kern/i386/realmode.S: Likewise.
6504 * kern/i386/tsc.c: Likewise.
6505 * kern/partition.c: Likewise.
6506 * kern/corecmd.c: Likewise.
6507 * kern/file.c: Likewise.
6508 * kern/efi/efi.c: Likewise.
6509 * kern/efi/init.c: Likewise.
6510 * kern/efi/mm.c: Likewise.
6511 * kern/main.c: Likewise.
6512 * kern/err.c: Likewise.
6513 * kern/env.c: Likewise.
6514 * kern/disk.c: Likewise.
6515 * kern/generic/millisleep.c: Likewise.
6516 * kern/generic/rtc_get_time_ms.c: Likewise.
6517 * kern/misc.c: Likewise.
6518 * kern/parser.c: Likewise.
6519 * genmk.rb: Likewise.
6520 * configure.ac: Likewise.
6521 * boot/i386/pc/diskboot.S: Likewise.
6522 * boot/i386/pc/pxeboot.S: Likewise.
6523 * boot/i386/pc/boot.S: Likewise.
6524 * boot/i386/pc/lnxboot.S: Likewise.
6525 * boot/i386/pc/cdboot.S: Likewise.
6526 * parttool/pcpart.c: Likewise.
6527 * video/readers/tga.c: Likewise.
6528 * video/video.c: Likewise.
6529 * video/bitmap.c: Likewise.
6530 * lib/envblk.c: Likewise.
6531 * lib/i386/setjmp.S: Likewise.
6532 * fs/xfs.c: Likewise.
6533 * fs/afs.c: Likewise.
6534 * fs/fat.c: Likewise.
6535 * fs/ntfs.c: Likewise.
6536 * fs/udf.c: Likewise.
6537 * fs/affs.c: Likewise.
6538 * fs/iso9660.c: Likewise.
6539 * fs/hfs.c: Likewise.
6540 * fs/fshelp.c: Likewise.
6541 * fs/ext2.c: Likewise.
6542 * fs/jfs.c: Likewise.
6543 * fs/reiserfs.c: Likewise.
6544 * fs/hfsplus.c: Likewise.
6545 * fs/minix.c: Likewise.
6546 * fs/cpio.c: Likewise.
6547 * fs/sfs.c: Likewise.
6548 * fs/ufs.c: Likewise.
6549 * efiemu/prepare.c: Likewise.
6550 * efiemu/loadcore_common.c: Likewise.
6551 * efiemu/runtime/efiemu.sh: Likewise.
6552 * efiemu/runtime/efiemu.S: Likewise.
6553 * efiemu/runtime/efiemu.c: Likewise.
6554 * efiemu/pnvram.c: Likewise.
6555 * efiemu/main.c: Likewise.
6556 * efiemu/i386/pc/cfgtables.c: Likewise.
6557 * efiemu/i386/loadcore64.c: Likewise.
6558 * efiemu/i386/loadcore32.c: Likewise.
6559 * efiemu/loadcore.c: Likewise.
6560 * efiemu/symbols.c: Likewise.
6561 * efiemu/mm.c: Likewise.
6562 * include/grub/autoefi.h: Likewise.
6563 * include/grub/datetime.h: Likewise.
6564 * include/grub/term.h: Likewise.
6565 * include/grub/hfs.h: Likewise.
6566 * include/grub/lvm.h: Likewise.
6567 * include/grub/i386/tsc.h: Likewise.
6568 * include/grub/i386/linux.h: Likewise.
6569 * include/grub/i386/xnu.h: Likewise.
6570 * include/grub/i386/efiemu.h: Likewise.
6571 * include/grub/i386/pc/biosdisk.h: Likewise.
6572 * include/grub/i386/pc/memory.h: Likewise.
6573 * include/grub/i386/pc/vbe.h: Likewise.
6574 * include/grub/parttool.h: Likewise.
6575 * include/grub/video.h: Likewise.
6576 * include/grub/memory.h: Likewise.
6577 * include/grub/fs.h: Likewise.
6578 * include/grub/partition.h: Likewise.
6579 * include/grub/xnu.h: Likewise.
6580 * include/grub/efi/api.h: Likewise.
6581 * include/grub/efi/pe32.h: Likewise.
6582 * include/grub/efi/memory.h: Likewise.
6583 * include/grub/multiboot.h: Likewise.
6584 * include/grub/usbdesc.h: Likewise.
6585 * include/grub/multiboot2.h: Likewise.
6586 * include/grub/acpi.h: Likewise.
6587 * include/grub/efiemu/efiemu.h: Likewise.
6588 * include/grub/disk.h: Likewise.
6589 * include/grub/ieee1275/ieee1275.h: Likewise.
6590 * include/grub/net.h: Likewise.
6591 * include/grub/machoload.h: Likewise.
6592 * include/grub/macho.h: Likewise.
6593 * include/multiboot.h: Likewise.
6594 * genmoddep.awk: Likewise.
6595 * normal/main.c: Likewise.
6596 * normal/menu_entry.c: Likewise.
6597 * normal/menu_viewer.c: Likewise.
6598 * normal/completion.c: Likewise.
6599 * normal/cmdline.c: Likewise.
6600 * normal/misc.c: Likewise.
6601 * normal/datetime.c: Likewise.
6602 * bus/usb/usbtrans.c: Likewise.
6603 * bus/usb/ohci.c: Likewise.
6604 * bus/usb/uhci.c: Likewise.
6605 * bus/usb/usb.c: Likewise.
6606 * mmap/efi/mmap.c: Likewise.
6607 * mmap/i386/pc/mmap_helper.S: Likewise.
6608 * mmap/i386/pc/mmap.c: Likewise.
6609 * mmap/i386/mmap.c: Likewise.
6610 * mmap/i386/uppermem.c: Likewise.
6611 * mmap/mmap.c: Likewise.
6612 * commands/acpi.c: Likewise.
6613 * commands/echo.c: Likewise.
6614 * commands/blocklist.c: Likewise.
6615 * commands/loadenv.c: Likewise.
6616 * commands/usbtest.c: Likewise.
6617 * commands/boot.c: Likewise.
6618 * commands/parttool.c: Likewise.
6619 * commands/search.c: Likewise.
6620 * commands/cat.c: Likewise.
6621 * commands/i386/pc/play.c: Likewise.
6622 * commands/i386/pc/drivemap.c: Likewise.
6623 * commands/i386/pc/vbeinfo.c: Likewise.
6624 * commands/i386/pc/acpi.c: Likewise.
6625 * commands/i386/pc/vbetest.c: Likewise.
6626 * commands/ls.c: Likewise.
6627 * commands/cmp.c: Likewise.
6628 * commands/test.c: Likewise.
6629 * commands/efi/acpi.c: Likewise.
6630 * commands/gptsync.c: Likewise.
6631 * commands/help.c: Likewise.
6632 * partmap/amiga.c: Likewise.
6633 * partmap/apple.c: Likewise.
6634 * partmap/acorn.c: Likewise.
6635 * partmap/pc.c: Likewise.
6636 * partmap/sun.c: Likewise.
6637 * partmap/gpt.c: Likewise.
6638 * script/sh/lexer.c: Likewise.
6639 * script/sh/function.c: Likewise.
6640 * font/font.c: Likewise.
6641 * font/font_cmd.c: Likewise.
6642 * loader/powerpc/ieee1275/linux.c: Likewise.
6643 * loader/efi/chainloader.c: Likewise.
6644 * loader/multiboot_loader.c: Likewise.
6645 * loader/macho.c: Likewise.
6646 * loader/i386/multiboot.c: Likewise.
6647 * loader/i386/linux.c: Likewise.
6648 * loader/i386/pc/linux.c: Likewise.
6649 * loader/i386/pc/multiboot2.c: Likewise.
6650 * loader/i386/pc/chainloader.c: Likewise.
6651 * loader/i386/pc/xnu.c: Likewise.
6652 * loader/i386/bsd_trampoline.S: Likewise.
6653 * loader/i386/efi/linux.c: Likewise.
6654 * loader/i386/multiboot_elfxx.c: Likewise.
6655 * loader/i386/bsd_helper.S: Likewise.
6656 * loader/i386/bsd.c: Likewise.
6657 * loader/i386/linux_trampoline.S: Likewise.
6658 * loader/i386/xnu_helper.S: Likewise.
6659 * loader/i386/xnu.c: Likewise.
6660 * loader/i386/bsd_pagetable.c: Likewise.
6661 * loader/i386/multiboot_helper.S: Likewise.
6662 * loader/xnu.c: Likewise.
6663 * loader/xnu_resume.c: Likewise.
6664 * io/gzio.c: Likewise.
6665 * term/efi/console.c: Likewise.
6666 * term/terminfo.c: Likewise.
6667 * term/ieee1275/ofconsole.c: Likewise.
6668 * term/i386/pc/serial.c: Likewise.
6669 * term/i386/pc/vesafb.c: Likewise.
6670 * term/i386/pc/vga.c: Likewise.
6671 * term/usb_keyboard.c: Likewise.
6672 * term/gfxterm.c: Likewise.
6673 * aclocal.m4: Likewise.
6674 * util/lvm.c: Likewise.
6675 * util/grub.d/30_os-prober.in: Likewise.
6676 * util/grub.d/10_hurd.in: Likewise.
6677 * util/console.c: Likewise.
6678 * util/grub-macho2img.c: Likewise.
6679 * util/grub-probe.c: Likewise.
6680 * util/hostfs.c: Likewise.
6681 * util/i386/pc/grub-mkimage.c: Likewise.
6682 * util/i386/pc/grub-setup.c: Likewise.
6683 * util/i386/efi/grub-mkimage.c: Likewise.
6684 * util/grub-mkconfig.in: Likewise.
6685 * util/raid.c: Likewise.
6686 * util/resolve.c: Likewise.
6687 * util/grub-mkdevicemap.c: Likewise.
6688 * util/grub-emu.c: Likewise.
6689 * util/getroot.c: Likewise.
6690 * util/hostdisk.c: Likewise.
6691 * util/usb.c: Likewise.
6692 * util/grub-editenv.c: Likewise.
6693 * util/misc.c: Likewise.
6694
d2d49665 66952009-06-10 Felix Zielcke <fzielcke@z-51.de>
6696
6697 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
6698 `genparttoollist.sh'.
6699 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
6700 Add `*.sh' to the list find searches for and change `mdate.sh'
6701 to `mdate-sh'.
6702
fe052e37 67032009-06-10 Pavel Roskin <proski@gnu.org>
6704
2763ac18 6705 * include/grub/multiboot2.h: Provide compatibility defines for
6706 multiboot2.h.
6707 * include/multiboot2.h: Include stdint.h only if needed, using
6708 angle brackets.
6709 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
6710 grub/multiboot2.h.
6711 * loader/ieee1275/multiboot2.c: Likewise.
6712 * loader/multiboot2.c: Likewise.
6713 * loader/multiboot_loader.c: Likewise.
6714
437e6adc 6715 * configure.ac: Use -nostdlib when probing for the target. It
6716 should not be required to have libc for the target.
6717
06a6836c 6718 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
6719 they fail without libc headers for the target.
6720 * include/grub/powerpc/libgcc.h: Use weak attribute for all
6721 exports.
6722 * include/grub/sparc64/libgcc.h: Likewise. Don't use
6723 preprocessor conditionals.
6724
fe052e37 6725 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
6726 build system doesn't need to be aware of the tar.c internals.
6727
afd22553 67282009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 6729
afd22553 6730 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 6731
6b787c4f 67322009-06-09 Robert Millan <rmh.grub@aybabtu.com>
6733
6734 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
6735 disk limit to 26 for IDE, Virtio, Xen and SCSI.
6736
67372009-06-09 Felix Zielcke <fzielcke@z-51.de>
6738
6739 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 6740 aren't available if ata.mod gets used.
6b787c4f 6741
473d1e45 67422009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 6743
473d1e45 6744 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 6745 initialising controller.
473d1e45 6746 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 6747
255a27d4 67482009-06-08 Felix Zielcke <fzielcke@z-51.de>
6749
6750 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6751 to choose between ata and biosdisk module on i386-pc.
6752
473d1e45 67532009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6754
d55842d8 6755 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6756 Subclass and Programming Interface fields in terms of the 3 byte
6757 Class Code register.
6758 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6759
fa5db0b1 6760 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6761 interface is OHCI. Add grub_dprintf for symmetry with
6762 bus/usb/uhci.c.
6763 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6764 interface is UHCI. Add interf variable for programming
6765 interface. Print interface with class/subclass.
6766
c0947beb 6767 * bus/usb/ohci.c: Set interf with correct field.
6768
69da8877 6769 * bus/usb/uhci.c: Remove unneeded doubled lines.
6770 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6771 Remove whitespace inside comment.
6772
9e172e30 67732009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6774
6775 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6776 as fallback an equivalent option without depth.
6777
de65ee2b 67782009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 Not fail if unable to retrieve C/H/S on LBA disks
6781
473d1e45 6782 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6783 if unable to retrieve C/H/S on LBA disks
6784
b57ea2c9 67852009-06-08 Pavel Roskin <proski@gnu.org>
6786
6787 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6788 about aliasing.
6789
af361263 67902009-06-08 Felix Zielcke <fzielcke@z-51.de>
6791
6792 * Makefile.in (uninstall): Remove all $lib_DATA files.
6793
4c9ec6b3 67942009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 Bugfix: install on partitionless device
6797
6798 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6799 is a whole disk
6800
e76fc924 68012009-06-08 Felix Zielcke <fzielcke@z-51.de>
6802
6803 * Makefile.in (uninstall): Remove all $include_DATA files.
6804
ba5a0d05 68052009-06-08 Felix Zielcke <fzielcke@z-51.de>
6806
6807 * commands/true.c: New file. Implement the true and false commands.
6808 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6809 (true_mod_SOURCES): New variable.
6810 (true_mod_CFLAGS): Likewise.
6811 (true_mod_LDFLAGS): Likewise.
6812
c8048e32 68132009-06-05 Colin D Bennett <colin@gibibit.com>
6814
6815 Optimized font character lookup using binary search instead of linear
6816 search. Fonts now are required to have the character index ordered by
6817 code point.
6818
6819 * font/font.c (load_font_index): Verify that fonts have ordered
6820 character indices.
6821 (find_glyph): Use binary search instead of linear search to find a
6822 character in a font.
6823
408305be 68242009-06-05 Michael Scherer <misc@mandriva.org>
6825
6826 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6827 uses case sensitive btree.
6828 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6829 only for case insensitive filesystems.
6830
8ee1e0d9 68312009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6834 * conf/common.rmk (search_mod_CFLAGS): likewise
6835
a9966eb1 68362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6837
473d1e45 6838 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 6839 compensate a compiler bug
6840
9e7100fb 68412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6842
473d1e45 6843 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 6844 instead of '\b'
473d1e45 6845
ede21d71 68462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Definitions for creating asm symbols with Apple's CC
6849
6850 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
6851 [APPLE_CC] (VARIABLE): likewise
6852
9dbf7653 68532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Disable lnxboot.img when compiled
6856 with Apple's CC
6857
6858 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
6859 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
6860 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
6861 [! APPLE_CC] (CODE_LENG): skip
6862 [! APPLE_CC] (setup_sects): likewise
6863 [! APPLE_CC]: skip filling
473d1e45 6864
e93cdc3d 68652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 Address in trampolines based on 32-bit registers when compiled
6868 with Apple's CC
6869
473d1e45 6870 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 6871 for addresses
6872 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
6873
6c688477 68742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 Avoid aliases when compiling with Apple's CC for PCBIOS machine
6877
6878 * kern/misc.c [APPLE_CC] (memcpy): new function
6879 [APPLE_CC] (memmove): likewise
6880 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 6881 (memcpy): define alias conditionally on !APPLE_CC
6c688477 6882 (memset): likewise
6883 (abort): likewise
6884 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
6885 APPLE_CC are defined
6886 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
6887 (grub_assert_fail): make prototype conditional
6888
e37ffc5c 68892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
6892
473d1e45 6893 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
6894 grub-macho2img
e37ffc5c 6895 (CLEANFILES): add grub-macho2img
6896 (grub_macho2img_SOURCES): new variable
6897 * kern/i386/pc/startup.S (bss_start): new variable
6898 (bss_end): likewise
6899 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
6900 * util/grub-macho2img.c: new file
6901
cf00df31 69022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 Use objconv when compiling with Apple's CC
6905
6906 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
6907 (efiemu64.o): likewise
6908 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
6909 when compiling with Apple's CC
6910 (efiemu64_s.o): likewise
6911 * configure.ac: check for objconv when compiling with Apple's CC
6912 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 6913
d119a20c 69142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Define segment as well as section when compiling with
6917 Apple's CC
6918
6919 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
6920 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
6921 (efiemu_convert_pointer): likewise
6922 (efiemu_set_virtual_address_map): likewise
6923 (efiemu_convert_pointer): likewise
6924 (efiemu_getcrc32): likewise
6925 (init_crc32_table): likewise
6926 (reflect): likewise
6927 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
6928 (GRUB_MOD_DEP): likewise
473d1e45 6929
c8600122 69302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 Allow a compilation without -mcmodel=large
6933
6934 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
6935 when compiled without -mcmodel=large
473d1e45 6936 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 6937 without -mcmodel=large
473d1e45 6938 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 6939 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 6940
e8df1d4e 69412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 Remove nested functions in efiemu core
6944
6945 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 6946
cc6c3ac1 69472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
6950
6951 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
6952 temporary storage
473d1e45 6953 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
6954 using Apple's CC
cc6c3ac1 6955 (grub_cpu_is_tsc_supported): likewise
6956 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 6957
3e325901 69582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Absolute addressing through constant with Apple's cc
6961
6962 * kern/i386/pc/startup.S: Define necessary constants
6963 and address through it when using ABS with Apple's CC
6964 * boot/i386/pc/diskboot.S: likewise
6965 * boot/i386/pc/boot.S: likewise
6966 * boot/i386/pc/lnxboot.S: likewise
6967 * boot/i386/pc/cdboot.S: likewise
6968 * mmap/i386/pc/mmap_helper.S: likewise
6969 * commands/i386/pc/drivemap_int13h.S: likewise
6970
2b167a72 69712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 Check if compiler is apple cc
6974
6975 * Makefile.in (ASFLAGS): new variable
6976 (TARGET_ASFLAGS): likewise
6977 (TARGET_MODULE_FORMAT): likewise
6978 (TARGET_APPLE_CC): likewise
6979 (OBJCONV): likewise
6980 (TARGET_IMG_CFLAGS): likewise
6981 (TARGET_CPPFLAGS): add includedir
6982 * configure.ac: call grub_apple_cc and grub_apple_target_cc
6983 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
6984 Check for linker script only if compiler isn't Apple's CC
6985 (TARGET_MODULE_FORMAT): set
6986 (TARGET_APPLE_CC): likewise
6987 (TARGET_ASFLAGS): likewise
6988 (ASFLAGS): likewise
6989 Check for objcopy only if compiler isn't Apple's CC
6990 Check for BSS symbol only if compiler isn't Apple's CC
6991 * genmk.rb: adapt nm options if we use Apple's utils
6992 * aclocal.m4 (grub_apple_cc): new test
6993 (grub_apple_target_cc): likewise
473d1e45 6994
fb14123e 69952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Simplify sed expressions and improve awk
6998
6999 * Makefile.in (install-local): simplify sed expression
7000 * gencmdlist.sh: likewise
7001 * genmoddep.awk: avoid adding module as a dependency of itself
7002
5b889789 70032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Add missing start symbols
7006
7007 * boot/i386/pc/boot.S: add start
fb14123e 7008 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7009
fd2bf2e3 70102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7013
7014 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7015 (relocate_addresses): consider both r_addend and value at offset
7016 (make_mods_section): zerofill modinfo and header
7017 (convert_elf): write prefix here
473d1e45 7018
5389763d 70192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 Use .asciz instead of .string
7022
7023 * i386/pc/diskboot.S: use .asciz instead of .string
7024 * i386/pc/boot.S: likewise
7025 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7026 (GRUB_MOD_NAME): likewise
473d1e45 7027
3eb5ed4e 70282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 gfxpayload support
7031
7032 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7033 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7034 (grub_video_setup): remove
7035 (grub_video_set_mode): new prototype
7036 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7037 (vid_mode): remove
7038 (linux_vesafb_res): compile only on PCBIOS
7039 (grub_linux_boot): support gfxpayload
7040 * loader/i386/pc/xnu.c (video_hook): new function
7041 (grub_xnu_set_video): support gfxpayload
7042 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7043 (DEFAULT_VIDEO_HEIGHT): likewise
7044 (DEFAULT_VIDEO_FLAGS): likewise
7045 (DEFAULT_VIDEO_MODE): new definition
7046 (video_hook): new function
7047 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7048 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7049 loading xnu
7050 * video/video.c (grub_video_setup): removed
473d1e45 7051 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7052 grub_video_setup
7053
4b0e1143 70542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Avoid calling biosdisk in drivemap
7057
7058 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7059 (revparse_biosdisk): likewise
7060 (list_mappings): derive name from id directly
7061 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7062
fda6cb98 70632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 Script fixes
7066
7067 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7068 (grub_lexer_param): add tokenonhold
7069 (grub_script_create_cmdline): remove cmdline. All callers updated
7070 (grub_script_function_create): make functionname
7071 grub_script_arg. All callers updated
7072 (grub_script_execute_argument_to_string): new prototype
7073 * kern/parser.c (state_transitions): reorder
7074 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7075 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7076 make global
7077 (grub_script_execute_cmdline): use new format
7078 * script/sh/function.c (grub_script_function_create): make functionname
7079 grub_script_arg. All callers updated
473d1e45 7080 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7081 (grub_script_yylex): remove
7082 (grub_script_yylex2): renamed to ...
7083 (grub_script_yylex): ...renamed
7084 parse the expressions like a${b}c
7085 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7086 (GRUB_PARSER_TOKEN_VAR): remove
7087 (GRUB_PARSER_TOKEN_NAME): likewise
7088 ("if"): declare as typeless
7089 ("while"): likewise
7090 ("function"): likewise
7091 ("else"): likewise
7092 ("then"): likewise
7093 ("fi"): likewise
7094 (text): remove
7095 (argument): likewise
7096 (script): accept empty scripts and make exit on error
7097 (arguments): use GRUB_PARSER_TOKEN_ARG
7098 (function): likewise
7099 (command): move error handling to script
7100 (menuentry): move grub_script_lexer_ref before
473d1e45 7101 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7102 argument. All callers updated
7103
f4448a07 71042009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7105
7106 Prevent GRUB from probing floppies during boot.
7107
7108 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7109 * commands/search.c (options): Add --no-floppy.
7110 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7111 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7112 --no-floppy when searching for UUIDs.
7113
2bf5885a 71142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7115
7116 Simplify the code duplication in commands/search.c.
7117
7118 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7119 (search_fs): ... this. Update all users.
7120
f6fd460a 71212009-06-03 Felix Zielcke <fzielcke@z-51.de>
7122
7123 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7124
cbb3c83e 71252009-05-28 Pavel Roskin <proski@gnu.org>
7126
57788cfd 7127 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7128 Remove the original symlink explicitly.
7129
cbb3c83e 7130 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7131 just one slash. That's how grub_fshelp_find_file() does it.
7132
cd0d5e30 71332009-05-26 Pavel Roskin <proski@gnu.org>
7134
f0f8bbe2 7135 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7136 to `str'.
7137
cd0d5e30 7138 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7139 possibly unused.
7140
8c2cab51 71412009-05-25 Christian Franke <franke@computer.org>
7142
7143 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7144 register.
7145 (grub_atapi_identify): Add wait after drive select.
7146 (grub_ata_identify): Do more strict status register check before
7147 calling grub_atapi_identify (). Suppress error message if status
7148 register is 0x00 after command failure. Add status register
7149 check after PIO read to avoid bogus identify due to stuck DRQ.
7150 Thanks to Pavel Roskin for testing.
7151 (grub_device_initialize): Remove unsafe status register check.
7152 Thanks to 'phcoder' for problem report and patch.
7153 Prevent sign extension in debug message.
7154
230c0ad6 71552009-05-23 Colin D Bennett <colin@gibibit.com>
7156
7157 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7158 definition file, and functions defined in `normal/menu.c' have had
7159 their prototypes moved to `include/grub/menu.h' for consistency.
7160
7161 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7162 from normal.h.
7163 (grub_menu_get_entry): Likewise.
7164 (grub_menu_get_timeout): Likewise.
7165 (grub_menu_set_timeout): Likewise.
7166 (grub_menu_execute_entry): Likewise.
7167 (grub_menu_execute_with_fallback): Likewise.
7168 (grub_menu_entry_run): Likewise.
7169
7170 * include/grub/normal.h: Re-ordered and grouped function
7171 prototypes by file that the function is defined in.
7172 (grub_menu_execute_callback): Removed; moved to menu.h.
7173 (grub_menu_get_entry): Likewise.
7174 (grub_menu_get_timeout): Likewise.
7175 (grub_menu_set_timeout): Likewise.
7176 (grub_menu_execute_entry): Likewise.
7177 (grub_menu_execute_with_fallback): Likewise.
7178 (grub_menu_entry_run): Likewise.
7179 (grub_menu_addentry): Renamed from this ...
7180 (grub_normal_add_menu_entry): ... to this.
7181
7182 * normal/main.c (grub_menu_addentry): Renamed from this ...
7183 (grub_normal_add_menu_entry): ... to this.
7184
7185 * script/sh/execute.c (grub_script_execute_menuentry): Update
7186 reference to renamed grub_menu_addentry function.
7187
861f03a5 71882009-05-23 Felix Zielcke <fzielcke@z-51.de>
7189
7190 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7191
96b1619a 71922009-05-22 Pavel Roskin <proski@gnu.org>
7193
bf6a5fb2 7194 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7195 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7196 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7197 compiling for the i386 targets, but not for the utilities.
7198
96b1619a 7199 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7200 to grub_uint8_t.
7201 (grub_root_drive): Likewise.
7202 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7203 remove alignment.
7204 (grub_root_drive): Change size to byte.
7205 (grub_start_addr): Remove.
7206 (grub_end_addr): Likewise.
7207 (grub_apm_bios_info): Likewise.
7208
b729776b 72092009-05-21 Felix Zielcke <fzielcke@z-51.de>
7210
7211 * normal/i386: Remove.
7212 * normal/powerpc: Likewise.
7213 * normal/sparc64: Likewise.
7214 * normal/x86_64: Likewise.
7215
0a15ce80 72162009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7219 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7220 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7221
33db9015 72222009-05-18 Colin D Bennett <colin@gibibit.com>
7223
d6da58e6 7224 Display error messages when parsing a Lua statement fails.
7225 Previously, executing a syntactically invalid statement like
7226 ")foo" or "bar;" would silently fail.
33db9015 7227
7228 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7229 (grub_lua_parse_line): Improved reporting of Lua parser and
7230 execution errors.
33db9015 7231
46422c89 72322009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Remove -Werror which causes build to fail on some systems
7235
7236 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7237 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7238 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7239
22f53a96 72402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 trampoline for linux on 64-bit platform
7243
18f547ad 7244 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7245 loader/i386/efi/linux_trampoline.S
7246 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7247 declaration
d6da58e6 7248 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7249 here
22f53a96 7250 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7251 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7252 trampoline
22f53a96 7253 (jumpvector): removed
7254 (grub_linux_trampoline_start): new declaration
7255 (grub_linux_trampoline_end): likewise
7256 (grub_linux_boot): use trampoline when on 64-bit platform
7257 * loader/i386/linux.c: likewise
7258
cb5a0f40 72592009-05-16 Pavel Roskin <proski@gnu.org>
7260
7261 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7262 const to avoid a warning.
7263 (grub_lua_setenv): Likewise.
7264 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7265 lmsg to fix a warning.
7266
334f2c28 72672009-05-16 Felix Zielcke <fzielcke@z-51.de>
7268
7269 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7270 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7271 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7272 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7273 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7274 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7275 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7276 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7277
59e5d3ec 72782009-05-16 Felix Zielcke <fzielcke@z-51.de>
7279
7280 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7281
9d87a1ba 72822009-05-16 Bean <bean123ch@gmail.com>
7283
7284 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7285 (lua_mod_SOURCES): New variable.
7286 (lua_mod_CFLAGS): Likewise.
7287 (lua_mod_LDFLAGS): Likewise.
7288
7289 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7290 (setjmp_mod_SOURCES): New variable.
7291 (setjmp_mod_CFLAGS): Likewise.
7292 (setjmp_LDFLAGS): Likewise.
7293
7294 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7295 (setjmp_mod_SOURCES): New variable.
7296 (setjmp_mod_CFLAGS): Likewise.
7297 (setjmp_LDFLAGS): Likewise.
7298
7299 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7300 (setjmp_mod_SOURCES): New variable.
7301 (setjmp_mod_CFLAGS): Likewise.
7302 (setjmp_LDFLAGS): Likewise.
7303
7304 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7305 (setjmp_mod_SOURCES): New variable.
7306 (setjmp_mod_CFLAGS): Likewise.
7307 (setjmp_LDFLAGS): Likewise.
7308
7309 * normal/i386/setjmp.S: Moved from here ...
7310 * lib/i386/setjmp.S: ... Moved here
7311 * normal/x86_64/setjmp.S: Moved from here ...
7312 * lib/x86_64/setjmp.S: ... Moved here
7313 * normal/powerpc/setjmp.S: Moved from here ...
7314 * lib/powerpc/setjmp.S: ... Moved here
7315 * normal/sparc64/setjmp.S: Moved from here ...
7316 * lib/sparc64/setjmp.S: ... Moved here
7317
7318 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7319 returns_twice in mingw.
7320
7321 * script/lua/grub_lib.c: New file.
7322 * script/lua/grub_lib.h: Likewise.
7323 * script/lua/grub_lua.h: Likewise.
7324 * script/lua/grub_main.c: Likewise.
7325 * script/lua/lapi.c: Likewise.
7326 * script/lua/lapi.h: Likewise.
7327 * script/lua/lauxlib.c: Likewise.
7328 * script/lua/lauxlib.h: Likewise.
7329 * script/lua/lbaselib.c: Likewise.
7330 * script/lua/lcode.c: Likewise.
7331 * script/lua/lcode.h: Likewise.
7332 * script/lua/ldblib.c: Likewise.
7333 * script/lua/ldebug.c: Likewise.
7334 * script/lua/ldebug.h: Likewise.
7335 * script/lua/ldo.c: Likewise.
7336 * script/lua/ldo.h: Likewise.
7337 * script/lua/ldump.c: Likewise.
7338 * script/lua/lfunc.c: Likewise.
7339 * script/lua/lfunc.h: Likewise.
7340 * script/lua/lgc.c: Likewise.
7341 * script/lua/lgc.h: Likewise.
7342 * script/lua/linit.c: Likewise.
7343 * script/lua/liolib.c: Likewise.
7344 * script/lua/llex.c: Likewise.
7345 * script/lua/llex.h: Likewise.
7346 * script/lua/llimits.h: Likewise.
7347 * script/lua/lmathlib.c: Likewise.
7348 * script/lua/lmem.c: Likewise.
7349 * script/lua/lmem.h: Likewise.
7350 * script/lua/loadlib.c: Likewise.
7351 * script/lua/lobject.c: Likewise.
7352 * script/lua/lobject.h: Likewise.
7353 * script/lua/lopcodes.c: Likewise.
7354 * script/lua/lopcodes.h: Likewise.
7355 * script/lua/loslib.c: Likewise.
7356 * script/lua/lparser.c: Likewise.
7357 * script/lua/lparser.h: Likewise.
7358 * script/lua/lstate.c: Likewise.
7359 * script/lua/lstate.h: Likewise.
7360 * script/lua/lstring.c: Likewise.
7361 * script/lua/lstring.h: Likewise.
7362 * script/lua/lstrlib.c: Likewise.
7363 * script/lua/ltable.c: Likewise.
7364 * script/lua/ltable.h: Likewise.
7365 * script/lua/ltablib.c: Likewise.
7366 * script/lua/ltm.c: Likewise.
7367 * script/lua/ltm.h: Likewise.
7368 * script/lua/lua.h: Likewise.
7369 * script/lua/luaconf.h: Likewise.
7370 * script/lua/lualib.h: Likewise.
7371 * script/lua/lundump.c: Likewise.
7372 * script/lua/lundump.h: Likewise.
7373 * script/lua/lvm.c: Likewise.
7374 * script/lua/lvm.h: Likewise.
7375 * script/lua/lzio.c: Likewise.
7376 * script/lua/lzio.h: Likewise.
7377
5e898c9d 73782009-05-16 Bean <bean123ch@gmail.com>
7379
7380 * include/grub/kernel.h (grub_module_header_types): Add type
7381 OBJ_TYPE_CONFIG.
7382
7383 * kern/main.c (grub_load_config): New function.
7384 (grub_main): Call grub_load_config to read boot config.
7385
7386 * grub-mkimage (generate_image): New parameter config_path.
7387 (options): New option --config.
7388 (main): Parse --config option, and pass it to generate_image.
7389
cf353a47 73902009-05-14 Christian Franke <franke@computer.org>
7391
7392 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
7393 This fixes build on Cygwin.
7394
3834887f 73952009-05-14 Pavel Roskin <proski@gnu.org>
7396
7397 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
7398 jump. This saves two bytes, so the typical case of 2 swapped
7399 drives would fit 32 bytes.
7400
8090fc01 74012009-05-13 Pavel Roskin <proski@gnu.org>
7402
ac963883 7403 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
7404 grub_uint32_t to avoid a warning.
7405
8090fc01 7406 * loader/i386/linux.c (allocate_pages): When assigning
7407 real_mode_mem, cast through grub_size_t to fix a warning. The
7408 code already makes sure that the value would fit a pointer.
7409 (grub_linux_setup_video): Cast render_target->data to
7410 grub_size_t to fix a warning.
7411
18f547ad 74122009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 7413
7414 * commands/i386/pc/drivemap.c: New file - implement drivemap
7415 command.
7416 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
7417 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
7418
6f6a8b28 74192009-05-13 Pavel Roskin <proski@gnu.org>
7420
7421 * util/i386/pc/grub-setup.c (setup): Remove unused variable
7422 embedding_area_exists.
7423
15fbf4c4 74242009-05-13 Robert Millan <rmh.grub@aybabtu.com>
7425
7426 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
7427 it easier to understand / work with.
59978c8a 7428 Improve warning messages for cases where there's no embedding area,
7429 or when it is too small (or core.img too large).
15fbf4c4 7430
238e871f 74312009-05-13 Pavel Roskin <proski@gnu.org>
7432
0ab3a9a4 7433 * loader/i386/pc/multiboot2.c: Add necessary includes for
7434 grub_multiboot2_real_boot().
7435
a2c8c5f8 7436 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
7437 PX record is always little-endian. We only need the lower 2
7438 bytes of the mode.
7439
faec96af 7440 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
7441 facilitate code reuse.
7442 (grub_cpio_mount): Use "struct head", not a char buffer. This
7443 fixes a warning reported by gcc 4.4.
7444
238e871f 7445 * kernel/disk.c (grub_disk_read): Use void pointer for the
7446 buffer.
7447 (grub_disk_write): Use const void pointer for the buffer.
7448 Adjust all callers. Remove unnecessary casts.
7449
901d2f0c 74502009-05-10 Robert Millan <rmh.grub@aybabtu.com>
7451
7452 * util/i386/pc/grub-install.in: Update copyright year.
7453
18f547ad 74542009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 7455
7456 gptsync
7457
7458 * commands/gptsync.c: new file
7459 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
7460 (gptsync_mod_SOURCES): new variable
7461 (gptsync_mod_CFLAGS): likewise
7462 (gptsync_mod_LDFLAGS): likewise
18f547ad 7463 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 7464 new definition
7465 (GRUB_PC_PARTITION_TYPE_HFS): likewise
7466 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
7467 * conf/i386-ieee1275.rmk: likewise
7468 * conf/i386-pc.rmk: likewise
7469 * conf/powerpc-ieee1275.rmk: likewise
7470
b4ba690a 74712009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 Fixed grub-emu
7474
7475 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
7476 (grub_dl_ref): likewise
7477
317e1a44 74782009-05-08 Robert Millan <rmh.grub@aybabtu.com>
7479
7480 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
7481 split in two functions (one for msdos and one for gpt).
7482
041b8094 74832009-05-08 Pavel Roskin <proski@gnu.org>
7484
752473c2 7485 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
7486 not modified.
7487
041b8094 7488 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
7489 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
7490 Initialize them with -1. Add sanity check for bad1. Eliminate
7491 nerr variable.
7492
172800ce 74932009-05-08 David S. Miller <davem@davemloft.net>
7494
7495 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
7496
29aa5e81 74972009-05-06 Robert Millan <rmh.grub@aybabtu.com>
7498
7499 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 7500 existence.
29aa5e81 7501
96613b62 75022009-05-05 Felix Zielcke <fzielcke@z-51.de>
7503
7504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 7505 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 7506
eef73c8a 75072009-05-05 David S. Miller <davem@davemloft.net>
7508
7509 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
7510
119494b5 75112009-05-05 Pavel Roskin <proski@gnu.org>
7512
7513 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
7514 of grub_dl_ref() and grub_dl_unref().
7515 * commands/parttool.c: Remove preprocessor conditionals around
7516 grub_dl_ref() and grub_dl_unref().
7517 * fs/affs.c: Likewise.
7518 * fs/afs.c: Likewise.
7519 * fs/cpio.c: Likewise.
7520 * fs/ext2.c: Likewise.
7521 * fs/fat.c: Likewise.
7522 * fs/hfs.c: Likewise.
7523 * fs/hfsplus.c: Likewise.
7524 * fs/iso9660.c: Likewise.
7525 * fs/jfs.c: Likewise.
7526 * fs/minix.c: Likewise.
7527 * fs/ntfs.c: Likewise.
7528 * fs/reiserfs.c: Likewise.
7529 * fs/sfs.c: Likewise.
7530 * fs/udf.c: Likewise.
7531 * fs/ufs.c: Likewise.
7532 * fs/xfs.c: Likewise.
7533 * include/grub/dl.h: Likewise.
7534 * loader/xnu.c: Likewise.
7535
de5fd76e 75362009-05-04 Pavel Roskin <proski@gnu.org>
7537
7538 * commands/acpi.c: Remove unused variable my_mod.
7539 * partmap/amiga.c: Likewise.
7540 * partmap/apple.c: Likewise.
7541 * partmap/gpt.c: Likewise.
7542 * partmap/pc.c: Likewise.
7543 * partmap/sun.c: Likewise.
7544 * term/gfxterm.c: Likewise.
7545 * term/i386/pc/vesafb.c: Likewise.
7546 * term/i386/pc/vga.c: Likewise.
7547
983598ad 75482009-05-04 David S. Miller <davem@davemloft.net>
7549
7550 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
7551 pointer args to grub_ieee1275_get_property().
7552
8aadec43 7553 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
7554
9554b15e 7555 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
7556 devices, and do not traverse down under controller nodes.
7557
67e23c90 7558 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
7559 (grub_ofdisk_open): Use it to un-escape "," characters.
7560 * kern/disk.c (find_part_sep): New.
7561 (grub_disk_open): Use it to find the first non-escaped ','
7562 character in the disk name.
7563 * util/ieee1275/devicemap.c (escape_of_path): New.
7564 (grub_util_emit_devicemap_entry): Use it.
7565 * util/sparc64/ieee1275/grub-install.in: Update script to
7566 strip partition specifiers properly by not triggering on
7567 '\' escaped ',' characters.
7568
74bfdd2f 75692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7570
7571 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
7572 to 0x300.
7573 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
7574 resolutions.
7575 (linux_vesafb_modes): Add a lot of additional modes to the list (based
7576 on documentation from Wikipedia).
7577
4241d2b1 75782009-05-04 Pavel Roskin <proski@gnu.org>
7579
7580 * disk/ata.c: Spelling fixes.
7581 * disk/raid.c: Likewise.
7582 * disk/usbms.c: Likewise.
7583 * disk/dmraid_nvidia.c: Likewise.
7584 * kern/ieee1275/openfw.c: Likewise.
7585 * kern/ieee1275/init.c: Likewise.
7586 * kern/ieee1275/cmain.c: Likewise.
7587 * boot/i386/pc/cdboot.S: Likewise.
7588 * video/readers/png.c: Likewise.
7589 * video/i386/pc/vbe.c: Likewise.
7590 * fs/udf.c: Likewise.
7591 * fs/hfs.c: Likewise.
7592 * fs/reiserfs.c: Likewise.
7593 * efiemu/runtime/efiemu.c: Likewise.
7594 * efiemu/main.c: Likewise.
7595 * efiemu/mm.c: Likewise.
7596 * include/grub/elf.h: Likewise.
7597 * include/grub/xnu.h: Likewise.
7598 * include/grub/usbdesc.h: Likewise.
7599 * include/grub/usb.h: Likewise.
7600 * include/grub/script_sh.h: Likewise.
7601 * include/grub/lib/LzmaEnc.h: Likewise.
7602 * include/grub/efiemu/efiemu.h: Likewise.
7603 * include/grub/command.h: Likewise.
7604 * normal/menu.c: Likewise.
7605 * normal/main.c: Likewise.
7606 * normal/datetime.c: Likewise.
7607 * bus/usb/uhci.c: Likewise.
7608 * mmap/i386/uppermem.c: Likewise.
7609 * mmap/mmap.c: Likewise.
7610 * commands/acpi.c: Likewise.
7611 * commands/test.c: Likewise.
7612 * partmap/apple.c: Likewise.
7613 * font/font.c: Likewise.
7614 * loader/sparc64/ieee1275/linux.c: Likewise.
7615 * loader/macho.c: Likewise.
7616 * loader/i386/bsd_trampoline.S: Likewise.
7617 * loader/i386/bsd.c: Likewise.
7618 * loader/xnu.c: Likewise.
7619 * term/i386/pc/vesafb.c: Likewise.
7620 * term/usb_keyboard.c: Likewise.
7621 * util/resolve.c: Likewise.
7622 * util/getroot.c: Likewise.
7623
0cfc0083 76242009-05-04 Felix Zielcke <fzielcke@z-51.de>
7625
7626 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
7627
7c1d00cd 76282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7629
7630 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
7631 build error.
7632
b01f0548 76332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7634
7635 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
7636 parameter only available on BIOS.
7637
ecc3eb22 76382009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 Removed wrong semicolon in declaration
7641
7642 * grub/misc.h (grub_dprintf): remove semicolon
7643
112972a9 76442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7645
7646 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
7647 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
7648 is done by grub_cmd_linux() now).
7649 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
7650 restore video to text mode.
7651 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
7652 indicates lack of "vga=" parameter. "vga=0" is mapped to
7653 `GRUB_LINUX_VID_MODE_NORMAL'.
7654
afd5c115 76552009-05-04 Felix Zielcke <fzielcke@z-51.de>
7656
7657 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
7658 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
7659 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 7660 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 7661 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
7662 `grub_script.tab.c'.
7663
7664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7665 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7668 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7669
faa517ce 7670 * Makefile.in: Remove duplicated 2008 in Copyright line.
7671
ae0c0bdc 76722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7673
473d1e45 7674 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 7675 unconditionally.
7676 * include/grub/util/misc.h (grub_util_warn): New declaration.
7677
7678 * util/i386/pc/grub-install.in: Understand --force and pass it down
7679 to grub-setup.
7680
7681 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
7682 down to setup().
7683 (setup): Improve error messages and add warnings when requested to
7684 install in odd layouts. Refuse to install using blocklists unless
7685 --force was set.
7686
18f547ad 76872009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 7688
7689 * disk/raid.c (grub_raid_scan_device): Improve debug message.
7690
6d260daa 76912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 Updated copyright year
7694
7695 * fs/hfsplus.c: updated copyright year
18f547ad 7696
69f853f8 76972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 HFS+ UUID
7700
18f547ad 7701 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 7702 in the space previously used by unused3
7703 (grub_hfsplus_uuid): new function
7704 (grub_hfsplus_fs): added uuid field
7705
4c402e73 77062009-05-03 Pavel Roskin <proski@gnu.org>
7707
7708 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
7709 suppress warnings. It's no longer needed.
7710 * disk/host.c: Likewise.
7711 * disk/ata_pthru.c: Likewise.
7712 * disk/loopback.c: Likewise.
7713 * hook/datehook.c: Likewise.
7714 * parttool/pcpart.c: Likewise.
7715 * fs/i386/pc/pxe.c: Likewise.
7716 * fs/ntfscomp.c: Likewise.
7717 * efiemu/main.c: Likewise.
7718 * mmap/mmap.c: Likewise.
7719 * commands/crc.c: Likewise.
7720 * commands/hexdump.c: Likewise.
7721 * commands/hdparm.c: Likewise.
7722 * commands/acpi.c: Likewise.
7723 * commands/echo.c: Likewise.
7724 * commands/minicmd.c: Likewise.
7725 * commands/blocklist.c: Likewise.
7726 * commands/memrw.c: Likewise.
7727 * commands/loadenv.c: Likewise.
7728 * commands/usbtest.c: Likewise.
7729 * commands/lsmmap.c: Likewise.
7730 * commands/boot.c: Likewise.
7731 * commands/parttool.c: Likewise.
7732 * commands/configfile.c: Likewise.
7733 * commands/search.c: Likewise.
7734 * commands/ieee1275/suspend.c: Likewise.
7735 * commands/cat.c: Likewise.
7736 * commands/i386/pc/pxecmd.c: Likewise.
7737 * commands/i386/pc/play.c: Likewise.
7738 * commands/i386/pc/halt.c: Likewise.
7739 * commands/i386/pc/vbeinfo.c: Likewise.
7740 * commands/i386/pc/vbetest.c: Likewise.
7741 * commands/lspci.c: Likewise.
7742 * commands/date.c: Likewise.
7743 * commands/handler.c: Likewise.
7744 * commands/ls.c: Likewise.
7745 * commands/test.c: Likewise.
7746 * commands/cmp.c: Likewise.
7747 * commands/efi/loadbios.c: Likewise.
7748 * commands/efi/fixvideo.c: Likewise.
7749 * commands/halt.c: Likewise.
7750 * commands/help.c: Likewise.
7751 * commands/reboot.c: Likewise.
7752 * hello/hello.c: Likewise.
7753 * script/sh/main.c: Likewise.
7754 * loader/xnu.c: Likewise.
7755 * term/terminfo.c: Likewise.
7756 * term/i386/pc/serial.c: Likewise.
7757 * term/usb_keyboard.c: Likewise.
7758
515b5079 77592009-05-03 David S. Miller <davem@davemloft.net>
7760
7761 * normal/menu.c: Include grub/parser.h
7762
dfc31a22 77632009-05-03 Pavel Roskin <proski@gnu.org>
7764
2fee74f1 7765 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7766 not char*.
7767 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7768 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
7769
dfc31a22 7770 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7771 efiemu??.o doesn't exist.
7772 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7773 copying.
7774
18f547ad 77752009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7776
7777 FreeBSD 64-bit support
7778
18f547ad 7779 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7780 and loader/i386/bsd_trampoline.S
7781 (bsd_mod_ASFLAGS): new variable
7782 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7783 (FREEBSD_MODTYPE_KERNEL64): likewise
7784 (grub_bsd64_trampoline_start): likewise
7785 (grub_bsd64_trampoline_end): likewise
7786 (grub_bsd64_trampoline_selfjump): likewise
7787 (grub_bsd64_trampoline_gdt): likewise
7788 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7789 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7790 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7791 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7792 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7793 of "attrib" member
7794 * loader/i386/bsd_pagetable.c: new file
7795 * loader/i386/bsd_trampoline.S: likewise
7796 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7797 (ALIGN_VAR): likewise
7798 (entry_hi): new variable
7799 (kern_end_mdofs): likewise
7800 (is_64bit): likewise
7801 (grub_freebsd_add_meta): use ALIGN_VAR
7802 (grub_e820_mmap): new declaration
7803 (grub_freebsd_add_mmap): new function
7804 (grub_freebsd_add_meta_module): support 64 bit kernels
7805 (grub_freebsd_list_modules): use ALIGN_VAR
7806 (gdt_descriptor): new declaration
7807 (grub_freebsd_boot): support 64 bit kernels
7808 (grub_bsd_elf64_hook): new function
7809 (grub_bsd_load_elf): support elf64
7810
038c5720 78112009-05-03 Bean <bean123ch@gmail.com>
7812
7813 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7814 after we get the result of if statement.
7815
fc45fb58 78162009-05-03 Bean <bean123ch@gmail.com>
7817
7818 * Makefile.in (enable_efiemu): New variable.
7819
7820 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7821 set.
7822 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7823 path.
7824 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7825 path, add -mno-red-zone option.
7826 (efiemu64_s.o): Likewise.
7827 (efiemu64.o): Use macro $^ for source file.
7828
7829 * configure.ac (--enable-efiemu): New option.
7830
bbee0f2b 78312009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 xnu support
7834
7835 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
7836 (pkglib_MODULES): add xnu.mod
7837 (xnu_mod_SOURCES): new variable
7838 (xnu_mod_CFLAGS): likewise
7839 (xnu_mod_LDFLAGS): likewise
7840 (xnu_mod_ASFLAGS): likewise
7841 * conf/i386-pc.rmk: likewise
7842 * conf/x86_64-efi.rmk: likewise
7dd4a573 7843 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 7844 new declaration
7845 * include/grub/i386/macho.h: new file
7846 * include/grub/i386/xnu.h: likewise
7847 * include/grub/macho.h: likewise
7848 * include/grub/machoload.h: likewise
7849 * include/grub/x86_64/macho.h: likewise
7850 * include/grub/x86_64/xnu.h: likewise
7851 * include/grub/xnu.h: likewise
7852 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
7853 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
7854 * loader/i386/efi/xnu.c: new file
7855 * loader/i386/pc/xnu.c: likewise
7856 * loader/i386/xnu.c: likewise
7857 * loader/i386/xnu_helper.S: likewise
7858 * loader/macho.c: likewise
7859 * loader/xnu.c: likewise
7860 * loader/xnu_resume.c: likewise
7861 * util/grub-dumpdevtree: likewise
7862 * include/grub/i386/pit.h: include grub/err.h
7863 (grub_pit_wait): export
7864 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 7865
5caf964d 78662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Efiemu
7dd4a573 7869
5caf964d 7870 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 7871 _linux_efi, linux_efi.
7872 new files in grub-emu
5caf964d 7873 new targets efiemu32.o and efiemu64.o
7874 * loader/linux_normal_efiemu.c: likewise
7875 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 7876 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 7877 files to copy
7878 * include/grub/autoefi.h: new file
7dd4a573 7879 * include/grub/i386/efiemu.h: likewise
5caf964d 7880 * include/grub/i386/pc/efiemu.h: likewise
7881 * include/grub/efi/api.h: add LL suffix when necessary
7882 new definitions relating to tables
7883 * include/grub/efiemu/efiemu.h: new file
7884 * include/grub/efiemu/runtime.h: likewise
7885 * efiemu/prepare.c: likewise
7886 * efiemu/loadcore_common.c: likewise
7887 * efiemu/loadcore64.c: likewise
7888 * efiemu/runtime/efiemu.sh: likewise
7889 * efiemu/runtime/efiemu.S: likewise
7890 * efiemu/runtime/efiemu.c: likewise
7891 * efiemu/runtime/config.h: likewise
7892 * efiemu/prepare32.c: likewise
7893 * efiemu/main.c: likewise
7894 * efiemu/modules/pnvram.c: likewise
7895 * efiemu/modules/i386: likewise
7896 * efiemu/modules/i386/pc: likewise
7897 * efiemu/modules/acpi.c: likewise
7898 * efiemu/i386/pc/cfgtables.c: likewise
7899 * efiemu/i386/loadcore64.c: likewise
7900 * efiemu/i386/loadcore32.c: likewise
7901 * efiemu/prepare64.c: likewise
7902 * efiemu/loadcore.c: likewise
7903 * efiemu/symbols.c: likewise
7904 * efiemu/mm.c: likewise
7905 * efiemu/loadcore32.c: likewise
7dd4a573 7906
79072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 7908
7909 ACPI spoofing
7910
7911 * commands/acpi.c: new file
7912 * commands/i386/pc/acpi.c: likewise
7913 * commands/efi/acpi.c: likewise
7914 * include/grub/acpi.h: likewise
7915 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
7916 (acpi_mod_SOURCES): new variable
7917 (acpi_mod_CFLAGS): likewise
7918 (acpi_mod_LDFLAGS): likewise
7919 * conf/i386-efi.rmk: likewise
7920 * conf/x86_64-efi.rmk: likewise
7921
7dd4a573 79222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 7923
7924 Missing part from mmap patch
7925
7926 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
7927 (grub_mmap_unregister)
7928 (grub_mmap_free_and_unregister): use grub_mmap_register
7929
7dd4a573 79302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 7931
7932 Mmap services
7933
7934 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
7935 * loader/i386/linux.c (find_mmap_size): likewise
7936 (allocate_pages): likewise
7937 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
7938 (grub_fill_multiboot_mmap): likewise
7939 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
7940 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
7941 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
7942 (OPENBSD_MMAP_RESERVED): likewise
7943 * include/grub/i386/pc/memory.h: include grub/memory.h
7944 (grub_lower_mem): removed
7945 (grub_upper_mem): likewise
7946 (GRUB_MACHINE_MEMORY_ACPI): new definition
7947 (GRUB_MACHINE_MEMORY_NVS): likewise
7948 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
7949 (GRUB_MACHINE_MEMORY_HOLE): likewise
7950 (grub_machine_mmap_register): likewise
7951 (grub_machine_mmap_unregister): likewise
7952 (grub_machine_get_upper): likewise
7953 (grub_machine_get_lower): likewise
7954 (grub_machine_get_post64): likewise
7955 * include/grub/i386/efi/memory.h: new file
7956 * include/grub/x86_64/efi/memory.h: likewise
7957 * include/grub/efi/memory.h: likewise
7958 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
7959 (mmap_mod_SOURCES): new variable
7960 (mmap_mod_LDFLAGS): likewise
7961 (mmap_mod_ASFLAGS): likewise
7962 * conf/i386-coreboot.rmk: likewise
7963 * conf/i386-ieee1275.rmk: likewise
7964 * conf/i386-efi.rmk: likewise
7965 * conf/x86_64-efi.rmk: likewise
7966 * include/grub/types.h (UINT_TO_PTR): new macro
7967 (PTR_TO_UINT32): likewise
7968 (PTR_TO_UINT64): likewise
7969 * include/grub/memory.h: new file
7970 * mmap/i386/pc/mmap.c: likewise
7971 * mmap/i386/pc/mmap_helper.S: likewise
7972 * mmap/i386/uppermem.c: likewise
7973 * mmap/mmap.c: likewise
7974 * mmap/efi/mmap.c: likewise
7dd4a573 7975 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 7976 grub_upper_mem
7977 * kern/i386/pc/init.c (grub_lower_mem): removed variable
7978 (grub_upper_mem): likewise
7979 (grub_machine_init): don't use grub_upper_mem,
7980 make grub_lower_mem local
7981 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
7982 grub_mmap_iterate and grub_mmap_get_upper
7983 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
7984
d558e6b5 79852009-05-02 Bean <bean123ch@gmail.com>
7986
7987 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
7988 script/sh/parser.y.
7989 (pkglib_MODULES): Add normal.mod and sh.mod.
7990 (normal_SOURCES): New variable.
7991 (normal_mod_CFLAGS): Likewise.
7992 (normal_mod_LDFLAGS): Likewise.
7993 (sh_mod_SOURCES): Likewise.
7994 (sh_mod_CFLAGS): Likewise.
7995 (sh_mod_LDFLAGS): Likewise.
7996
7997 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
7998 script/sh/lexer.c_DEPENDENCIES.
7999 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8000 kern/rescue_reader.c and kern/rescue_parser.c.
8001 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8002 (grub_emu_SOURCES): Change source files.
8003 (pkglib_MODULES): Remove normal.mod.
8004 (normal_SOURCES): Removed.
8005 (normal_mod_CFLAGS): Likewise.
8006 (normal_mod_LDFLAGS): Likewise.
8007 * conf/i386-coreboot.rmk: Likewise.
8008 * conf/i386-efi.rmk: Likewise.
8009 * conf/i386-ieee1276.rmk: Likewise.
8010 * conf/powerpc-ieee1275.rmk: Likewise.
8011 * conf/sparc64-ieee1275.rmk: Likewise.
8012 * conf/x86_64-efi.rmk: Likewise.
8013
8014 * include/grub/command.h (grub_command_execute): New inline function.
8015
8016 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8017
8018 * include/grub/normal.h: Remove <grub/setjmp.h>.
8019 (grub_fs_module_list): Moved to normal/autofs.c.
8020 (grub_exit_env): Removed.
8021 (grub_command_execute): Likewise.
8022 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8023 parameter script.
8024 (read_command_list): New function declaration.
8025 (read_fs_list): Likewise.
8026
8027 * include/parser.h: Include <grub/reader.h>.
8028 (grub_parser_split_cmdline): Change type of getline parameter.
8029 (grub_parser): New structure.
8030 (grub_parser_class): New variable.
8031 (grub_parser_execute): New function declaration.
8032 (grub_register_rescue_parser): Likewise.
8033 (grub_parser_register): New inline function.
8034 (grub_parser_unregister): Likewise.
8035 (grub_parser_get_current): Likewise.
8036 (grub_parser_set_current): Likewise.
8037
8038 * include/grub/reader.h: New file.
8039 * kern/reader.c: Likewise.
8040 * kern/rescue_parser.c: Likewise.
8041 * kern/rescue_reader.c: Likewise.
8042 * normal/autofs.c: Likewise.
8043 * normal/dyncmd.c: Likewise.
8044
8045 * include/grub/rescue.h: Removed.
8046 * normal/command.h: Likewise.
8047
8048 * include/grub/script.h: Moved to ...
8049 * include/grub/script_sh.h: ... Moved here.
8050 * normal/execute.c: Moved to ...
8051 * script/sh/execute.c: ... Moved here.
8052 * normal/function.c: Moved to ...
8053 * script/sh/function.c: ... Moved here.
8054 * normal/lexer.c: Moved to ...
8055 * script/sh/lexer.c: ... Moved here.
8056 * normal/parser.y: Moved to ...
8057 * script/sh/parser.y: ... Moved here.
8058 * normal/script.c: Moved to ...
8059 * script/sh/script.c: ... Moved here.
8060
8061 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8062 <grub/reader.h>.
8063 (grub_exit_env): Removed.
8064 (fs_module_list): Moved to normal/autofs.c.
8065 (grub_file_getline): Don't handle comment here.
8066 (free_menu): Skip removed field entry->commands.
8067 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8068 script parameter.
8069 (read_config_file): Removed nested parameter, change getline function.
8070 (grub_enter_normal_mode): Removed.
8071 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8072 (read_command_list): Likewise.
8073 (autoload_fs_module): Moved to normal/autofs.c.
8074 (read_fs_list): Likewise.
8075 (reader_nested): New variable.
8076 (grub_normal_execute): Run parser.sh to switch to sh parser.
8077 (grub_cmd_rescue): Removed.
8078 (cmd_normal): Removed.
8079 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8080 rescue command.
8081 (grub_cmdline_run): New function.
8082 (grub_normal_reader_init): Likewise.
8083 (grub_normal_read_line): Likewise.
8084 (grub_env_write_pager): Likewise.
8085 (cmdline): New variable.
8086 (grub_normal_reader): Likewise.
8087 (GRUB_MOD_INIT): Register normal reader and set as current, register
8088 pager hook, register normal command with grub_register_command_prio,
8089 so that it won't show up in command.lst.
8090 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8091 grub_fs_autoload_hook.
8092
8093 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8094 (grub_menu_execute_entry): Replace grub_script_execute with
8095 grub_parser_execute, change parameter to grub_command_execute.
8096
8097 * normal/menu_text.c: Remove <grub/script.h>.
8098
8099 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8100 and <grub/parser.h>.
8101 (run): Change editor_getline to use new parser interface. Change
8102 parameter to grub_command_execute.
8103
8104 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8105 <grub/reader.h> and <grub/parser.h>.
8106 (grub_load_normal_mode): Execute normal command.
8107 (grub_main): Call grub_register_core_commands,
8108 grub_register_rescue_parser and grub_register_rescue_reader, use
8109 grub_reader_loop to enter input loop.
8110
7dd4a573 8111 * kern/parser.c (grub_parser_split_cmdline): Change type of
8112 getline parameter.
d558e6b5 8113 (grub_parser_class): New variable.
8114 (grub_parser_execute): New function.
8115
8116 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8117 * loader/multiboot2.c: Likewise.
8118 * loader/sparc64/ieee1275/linux.c: Likewise.
8119
8120 * util/grub-emu.c (read_command_list): New dummy function.
8121
18db813d 81222009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8123
8124 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8125 count to 16 for CCISS and IDA.
8126
6c67de15 81272009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8128
8129 * normal/menu_text.c (grub_wait_after_message): Print a newline
8130 after waiting for user input.
8131
8132 * loader/i386/linux.c: Include `<grub/normal.h>'.
8133 (grub_cmd_linux): Improve the error message about `ask' mode, by
8134 waiting for user input so it's not missed (we can do this, since
8135 user requested interaction).
8136
d9dc87b0 81372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 Added missing lst to grub-mkrescue
8140
8141 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8142 and ${input_dir}/parttool.lst
8143
ac8a2baa 81442009-04-30 David S. Miller <davem@davemloft.net>
8145
ad22a610 8146 * util/hostdisk.c (device_is_wholedisk): New function.
8147 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8148 zero only if device_is_wholedisk() returns true.
8149
6966215d 8150 * util/hostdisk.c (convert_system_partition_to_system_disk):
8151 Handle virtual disk devices named /dev/vdiskX as found on sparc
8152 and powerpc.
8153
ac8a2baa 8154 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8155 lettered partition specifier is found, convert to numbered.
8156
979b4fb4 81572009-04-29 David S. Miller <davem@davemloft.net>
8158
e2bf39b2 8159 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8160 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8161
3c64e104 8162 * normal/command.c: Add missing newline at end of file.
8163
979b4fb4 8164 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8165 warnings.
8166 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8167 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8168 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8169 ihandles have a 32-bit type but need to be stored in a "void *".
8170
136d9f82 81712009-04-28 Pavel Roskin <proski@gnu.org>
8172
9459c306 8173 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8174 not disk. Adjust all dependencies.
2e08a26a 8175 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8176 grub_disk_close().
8177
136d9f82 8178 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8179 parent's partition, don't copy it by reference, as it gets freed
8180 on close.
8181
7dd4a573 81822009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8183
8184 Preboot hooks support
8185
8186 * commands/boot.c (struct grub_preboot_t): new declaration
8187 (preboots_head): new variable
8188 (preboots_tail): likewise
8189 (grub_loader_register_preboot_hook): new function
8190 (grub_loader_unregister_preboot_hook): likewise
8191 (grub_loader_set): launch preboot hooks
8192 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8193 (grub_loader_register_preboot_hook): new declaration
8194 (grub_loader_unregister_preboot_hook): likewise
8195
5af922b5 81962009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Warning fix
8199
7dd4a573 8200 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8201 calling grub_dprintf
8202
a5562c30 82032009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 Bug and warning fixes
8206
7dd4a573 8207 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8208 declaration
8209 * commands/test.c (test_parse): fixed bug with file tests and corrected
8210 declaration of find_file
8211
4006f85c 82122009-04-26 Pavel Roskin <proski@gnu.org>
8213
8214 * Makefile.in: Don't install empty manual pages if help2man is
8215 missing. Use help2man option for output, not shell redirection.
8216
5c77c3de 82172009-04-26 David S. Miller <davem@davemloft.net>
8218
8219 * util/grub-mkdevicemap.c (make_device_map): Add missing
8220 NESTED_FUNC_ATTR to process_device().
8221
033b10a8 82222009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Test command
8225
8226 * commands/test.c: rewritten to use bash-like test
8227
e4343593 82282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 Parttool autoloading and improvements
8231
7dd4a573 8232 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8233 (parttool.lst): new target
8234 * genmk.rb: generate parttool-*
8235 (CLEANFILES): add #{parttool}
8236 (PARTTOOLFILES): new variable
8237 * genparttoollist.sh: new file
7dd4a573 8238 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8239 (grub_pcpart_type): likewise
8240 * commands/parttool.c (helpmsg): new variable
8241 (grub_cmd_parttool): output help if not enough arguments are supplied
8242 autoload modules
8243 (GRUB_MOD_INIT(parttool)): use helpmsg
8244
0d312500 82452009-04-24 David S. Miller <davem@davemloft.net>
8246
7dd4a573 8247 Avoiding opening same device multiple times in device iterator.
0d312500 8248
8249 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8250 and use it to build a list of partitions in iterate_disk() and
0d312500 8251 iterate_partition().
8252
ac20caff 8253 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8254 on disk->data.
8255
0dcf7495 8256 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8257 grub_devalias_iterate() result instead of unconditional 0.
8258 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8259 Also, capture hook return value, either directly or via
8260 grub_children_iterate(), and propagate to caller.
8261 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8262 grub_children_iterate): Return value is now 'int' instead of
8263 'grub_err_t'.
8264 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8265 like a proper iterator, stopping when hooks return non-zero.
8266 (grub_devalias_iterate): Likewise.
8267
c8c08833 82682009-04-23 David S. Miller <davem@davemloft.net>
8269
8270 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8271
f01005a8 82722009-04-22 David S. Miller <davem@davemloft.net>
8273
8274 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8275 is larger than address_cells, use that value for address_cells too.
8276
4e8269da 8277 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8278 IEEE1275_MAX_PATH_LEN): Define.
8279 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8280 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8281 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8282 'devtype'. Explicitly NULL terminate devalias expansion.
8283
a1447506 8284 * util/sparc64/ieee1275/misc.c: New file.
8285 * util/sparc64/ieee1275/grub-setup.c: New file.
8286 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8287 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8288 * util/sparc64/ieee1275/grub-install.in: New file.
8289 * util/ieee1275/ofpath.c: New file.
8290 * util/ieee1275/devicemap.c: New file.
8291 * util/devicemap.c: New file.
8292 * util/deviceiter.c: New file.
8293 * kern/sparc64/ieee1275/init.c: New file.
8294 * include/grub/util/ofpath.h: New file.
8295 * include/grub/util/deviceiter.h: New file.
8296 * util/grub-mkdevicemap.c: Include deviceiter.h.
8297 Implement using grub_util_emit_devicemap_entry and
8298 grub_util_iterate_devices.
8299 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8300 util/devicemap.c into grub-mkdevicemap
8301 * conf/i386-efi.rmk: Likewise.
8302 * conf/i386-ieee1275.rmk: Likewise.
8303 * conf/i386-pc.rmk: Likewise.
8304 * conf/powerpc-ieee1275.rmk: Likewise.
8305 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8306 images and installation utilities. Build kernel as image
8307 instead of as elf binary. Use common rules as much as possible.
8308
7dd4a573 83092009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8310
8311 Correct GPT definition
8312
7dd4a573 8313 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8314 of "attrib" member
8315
c6c5219f 83162009-04-19 Felix Zielcke <fzielcke@z-51.de>
8317
8318 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8319
0552ff9f 83202009-04-19 David S. Miller <davem@davemloft.net>
8321
8322 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8323 (grub_rescue_cmd_linux): Rename to...
8324 (grub_cmd_linux): and fix prototype.
8325 (grub_rescue_cmd_initrd): Rename to...
8326 (grub_cmd_initrd): and fix prototype.
8327 (cmd_linux, cmd_initrd): New.
8328 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8329 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8330
d1a282fc 83312009-04-17 Pavel Roskin <proski@gnu.org>
8332
07c5039f 8333 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8334 format.
8335 (grub_ohci_transfer): Likewise.
8336
b012002d 8337 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8338
1bc09c35 8339 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8340 return without a value. Fix inconsistent indentation.
8341
e0ff9126 8342 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8343 match struct grub_fs.
8344
d1a282fc 8345 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8346 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8347 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8348 * commands/lspci.c (grub_lspci_iter): Likewise.
8349
a96df3f2 83502009-04-16 Bean <bean123ch@gmail.com>
8351
8352 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8353 value.
8354
41bb0fe9 83552009-04-15 Pavel Roskin <proski@gnu.org>
8356
8357 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8358 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8359 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8360 definitions.
8361
596c6970 83622009-04-15 Felix Zielcke <fzielcke@z-51.de>
8363
8364 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8365 that no multiple data or metadata areas are supported and `Unknown
596c6970 8366 metadata header'.
8367
7dd4a573 83682009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8369
8370 Move loader out of the kernel
8371
8372 * kern/loader.c: moved to ...
8373 * commands/boot.c: ... moved here
8374 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
8375 * commands/boot.c (grub_cmd_boot): moved here. All users updated
8376 * include/grub/kernel.h (grub_machine_fini): export
8377 * include/grub/loader.h (grub_loader_is_loaded): update declaration
8378 (grub_loader_set): likewise
8379 (grub_loader_unset): likewise
8380 (grub_loader_boot): likewise
8381 * conf/common.rmk: new module boot.mod
8382 (pkglib_MODULES): add boot.mod
8383 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
8384 (grub_emu_SOURCES): likewise
8385 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
8386 (grub_emu_SOURCES): likewise
8387 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
8388 (grub_emu_SOURCES): likewise
8389 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
8390 (grub_emu_SOURCES): likewise
8391 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
8392 (grub_emu_SOURCES): likewise
7dd4a573 8393 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
8394 (grub_emu_SOURCES): likewise
0d5d5653 8395 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 8396 (grub_emu_SOURCES): likewise
0d5d5653 8397
7dd4a573 83982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 8399
8400 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 8401
5999d619 8402 * kern/misc.c (grub_itoa): Removed function
8403 (grub_ltoa): likewise
8404 (grub_vsprintf): use grub_lltoa
8405
7dd4a573 84062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 8407
8408 Restore grub-emu
8409
8410 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
8411 * conf/i386-coreboot.rmk: likewise
8412 * conf/i386-ieee1275.rmk: likewise
8413 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8414
20318222 84152009-04-15 Felix Zielcke <fzielcke@z-51.de>
8416
8417 * INSTALL: Add that `./autogen.sh' needs to be run before
8418 `./configure.'.
8419
d05f0df3 84202009-04-14 Bean <bean123ch@gmail.com>
8421
8422 * Makefile.in (pkglib_DATA): Add handler.lst.
8423 (handler.lst): New rule.
8424
8425 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
8426 * conf/i386-coreboot.rmk: Likewise.
8427 * conf/i386-ieee1275.rmk: Likewise.
8428 * conf/i386-efi.rmk: Likewise.
8429 * conf/x86_64-efi.rmk: Likewise.
8430 * conf/powerpc-ieee1275.rmk: Likewise.
8431 * conf/sparc64-ieee1275.rmk: Likewise.
8432
8433 * genhandlerlist.sh: New file.
8434
8435 * genmk.rb: Add rules to generate handler.lst.
8436
8437 * include/grub/normal.h (grub_file_getline): New function definition.
8438 (read_handler_list): Likewise.
8439 (free_handler_list): Likewise.
8440
8441 * include/grub/term.h (grub_term_register_input): Add name parameter
8442 for auto generation of handler.lst.
8443 (grub_term_register_output): Likewise.
8444
8445 * normal/handler.c: New file.
8446
8447 * normal/main.c (get_line): Renamed to grub_file_getline.
8448 (read_config_file): Use the newly renamed grub_file_getline.
8449 (read_command_list): Likewise.
8450 (read_fs_list): Likewise.
8451 (grub_normal_execute): Call read_handler_list to parse handler.lst.
8452 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
8453
8454 * term/efi/console.c (grub_console_init): Add name parameter for auto
8455 generation of handler.lst.
8456 * term/gfxterm.c: Likewise.
8457 * term/i386/pc/at_keyboard.c: Likewise.
8458 * term/i386/pc/console.c: Likewise.
8459 * term/i386/pc/serial.c: Likewise.
8460 * term/i386/pc/vesafb.c: Likewise.
8461 * term/i386/pc/vga.c: Likewise.
8462 * term/i386/pc/vga_text.c: Likewise.
8463 * term/ieee1275/ofconsole.c: Likewise.
8464 * term/usb_keyboard.c: Likewise.
8465
33c846be 84662009-04-14 Bean <bean123ch@gmail.com>
8467
8468 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
8469 properly with null character.
8470
4484e01e 84712009-04-14 Felix Zielcke <fzielcke@z-51.de>
8472
8473 * configure: Remove.
8474 * config.h.in: Likewise.
f93d668e 8475 * stamp-h.in: Likewise.
4484e01e 8476 * DISTLIST: Likewise.
8477 * conf/common.mk: Likewise.
8478 * conf/i386-coreboot.mk: Likewise.
8479 * conf/i386-efi.mk: Likewise.
8480 * conf/i386-ieee1275.mk: Likewise.
8481 * conf/i386.mk: Likewise.
8482 * conf/i386-pc.mk: Likewise.
8483 * conf/powerpc-ieee1275.mk: Likewise.
8484 * conf/sparc64-ieee1275.mk: Likewise.
8485 * conf/x86_64-efi.mk: Likewise.
8486
8487 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
8488 develop on GRUB.
8489
7dd4a573 84902009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 8491 David S. Miller <davem@davemloft.net>
8492
8493 * util/hostdisk.c (make_device_name): Fix buffer length
8494 calculations.
8495
e25b5a8c 84962009-04-14 Felix Zielcke <fzielcke@z-51.de>
8497
8498 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
8499 <sys/param.h> and <sys/sysctl.h>.
8500 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
8501 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
8502 opening the device and reset them afterwards.
8503
1f1f580c 85042009-04-13 Pavel Roskin <proski@gnu.org>
8505
8506 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
8507 Reported by John Stanley <jpsinthemix@verizon.net>
8508
7ebc2d6b 85092009-04-13 Robert Millan <rmh@aybabtu.com>
8510
8511 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 8512 that name for menuentries when appropriate.
7ebc2d6b 8513
d8ba3667 85142009-04-13 Felix Zielcke <fzielcke@z-51.de>
8515
8516 * util/grub.d/10_freebsd.in: Add a missing `fi'.
8517
cba416eb 85182009-04-13 Robert Millan <rmh@aybabtu.com>
8519
8520 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
8521 to Linux, simply abort telling the user it's no longer supported.
8522
a547a745 85232009-04-13 Felix Zielcke <fzielcke@z-51.de>
8524
8525 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 8526 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 8527 `freebsd_loadenv' only when devices.hints exist.
8528
232a769c 85292009-04-13 Pavel Roskin <proski@gnu.org>
8530
8531 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
8532
c3012039 85332009-04-13 Felix Zielcke <fzielcke@z-51.de>
8534
8535 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
8536 partition number.
8537 (grub_drive): Likewise.
8538
234022fe 85392009-04-13 David S. Miller <davem@davemloft.net>
8540
8541 * kern/sparc64/ieee1275/ieee1275.c: New file.
8542 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
8543 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
8544 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
8545 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
8546 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
8547 grub_ieee1275_alloc_physmem): Declare new exported functions.
8548
d8e1836c 8549 * include/grub/sparc64/ieee1275/loader.h: New file.
8550 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8551 * include/grub/sparc64/kernel.h: Likewise.
8552 * loader/sparc64/ieee1275/linux.c: Likewise.
8553
96bd81ec 8554 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
8555 (grub_fstest_SOURCES): Likewise.
8556
6a4737e5 8557 * util/hostdisk.c (make_device_name): Do not make any assumptions
8558 about the length of drive names.
8559
1d7a72fd 8560 * kern/dl.c (grub_dl_load_file): Close file immediately when
8561 we are done using it.
8562
56bc2471 85632009-04-12 David S. Miller <davem@davemloft.net>
8564
8565 * kern/misc.c (grub_ltoa): Fix cast when handling negative
8566 values. Noticed by Pavel Roskin.
8567
df38d0bb 8568 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
8569 target compiler.
7dd4a573 8570
e382e93a 8571 * genmk.rb: Add more flexible image type specification, also
8572 pass --strip-unneeded to objcopy.
8573 * conf/i386-pc.rmk: Use *_FORMAT.
8574 * conf/i386-pc.mk: Rebuilt.
8575
f5dbbca9 8576 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
8577 (OFDISK_HASH_SZ): Define.
8578 (ofdisk_hash): New hash table.
8579 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
8580 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
8581 instead of device phandle which is not unique.
8582
91c88b12 8583 * kern/sparc64/ieee1275/init.c: Delete, replace with...
8584 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
8585 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
8586 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
8587 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
8588 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
8589 GRUB_KERNEL_MACHINE_DATA_END): Define.
8590 (grub_kernel_image_size, grub_total_module_size): Declare.
8591
5b5d4aa5 85922009-04-12 Pavel Roskin <proski@gnu.org>
8593
7dd4a573 8594 * configure.ac: Change the logic when we check for target tools.
8595 Do it when the target is specified and it's different from the
8596 specified value of the host.
5b5d4aa5 8597
c91e1793 85982009-04-11 Felix Zielcke <fzielcke@z-51.de>
8599
8600 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
8601 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
8602 GNU/kFreeBSD. Check if a device is a character device. Use
8603 DIOCGMEDIASIZE to get the size.
8604 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
8605 support for GNU/kFreeBSD.
8606 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
8607 is a character device instead of a block device. Add support for
8608 FreeBSD device names.
8609
8610 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
8611 is a character device instead of a block device.
8612
8613 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
8614 is a character device instead of a block device.
8615
b1ac8644 86162009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
8617
8618 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
8619 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
8620 FreeBSD. Check if a device is a character device. Use
8621 DIOCGMEDIASIZE to get the size.
8622 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
8623 support for FreeBSD.
8624 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
8625 is a character device instead of a block device. Add support for
8626 FreeBSD device names.
8627
8628 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
8629 a character device instead of a block device.
8630 (grub_util_check_char_device): New function.
8631
8632 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
8633 a character device instead of a block device.
8634
8635 * include/grub/util/getroot.h (grub_util_check_char_device): New
8636 prototype.
8637
a3f7515a 86382009-04-11 David S. Miller <davem@davemloft.net>
8639
8640 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
8641 static libgcc.
8642 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
8643 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
8644 function, if present.
8645 (__bswapdi2): Likewise.
8646
0d44993d 8647 * include/grub/sparc64/ieee1275/boot.h: New file.
8648 * boot/sparc64/ieee1275/boot.S: Likewise.
8649 * boot/sparc64/ieee1275/diskboot.S: Likewise.
8650
ed3d2bc2 8651 * kern/misc.c (grub_ltoa): New function.
8652 (grub_vsprintf): Use it to format 'long' integers.
8653
d3bfb59c 86542009-04-10 David S. Miller <davem@davemloft.net>
8655
8656 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
8657 slots are of type grub_ieee1275_cell_t.
8658 (grub_nand_read): Likewise.
8659 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
8660 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
8661 macros are used to compare values in arg/ret block of the call.
8662 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
8663 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
8664 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
8665 grub_ieee1275_instance_to_path, grub_ieee1275_write,
8666 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
8667 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
8668 grub_ieee1275_close, grub_ieee1275_set_property,
8669 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
8670 grub_ieee1275_cell_t.
8671 * kern/ieee1275/openfw.c (grub_map): Likewise.
8672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
8673 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
8674
450e2238 8675 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
8676 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8677 (grub_devalias_iterate): Likewise.
8678
7dd4a573 86792009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 8680
8681 UFS improvements
8682
8683 * fs/ufs.c (INODE_NBLOCKS): new definition
8684 (struct grub_ufs_dirent): added fields for non-BSD dirents
8685 (grub_ufs_get_file_block): fixed double indirect handling
8686 (grub_ufs_lookup_symlink): use more robust way to determine whether
8687 symlink is inline
8688 (grub_ufs_find_file): support for non-BSD dirents
8689 (grub_ufs_dir): support for non-BSD dirents
8690
e7e6862a 86912009-04-10 Bean <bean123ch@gnail.com>
8692
8693 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
8694 attribute, otherwise the size would be wrong for i386 platform.
8695
8696 * include/grub/pci.h (grub_pci_read_word): New inline function.
8697 (grub_pci_read_byte): Likewise.
8698 (grub_pci_write): Likewise.
8699 (grub_pci_write_word): Likewise.
8700 (grub_pci_write_byte): Likewise.
8701
8702 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
8703
8704 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
8705 (find_framebuf): Scan pci to locate the frame buffer address.
8706
8707 * commands/efi/fixvideo.c: New file.
8708
8709 * commands/efi/loadbios.c: Likewise.
8710
8711 * commands/memrw.c: Likewise.
8712
8713 * util/grub-dumpbios.in: Likewise.
8714
8715 * conf/common.rmk (grub-dumpbios): New utility.
8716 (pkglib_MODULES): New module memrw.mod.
8717 (memrw_mod_SOURCE): New macro.
8718 (memrw_mod_CFLAGS): Likewise.
8719 (memrw_mod_LDFLAGS): Likewise.
8720
7dd4a573 8721 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8722 fixvideo.mod.
8723 (loadbios_mod_SOURCE): New macro.
8724 (loadbios_mod_CFLAGS): Likewise.
8725 (loadbios_mod_LDFLAGS): Likewise.
8726 (fixvideo_mod_SOURCE): Likewise.
8727 (fixvideo_mod_CFLAGS): Likewise.
8728 (fixvideo_mod_LDFLAGS): Likewise.
8729
7dd4a573 8730 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8731 fixvideo.mod.
8732 (loadbios_mod_SOURCE): New macro.
8733 (loadbios_mod_CFLAGS): Likewise.
8734 (loadbios_mod_LDFLAGS): Likewise.
8735 (fixvideo_mod_SOURCE): Likewise.
8736 (fixvideo_mod_CFLAGS): Likewise.
8737 (fixvideo_mod_LDFLAGS): Likewise.
8738
af63ada2 87392009-04-08 Felix Zielcke <fzielcke@z-51.de>
8740
8741 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
8742
c2cdde70 87432009-04-07 David S. Miller <davem@davemloft.net>
8744
8745 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
8746 support for R_SPARC_OLO10 relocations. Fix compile warning for
8747 R_SPARC_WDISP30 case.
ea3f72cf 8748 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8749
761319cf 87502009-04-06 Pavel Roskin <proski@gnu.org>
8751
1007d1f5 8752 * include/grub/misc.h (ARRAY_SIZE): New macro.
8753 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8754 New macro.
8755 * loader/i386/linux.c (allocate_pages): Use free_pages().
8756 (grub_linux_unload): Don't use free_pages().
8757 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8758 wrong index. Treat all other modes as text modes.
8759 (grub_cmd_linux): Initialize vid_mode unconditionally to
8760 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8761
761319cf 8762 * commands/help.c (print_command_help): Use cmd->prio, not
8763 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8764
ea761d40 87652009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8766
ea761d40 8767 Parttool
8768
8769 * parttool/pcpart.c: new file
8770 * commands/parttool.c: likewise
8771 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8772 (parttool_mod_SOURCES): new variable
8773 (parttool_mod_CFLAGS): likewise
8774 (parttool_mod_LDFLAGS): likewise
8775 (pcpart_mod_SOURCES): likewise
8776 (pcpart_mod_CFLAGS): likewise
8777 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8779 and parttool/pcpart.c
8780 * conf/i386-efi.rmk: likewise
8781 * conf/i386-ieee1275.rmk: likewise
8782 * conf/i386-pc.rmk: likewise
8783 * conf/powerpc-ieee1275.rmk: likewise
8784 * conf/sparc64-ieee1275.rmk: likewise
8785 * conf/x86_64-ieee1275.rmk: likewise
8786
05aaebfb 87872009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 Support for mtime and further expandability of dir command
8790
8791 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8792 * include/grub/datetime.h: ... moved here and added
05aaebfb 8793 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8794 * include/grub/fs.h: new syntax for dir and mtime functions in
8795 struct grub_fs
05aaebfb 8796 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8797 and GRUB_FSHELP_FLAGS_MASK
8798 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8799 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8800 (grub_ext2_mtime): new function
8801 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8802 (grub_hfsplus_mtime): new function
8803 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8804 (GRUB_UFS_ATTR_FILE): likewise
8805 (GRUB_UFS_ATTR_LNK): likewise
8806 (struct grub_ufs_sblock): new fields mtime
8807 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8808 all users updated
8809 (grub_ufs_dir): mtime support
8810 (grub_ufs_mtime): new function
8811 * fs/affs.c (grub_affs_dir): use new dir syntax
8812 * fs/afs.c (grub_afs_dir): likewise
8813 * fs/cpio.c (grub_cpio_dir): likewise
8814 * fs/fat.c (grub_fat_find_dir): likewise
8815 * fs/hfs.c (grub_hfs_dir): likewise
8816 * fs/iso9660.c (grub_iso9660_dir): likewise
8817 * fs/jfs.c (grub_jfs_dir): likewise
8818 * fs/minix.c (grub_minix_dir): likewise
8819 * fs/ntfs.c (grub_ntfs_dir): likewise
8820 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8821 * fs/sfs.c (grub_sfs_dir): likewise
8822 * fs/xfs.c (grub_xfs_dir): likewise
8823 * util/hostfs.c (grub_hostfs_dir): likewise
8824 * lib/datetime.c: moved to ...
8825 * normal/datetime.c: ... moved here
8826 (grub_unixtime2datetime): new function
8827 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8828 * normal/completion.c (iterate_dir): use new dir syntax
8829 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8830 last modification time of a volume
7dd4a573 8831 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8832 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8834 (normal_mod_SOURCES): likewise
8835 (datetime_mod_SOURCES): Removed lib/datetime.c
8836 * conf/i386-efi.rmk: likewise
7dd4a573 8837 * conf/i386-ieee1275.rmk: likewise
05aaebfb 8838 * conf/i386-pc.rmk: likewise
8839 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8840 * conf/sparc64-ieee1275.rmk: likewise
8841 * conf/x86_64-efi.rmk: likewise
05aaebfb 8842
8a7e1a14 88432009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 8846
8847 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 8848 on grub_fat_find_dir
8849 (grub_fat_find_dir): use grub_fat_iterate_dir
8850 (grub_fat_label): likewise
8851
04186a9c 88522009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8853
7dd4a573 8854 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 8855 and command.h
8856 remove extraneous kernel_elf_HEADERS
8857
da4c0bb6 88582009-04-04 Bean <bean123ch@gnail.com>
8859
8860 * include/grub/util/misc.h: Add dummy function fsync for mingw.
8861
8862 * util/misc.c: Likewise.
8863
54ad9555 88642009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
8865
8866 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
8867 instead of grub_printf.
8868
7a6bf9f2 88692009-04-03 Robert Millan <rmh@aybabtu.com>
8870
8871 * loader/i386/linux.c (grub_linux_setup_video): Fill
8872 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
8873 values from `mode info' structure instead of hardcoded
8874 values.
8875
3fcc2083 88762009-04-01 Pavel Roskin <proski@gnu.org>
8877
8878 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
8879 unused now.
8880 * genmk.rb: Likewise.
8881 * configure.ac: Likewise.
8882
5ec9740b 88832009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
8884
8885 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
8886 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
8887
5270cec8 88882009-04-01 David S. Miller <davem@davemloft.net>
8889
8890 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 8891 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 8892 (grub_setjmp): Mark with 'returns_twice' attribute.
8893 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
8894 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
8895 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
8896
9c3dd854 88972009-04-01 Robert Millan <rmh@aybabtu.com>
8898
8899 Reapply fix from 2008-07-28 which was accidentally reverted; also
8900 perform the same fix to a similar check in same function.
8901
8902 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8903 with the same number are found, just use issue a warning with
8904 grub_dprintf(), as this error has been reported to be non-fatal.
8905
0d818b7e 89062009-03-31 Pavel Roskin <proski@gnu.org>
8907
8908 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
8909 for cross-compilation.
8910
95646d92 89112009-03-30 Robert Millan <rmh@aybabtu.com>
8912
8913 Fix i386-ieee1275 build.
8914
8915 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
8916 Remove declaration.
8917
6a003ed1 89182009-03-30 Pavel Roskin <proski@gnu.org>
8919
8920 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
8921 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
8922 zero-terminated, rely only on the strlen value. Fix comparison
8923 of strings differing in length.
8924
92f33540 89252009-03-30 Robert Millan <rmh@aybabtu.com>
8926
8927 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
8928 checking for abi version. Improve error messages on BIOS to notify
8929 user about `linux16' command.
8930
a8c48fd5 89312009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8932
f968172e 8933 Leak fixes
a8c48fd5 8934
f968172e 8935 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
8936 in case of collision
8937 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 8938
9c323f09 89392009-03-29 Robert Millan <rmh@aybabtu.com>
8940
8941 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
8942 set `vid_mode' accordingly.
8943 (grub_linux_boot): Process `vid_mode' and set video mode.
8944
ae68f423 89452009-03-29 Robert Millan <rmh@aybabtu.com>
8946
8947 * util/grub.d/10_linux.in (linux_entry): New function.
8948 Factorize generation of Linux boot entries.
8949
5709cfc4 89502009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
8951
8952 Make the format of Environment Block plain text. The boot loader
8953 part is not tested well yet.
7dd4a573 8954
5709cfc4 8955 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
8956 (buffer): Removed.
8957 (envblk): Likewise.
8958 (usage): Remove "info" and "clear". Add "unset". Update the
8959 description of "set", as this does not delete variables any
8960 longer.
8961 (create_envblk_file): Complete rewrite.
8962 (open_envblk_file): Likewise.
8963 (cmd_info): Removed.
8964 (cmd_list): Likewise.
8965 (cmd_set): Likewise.
8966 (cmd_clear): Likewise.
8967 (list_variables): New function.
8968 (write_envblk): Likewise.
8969 (set_variables): Likewise.
8970 (unset_variables): Likewise.
8971 (main): Complete rewrite.
8972
8973 * commands/loadenv.c (buffer): Removed.
8974 (envblk): Likewise.
8975 (open_envblk_file): New function.
8976 (read_envblk_file): Complete rewrite.
8977 (grub_cmd_load_env): Likewise.
8978 (grub_cmd_list_env): Likewise.
8979 (struct blocklist): New struct.
8980 (free_blocklists): New function.
8981 (check_blocklists): Likewise.
8982 (write_blocklists): Likewise.
8983 (grub_cmd_save_env): Complete rewrite.
8984
8985 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
8986 a plain text signature.
8987 (GRUB_ENVBLK_MAXLEN): Removed.
8988 (struct grub_envblk): Complete rewrite.
8989 (grub_envblk_find): Removed.
8990 (grub_envblk_insert): Likewise.
8991 (grub_envblk_open): New prototype.
8992 (grub_envblk_set): Likewise.
8993 (grub_envblk_delete): Put const to VALUE.
8994 (grub_envblk_iterate): Put const to NAME and VALUE.
8995 (grub_envblk_close): New prototype.
8996 (grub_envblk_buffer): New inline function.
8997 (grub_envblk_size): Likewise.
8998
8999 * lib/envblk.c: Include grub/mm.h.
9000 (grub_env_find): Removed.
9001 (grub_envblk_open): New function.
9002 (grub_envblk_close): Likewise.
9003 (escaped_value_len): Likewise.
9004 (find_next_line): Likewise.
9005 (grub_envblk_insert): Removed.
9006 (grub_envblk_set): New function.
9007 (grub_envblk_delete): Complete rewrite.
9008 (grub_envblk_iterate): Likewise.
9009
a9368fd3 90102009-03-28 Robert Millan <rmh@aybabtu.com>
9011
9012 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9013 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9014 variables. Use 16-bit loader.
9015 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9016 loader.
9017 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9018 (grub_linux16_boot): ... this. Update all users.
9019 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9020 (grub_linux_boot): ... this. Update all users.
9021
9022 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9023 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9024 commands to `linux16' and `initrd16'.
9025 (GRUB_MOD_FINI(linux)): Rename to ...
9026 (GRUB_MOD_FINI(linux16)): ... this.
9027
e4dd5a7e 90282009-03-24 Pavel Roskin <proski@gnu.org>
9029
9030 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9031 not just for compilation.
9032
c04d6e05 90332009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Move multiboot helper out of kernel
9036
9037 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9038 `loader/i386/multiboot_helper.S'.
9039 * conf/i386-coreboot.rmk: Likewise
9040 * conf/i386-ieee1275.rmk: Likewise
9041
9042 * kern/i386/loader.S: Move multiboot helpers from here...
9043 * loader/i386/multiboot_helper.S: ...moved here
9044 * include/grub/i386/loader.h: Move declarations of multiboot
9045 helpers from here...
9046 * include/grub/i386/multiboot.h: ...moved here
9047 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9048
42a5b3fc 90492009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9050
9051 * kern/env.c (grub_env_context_open): Added an argument to specify
9052 whether a new context inherits exported variables from current
9053 one. This is useful when making a sandbox to interpret a config
9054 file.
9055 All callers updated.
9056
9057 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9058
b28bbc4e 90592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9060
9061 * kern/env.c (grub_env_context_close): Fix memory leaks.
9062
f04f02e4 90632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9064
9065 * normal/main.c (grub_normal_execute): Added an argument
9066 BATCH to specify if an interactive interface should be provided
9067 after reading a config file.
9068 All callers updated.
9069 (read_command_list): Prevent being executed twice.
9070 (read_fs_list): Likewise.
9071
42a5b3fc 9072 * include/grub/normal.h (grub_normal_execute): Updated the
9073 prototype.
f04f02e4 9074
41473ac2 90752009-03-22 Pavel Roskin <proski@gno.org>
9076
fbc00b0c 9077 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9078 _start.
9079 * kern/i386/pc/startup.S: Likewise.
9080 * kern/i386/efi/startup.S: Likewise.
9081 * kern/i386/ieee1275/startup.S: Likewise.
9082 * kern/i386/coreboot/startup.S: Likewise.
9083 * kern/x86_64/efi/startup.S: Likewise.
9084
41473ac2 9085 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9086 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9087 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9088
2274cc8f 90892009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9092
9093 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9094 limit detection.
9095 Use vaddr of correct segment for entry_point.
9096
b1b797cb 90972009-03-21 Bean <bean123ch@gmail.com>
9098
9099 * commands/blocklist.c: Add include file <grub/command.h>, remove
9100 <grub/normal.h> and <grub/arg.h>.
9101 (grub_cmd_blocklist): Use the new command interface.
9102 (GRUB_MOD_INIT): Likewise.
9103 (GRUB_MOD_FINI): Likewise.
9104 * commands/boot.c: Likewise.
9105 * commands/cat.c: Likewise.
9106 * commands/cmp.c: Likewise.
9107 * commands/configfile.c: Likewise.
9108 * commands/crc.c: Likewise.
9109 * commands/echo.c: Likewise.
9110 * commands/halt.c: Likewise.
9111 * commands/handler.c: Likewise.
9112 * commands/hdparm.c: Likewise.
9113 * commands/help.c: Likewise.
9114 * commands/hexdump.c: Likewise.
9115 * commands/loadenv.c: Likewise.
9116 * commands/ls.c: Likewise.
9117 * commands/lsmmap.c: Likewise.
9118 * commands/lspci.c: Likewise.
9119 * commands/loadenv.c: Likewise.
9120 * commands/read.c: Likewise.
9121 * commands/reboot.c: Likewise.
9122 * commands/search.c: Likewise.
9123 * commands/sleep.c: Likewise.
9124 * commands/test.c: Likewise.
9125 * commands/usbtest.c: Likewise.
9126 * commands/videotest.c: Likewise.
9127 * commands/i386/cpuid.c: Likewise.
9128 * commands/i386/pc/halt.c: Likewise.
9129 * commands/i386/pc/play.c: Likewise.
9130 * commands/i386/pc/pxecmd.c: Likewise.
9131 * commands/i386/pc/vbeinfo.c: Likewise.
9132 * commands/i386/pc/vbetest.c: Likewise.
9133 * commands/ieee1275/suspend.c: Likewise.
9134 * disk/loopback.c: Likewise.
9135 * font/font_cmd.c: Likewise.
9136 * hello/hello.c: Likewise.
9137 * loader/efi/appleloader.c: Likewise.
9138 * loader/efi/chainloader.c: Likewise.
9139 * loader/i386/bsd.c: Likewise.
9140 * loader/i386/efi/linux.c: Likewise.
9141 * loader/i386/ieee1275/linux.c: Likewise.
9142 * loader/i386/linux.c: Likewise.
9143 * loader/i386/pc/chainloader.c: Likewise.
9144 * loader/i386/pc/linux.c: Likewise.
9145 * loader/powerpc/ieee1275/linux.c: Likewise.
9146 * loader/multiboot_loader.c: Likewise.
9147 * term/gfxterm.c: Likewise.
9148 * term/i386/pc/serial.c: Likewise.
9149 * term/terminfo.c: Likewise.
9150
9151 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9152 * term/i386/pc/vga.c: Likewise.
9153 * video/readers/jpeg.c: Likewise.
9154 * video/readers/png.c: Likewise.
9155 * video/readers/tga.c: Likewise.
9156
9157 * util/grub-fstest (cmd_loopback): Removed.
9158 (cmd_blocklist): Likewise.
9159 (cmd_ls): Likewise.
9160 (grub_register_command): Likewise.
9161 (grub_unregister_command): Likewise.
9162 (execute_command): Use grub_command_find to locate command and execute
9163 it.
9164
9165 * include/grub/efi/chainloader.h: Removed.
9166 * loader/efi/chainloader_normal.c: Likewise.
9167 * loader/i386/bsd_normal.c: Likewise.
9168 * loader/i386/pc/chainloader_normal.c: Likewise.
9169 * loader/i386/pc/multiboot_normal.c: Likewise.
9170 * loader/linux_normal.c: Likewise.
9171 * loader/multiboot_loader_normal.c: Likewise.
9172 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9173
9174 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9175 and grub_register_command_p1.
9176
9177 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9178 kern/command.c, lib/arg.c and commands/extcmd.c.
9179 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9180 (minicmd_mod_SOURCES): New variable.
9181 (minicmd_mod_CFLAGS): Likewise.
9182 (minicmd_mod_LDFLAGS): Likewise.
9183 (extcmd_mod_SOURCES): Likewise.
9184 (extcmd_mod_CFLAGS): Likewise.
9185 (extcmd_mod_LDFLAGS): Likewise.
9186 (boot_mod_SOURCES): Removed.
9187 (boot_mod_CFLAGS): Likewise.
9188 (boot_mod_LDFLAGS): Likewise.
9189
9190 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9191 kern/corecmd.c.
9192 (kernel_img_HEADERS): Add command.h.
9193 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9194 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9195 and lib/arg.c.
9196 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9197 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9198 remove the corresponding normal mode command.
9199 (normal_mod_SOURCES): Remove normal/arg.c.
9200 * conf/i386-coreboot.rmk: Likewise.
9201 * conf/i386-efi.rmk: Likewise.
9202 * conf/i386-ieee1275.rmk: Likewise.
9203 * conf/powerpc-ieee1275.rmk: Likewise.
9204 * conf/x86_64-efi.rmk: Likewise.
9205
9206 * include/grub/arg.h: Move from here ...
9207 * include/grub/lib/arg.h: ... to here.
9208
9209 * normal/arg.c: Move from here ...
9210 * lib/arg.c: ... to here.
9211
9212 * commands/extcmd.c: New file.
9213 * commands/minicmd.c: Likewise.
9214 * include/grub/command.h: Likewise.
9215 * include/grub/extcmd.h: Likewise.
9216 * kern/command.c: Likewise.
9217 * kern/corecmd.c: Likewise.
9218
9219 * kern/list.c (grub_list_iterate): Return int instead of void.
9220 (grub_list_insert): New function.
9221 (grub_prio_list_insert): Likewise.
9222
9223 * kern/rescue.c (grub_rescue_command): Removed.
9224 (grub_rescue_command_list): Likewise.
9225 (grub_rescue_register_command): Likewise.
9226 (grub_rescue_unregister_command): Likewise.
9227 (grub_rescue_cmd_boot): Move to minicmd.c
9228 (grub_rescue_cmd_help): Likewise.
9229 (grub_rescue_cmd_info): Likewise.
9230 (grub_rescue_cmd_boot): Likewise.
9231 (grub_rescue_cmd_testload): Likewise.
9232 (grub_rescue_cmd_dump): Likewise.
9233 (grub_rescue_cmd_rmmod): Likewise.
9234 (grub_rescue_cmd_lsmod): Likewise.
9235 (grub_rescue_cmd_exit): Likewise.
9236 (grub_rescue_print_devices): Moved to corecmd.c.
9237 (grub_rescue_print_files): Likewise.
9238 (grub_rescue_cmd_ls): Likewise.
9239 (grub_rescue_cmd_insmod): Likewise.
9240 (grub_rescue_cmd_set): Likewise.
9241 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9242 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9243 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9244 commands, remove grub_rescue_register_command calls.
b1b797cb 9245
7d074e3c 9246 * normal/command.c (grub_register_command): Removed.
b1b797cb 9247 (grub_unregister_command): Likewise.
9248 (grub_command_find): Likewise.
9249 (grub_iterate_commands): Likewise.
9250 (rescue_command): Likewise.
9251 (export_command): Moved to corecmd.c.
9252 (set_command): Removed.
9253 (unset_command): Likewise.
9254 (insmod_command): Likewise.
9255 (rmmod_command): Likewise.
9256 (lsmod_command): Likewise.
9257 (grub_command_init): Likewise.
9258
9259 * normal/completion.c (iterate_command): Use cmd->prio to check for
9260 active command.
9261 (complete_arguments): Use grub_extcmd_t structure to find options.
9262 (grub_normal_do_completion): Change function grub_iterate_commands to
9263 grub_command_iterate.
9264
9265 * normal/execute.c (grub_script_execute_cmd): No need to parse
9266 argument here.
9267
9268 * normal/main.c (grub_dyncmd_dispatcher): New function.
9269 (read_command_list): Register unload commands as dyncmd.
9270 (grub_cmd_normal): Use new command interface, register rescue,
9271 unregister normal at entry, register normal, unregister rescue at exit.
9272
9273 * include/grub/list.h (grub_list_test_t): New type.
9274 (grub_list_iterate): Return int instead of void.
9275 (grub_list_insert): New function.
9276 (GRUB_AS_NAMED_LIST_P): New macro.
9277 (GRUB_AS_PRIO_LIST): Likewise.
9278 (GRUB_AS_PRIO_LIST_P): Likewise.
9279 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9280 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9281 (grub_prio_list): New structure.
9282 (grub_prio_list_insert): New function.
9283 (grub_prio_list_remove): New inline function.
9284
9285 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9286 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9287 (GRUB_COMMAND_FLAG_MENU): Likewise.
9288 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9289 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9290 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9291 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9292 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9293 (grub_command): Likewise.
9294 (grub_register_command): Likewise.
9295 (grub_command_find): Likewise.
9296 (grub_iterate_commands): Likewise.
9297 (grub_command_init): Likewise.
9298 (grub_arg_parse): Likewise.
9299 (grub_arg_show_help): Likewise.
9300
9301 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9302 (grub_rescue_unregister_command): Likewise.
9303
9304 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9305 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9306 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9307
9308 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9309 grub_rescue_cmd_initrd.
9310 * include/grub/i386/loader.h: Likewise.
9311 * include/grub/x86_64/loader.h: Likewise.
9312
9313 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9314
1f4147aa 93152009-03-21 Bean <bean123ch@gmail.com>
9316
9317 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9318 instead of stat in mingw environment.
9319
9320 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9321
9322 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9323
9324 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9325 AC_CONFIG_LINKS.
9326
2156d5ba 93272009-03-21 Bean <bean123ch@gmail.com>
9328
9329 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9330 out of range error.
9331
177b82ca 93322009-03-18 Michel Dänzer <michel@daenzer.net>
9333
9334 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9335 checking inode flags for EXT4_EXTENTS_FLAG.
9336
14aad807 93372009-03-18 Robert Millan <rmh@aybabtu.com>
9338
9339 * loader/i386/linux.c: Include `<grub/video.h>' and
9340 `<grub/i386/pc/vbe.h>'..
9341 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9342 (grub_linux32_boot): Attempt to configure video settings with
9343 grub_linux_setup_video().
9344 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9345 to avoid grub_console_fini() which would step out of graphical mode
9346 unconditionally.
9347
8cf83a27 93482009-03-14 Robert Millan <rmh@aybabtu.com>
9349
9350 Fix build on powerpc.
9351 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9352
40164e75 93532009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9356 background image command.
9357
c58bc32a 93582009-03-12 Colin D Bennett <colin@gibibit.com>
9359
9360 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9361 (grub_gfxterm_putchar): Extract pairs of identical calls to
9362 draw_cursor out of conditional blocks.
9363
5415144a 93642009-03-11 Pavel Roskin <proski@gnu.org>
9365
9366 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9367 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9368
6394042e 93692009-03-11 Robert Millan <rmh@aybabtu.com>
9370
9371 * loader/i386/multiboot_elfxx.c
9372 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
9373
b7b50e5f 93742009-03-11 Felix Zielcke <fzielcke@z-51.de>
9375
9376 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
9377 `kern/handler.c'.
9378
1ca7fc96 93792009-03-11 Robert Millan <rmh@aybabtu.com>
9380
9381 * loader/i386/multiboot.c (code_size): New variable.
9382 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 9383 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 9384 4-byte alignment to MBI and others by increasing
7d074e3c 9385 `boot_loader_name_length' appropriately.
1ca7fc96 9386
9387 * loader/i386/multiboot_elfxx.c
9388 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
9389
a83ea1d2 93902009-03-09 Felix Zielcke <fzielcke@z-51.de>
9391
9392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
9393 `fs/ext2.c'.
9394
aa9f3bff 93952009-03-08 Robert Millan <rmh@aybabtu.com>
9396
9397 Make loader/i386/linux.c usable on i386-pc again.
9398
9399 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
9400 memory to heap.
9401 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
9402 `#error' stanza.
9403
d8b3b60e 94042009-03-07 Bean <bean123ch@gmail.com>
9405
9406 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
9407 allocation.
9408
b362c9e9 94092009-03-06 Robert Millan <rmh@aybabtu.com>
9410
9411 Fix display issue on terminals with screen size other than 80x25
9412 (e.g. gfxterm with resolution higher than 640x480).
9413
9414 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 9415 position relative to the center of the terminal instead of relying
b362c9e9 9416 on a hardcoded offset.
9417
9304eef1 94182009-03-04 Robert Millan <rmh@aybabtu.com>
9419
9420 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
9421 installed.
9422
9423 * Makefile.in (host_kernel): New variable.
9424 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
9425 scripts instead of just the windows one.
9426 * configure.ac: Initialize and AC_SUBST `host_kernel'.
9427
eabc95fb 94282009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 9429
9430 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
9431 `kern/handler.c'.
9432 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9433 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9436 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9437 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9438
ceb1223c 94392009-03-04 Felix Zielcke <fzielcke@z-51.de>
9440
9441 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
9442 or if there's no space for the disk label and print the partition number on a
9443 invalid magic.
9444
4910684a 94452009-03-04 Felix Zielcke <fzielcke@z-51.de>
9446
9447 * util/misc.c: Include <time.h>.
9448 (grub_millisleep): New function.
9449
7e9ca17a 94502009-03-04 Bean <bean123ch@gmail.com>
9451
9452 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
9453 another option -mno-red-zone.
9454
9455 * commands/handler.c: Change module description.
9456
9457 * kern/handler.c: Add missing space at the end of description line.
9458
9459 * kern/list.c: Likewise.
9460
f501677c 94612009-03-03 Robert Millan <rmh@aybabtu.com>
9462
9463 Move more components to the relocation area, and fix mbi pointer
9464 handling to use the destination rather than the origin (thanks to
9465 Vladimir Serbinenko for spotting).
9466
9467 * loader/i386/multiboot.c (mbi_dest): New variable.
9468 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
9469 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
9470 relocation area.
9471
9902d047 94722009-03-01 Bean <bean123ch@gmail.com>
9473
50fb7002 9474 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 9475 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
9476 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
9477 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
9478
9479 * loader/i386/efi/linux.c (acpi_guid): New variable.
9480 (acpi_guid): Likewise.
9481 (EBDA_SEG_ADDR): New constant.
9482 (LOW_MEM_ADDR): Likewise.
9483 (FAKE_EBDA_SEG): Likewise.
9484 (fake_bios_data): New function.
9485 (grub_linux_boot): Call fake_bios_data.
9486
71b9f361 94872009-03-01 Bean <bean123ch@gmail.com>
9488
9489 * commands/terminal.c: Removed.
9490
9491 * commands/handler.c: New file.
9492
9493 * include/grub/list.h: Likewise.
9494
9495 * include/grub/handler.h: Likewise.
9496
9497 * kern/list.c: Likewise.
9498
9499 * kern/handler.c: Likewise.
9500
9501 * kern/term.h: Include header file <grub/handler.h>.
9502 (grub_term_input): Move next field to the beginning.
9503 (grub_term_output): Likewise.
9504 (grub_term_input_class): New variable.
9505 (grub_term_output_class): Likewise.
9506 (grub_term_register_input): Changed to inline function.
9507 (grub_term_register_output): Likewise.
9508 (grub_term_unregister_input): Likewise.
9509 (grub_term_unregister_output): Likewise.
9510 (grub_term_set_current_input): Likewise.
9511 (grub_term_set_current_output): Likewise.
9512 (grub_term_get_current_input): Likewise.
9513 (grub_term_get_current_output): Likewise.
9514 (grub_term_iterate_input): Removed.
9515 (grub_term_iterate_output): Likewise.
9516
9517 * kern/term.c (grub_term_list_input): Removed.
9518 (grub_term_list_output): Likewise.
9519 (grub_term_input_class): New variable.
9520 (grub_term_output_class): Likewise.
50fb7002 9521 (grub_cur_term_input): Change variable as macro.
71b9f361 9522 (grub_cur_term_output): Likewise.
9523 (grub_term_register_input): Removed.
9524 (grub_term_register_output): Likewise.
9525 (grub_term_unregister_input): Likewise.
9526 (grub_term_unregister_output): Likewise.
9527 (grub_term_set_current_input): Likewise.
9528 (grub_term_set_current_output): Likewise.
9529 (grub_term_iterate_input): Likewise.
9530 (grub_term_iterate_output): Likewise.
9531 (grub_term_get_current_input): Likewise.
9532 (grub_term_get_current_output): Likewise.
9533
9534 * util/grub-editenv.c: Include header file <grub/handler.h>.
9535 (grub_term_get_current_input): Removed.
9536 (grub_term_get_current_output): Likewise.
9537 (grub_term_input_class): New variable.
50fb7002 9538 (grub_term_output_class): Likewise.
71b9f361 9539
9540 * util/grub-fstest.c (grub_term_get_current_input): Removed.
9541 (grub_term_get_current_output): Likewise.
9542 (grub_term_input_class): New variable.
50fb7002 9543 (grub_term_output_class): Likewise.
71b9f361 9544
9545 * util/grub-probe.c (grub_term_get_current_input): Removed.
9546 (grub_term_get_current_output): Likewise.
9547 (grub_term_input_class): New variable.
50fb7002 9548 (grub_term_output_class): Likewise.
71b9f361 9549
9550 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
9551 (grub_term_get_current_output): Likewise.
9552 (grub_term_input_class): New variable.
50fb7002 9553 (grub_term_output_class): Likewise.
71b9f361 9554
9555 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
9556 (terminal_mod_SOURCES): Likewise.
9557 (terminal_mod_CFLAGS): Likewise.
9558 (terminal_mod_LDFLAGS): Likewise.
9559
9560 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
9561 handler.c.
9562 (kernel_img_SOURCES): Add list.c and handler.c.
9563 (kernel_img_HEADERS): Add list.h and handler.h.
9564
9565 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9566 handler.c.
9567 (kernel_mod_SOURCES): Add list.c and handler.c.
9568 (kernel_mod_HEADERS): Add list.h and handler.h.
9569
9570 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
9571 handler.c.
9572 (kernel_elf_SOURCES): Add list.c and handler.c.
9573 (kernel_elf_HEADERS): Add list.h and handler.h.
9574
9575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9576 handler.c.
9577 (kernel_elf_SOURCES): Add list.c and handler.c.
9578 (kernel_elf_HEADERS): Add list.h and handler.h.
9579
9580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9581 handler.c.
9582 (kernel_mod_SOURCES): Add list.c and handler.c.
9583 (kernel_mod_HEADERS): Add list.h and handler.h.
9584
9585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9586 handler.c.
9587 (kernel_elf_SOURCES): Add list.c and handler.c.
9588 (kernel_elf_HEADERS): Add list.h and handler.h.
9589
8a31787f 95902009-02-27 Robert Millan <rmh@aybabtu.com>
9591
9592 Factorize elf32 / elf64 code in Multiboot loader. This will
9593 prevent it from getting out of sync again.
9594
9595 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
9596 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
9597 grub_multiboot_load_elf64): Move from here ...
9598 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
9599 grub_multiboot_load_elf): ... to here (new file).
9600
51cd3dfc 96012009-02-27 Robert Millan <rmh@aybabtu.com>
9602
9603 * util/grub.d/10_linux.in: Rename "single-user mode" to
9604 "recovery mode".
9605
6e8c9c3a 96062009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 Don't leak in SCSI code.
9609 * disk/scsi.c (grub_scsi_close): free `scsi'.
9610
4b6bf4f9 96112009-02-27 Robert Millan <rmh@aybabtu.com>
9612
9613 * loader/i386/pc/multiboot.c: Move from here ...
9614 * loader/i386/multiboot.c: ... to here. Update all users.
9615
b9413424 96162009-02-27 Robert Millan <rmh@aybabtu.com>
9617
9618 Patch from Alexandre Bique <bique.alexandre@gmail.com>
9619 * util/i386/pc/grub-setup.c (setup): Fix directory path.
9620
50fb7002 96212009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 9622
9623 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
9624 b-tree.
9625
8cc50345 96262009-02-27 Robert Millan <rmh@aybabtu.com>
9627
9628 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
9629 `0x' qualifier as 0 when base is specified as parameter).
9630
6e09b8b7 96312009-02-24 Bean <bean123ch@gmail.com>
9632
9633 * configure.ac: Check for -mcmodel=large in x86_64 target.
9634
9635 * include/grub/efi/api.h (efi_call_10): New macro.
9636 (efi_wrap_10): New function.
9637
9638 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
9639 (GRUB_PE32_REL_BASED_HIGH): Likewise.
9640 (GRUB_PE32_REL_BASED_LOW): Likewise.
9641 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
9642 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
9643 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
9644 (GRUB_PE32_REL_BASED_SECTION): Likewise.
9645 (GRUB_PE32_REL_BASED_REL): Likewise.
9646 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
9647 (GRUB_PE32_REL_BASED_DIR64): Likewise.
9648 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
9649
9650 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
9651 issue.
9652
9653 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
9654 (efi_wrap_10): New function.
9655
9656 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
9657
9658 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
9659 MB/MBP model (NV chipset).
9660 (devdata_devs): Add devpath_5 to the list.
9661
9662 * load/i386/efi/linux.c (video_base): Remove variable.
9663 (RGB_MASK): New macro.
9664 (RGB_MAGIC): Likewise.
9665 (LINE_MIN): Likewise.
9666 (LINE_MAX): Likewise.
9667 (FBTEST_STEP): Likewise.
9668 (FBTEST_COUNT): Likewise.
9669 (fb_list): New variable.
9670 (grub_find_video_card): Remove function.
9671 (find_framebuf): New function.
9672 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
9673 line length.
9674
9675 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
9676 problem for x86_64.
9677
74b21bee 96782009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
9679
9680 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
9681
9682 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
9683 coding tool name.
9684
a455f472 96852009-02-22 Robert Millan <rmh@aybabtu.com>
9686
9687 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
9688 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
9689 in our relocation, instead of using it directly from heap. Also
9690 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
9691
6374daf3 96922009-02-21 Robert Millan <rmh@aybabtu.com>
9693
9694 Implement USB keyboard support (based on patch by Marco Gerards)
9695
9696 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
9697 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
9698 (usb_keyboard_mod_LDFLAGS): New variables.
9699
9700 * term/usb_keyboard.c: New file.
9701
8fa4ea70 97022009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 Corrected wrong declaration
9705
9706 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
9707
353976ac 97082009-02-14 Christian Franke <franke@computer.org>
9709
9710 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
9711 (grub_lspci_iter): Print class code and programming interface byte.
9712
6aa1169b 97132009-02-14 Christian Franke <franke@computer.org>
9714
9715 * gendistlist.sh: Ignore `.svn' directories.
9716
265372ca 97172009-02-14 Felix Zielcke <fzielcke@z-51.de>
9718
9719 * fs/fat.c: Add 2009 to Copyright line.
9720
9ff516f3 97212009-02-14 Christian Franke <franke@computer.org>
9722
9723 * commands/hdparm.c: New file. Provides `hdparm' command
9724 which sends ATA commands via grub_disk_ata_pass_through ().
9725
9726 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
9727
9728 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
9729 and <grub/cpu/io.h> to include/grub/ata.h.
9730 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
9731 (GRUB_CDROM_SECTOR_SIZE): Remove.
9732 (GRUB_ATA_*): Move to include/grub/ata.h.
9733 (GRUB_ATAPI_*): Likewise.
9734 (enum grub_ata_commands): Likewise.
9735 (enum grub_ata_timeout_milliseconds): Likewise.
9736 (struct grub_ata_device): Likewise.
9737 (grub_ata_regset): Likewise.
9738 (grub_ata_regget): Likewise.
9739 (grub_ata_regset2): Likewise.
9740 (grub_ata_regget2): Likewise.
9741 (grub_ata_check_ready): Likewise.
9742 (grub_ata_wait_not_busy): Remove static, exported in
9743 include/grub/ata.h.
9744 (grub_ata_wait_drq): Likewise.
9745 (grub_ata_pio_read): Likewise.
9746
9747 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
9748 function for hdparm.mod.
9749
9750 * include/grub/ata.h: New file, contains declarations from
9751 disk/ata.c.
9752 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9753
9754 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9755 (grub_disk_ata_pass_through): New exported variable.
9756
9757 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9758
772e23da 97592009-02-13 Colin D Bennett <colin@gibibit.com>
9760
9761 Support multiple fallback entries, and provide an API to support
9762 executing default+fallback menu entries. Renamed the `terminal' menu
9763 viewer to `text'.
9764
9765 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9766 variable declaration.
9767 (grub_menu_execute_callback): New structure declaration.
9768 (grub_menu_execute_callback_t): New typedef.
9769 (grub_menu_execute_with_fallback): New function declaration.
9770 (grub_menu_get_entry): Likewise.
9771 (grub_menu_get_timeout): Likewise.
9772 (grub_menu_set_timeout): Likewise.
9773
9774 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9775
9776 * normal/menu.c (grub_wait_after_message): Moved to
9777 `normal/menu_text.c'.
9778 (draw_border): Likewise.
9779 (print_message): Likewise.
9780 (print_entry): Likewise.
9781 (print_entries): Likewise.
9782 (grub_menu_init_page): Likewise.
9783 (get_entry_number): Likewise.
9784 (print_timeout): Likewise.
9785 (run_menu): Likewise.
9786 (grub_menu_execute_entry): Likewise.
9787 (show_text_menu): Likewise.
9788 (get_and_remove_first_entry_number): New function.
9789 (grub_menu_execute_with_fallback): Likewise.
9790 (get_entry): Renamed to ...
9791 (grub_menu_get_entry): .. this and made it global.
9792 (get_timeout): Renamed to ...
9793 (grub_menu_get_timeout): ... this and made it global.
9794 (set_timeout): Renamed to ...
9795 (grub_menu_set_timeout): ... this and made it global.
9796 (grub_normal_terminal_menu_viewer): Renamed to ...
9797 (grub_normal_text_menu_viewer): ... this.
9798
9799 * normal/menu_text.c: New file. Extracted text-menu-specific code
9800 from normal/menu.c.
9801
9802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9803 (normal_mod_SOURCES): Likewise.
9804
9805 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9806 (normal_mod_SOURCES): Likewise.
9807
9808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9809 (normal_mod_SOURCES): Likewise.
9810
9811 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9812 (normal_mod_SOURCES): Likewise.
9813
9814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9815 (normal_mod_SOURCES): Likewise.
9816
9817 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9818 (normal_mod_SOURCES): Likewise.
9819
9820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9821 (normal_mod_SOURCES): Likewise.
9822
16ac430e 98232009-02-11 Robert Millan <rmh@aybabtu.com>
9824
9825 * util/grub.d/00_header.in: Update old reference to `font' command.
9826
06ff20fc 98272009-02-10 Felix Zielcke <fzielcke@z-51.de>
9828
9829 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9830
9831 Based on patch from Javier MartĂ­n.
9832
96da9407 98332009-02-09 Felix Zielcke <fzielcke@z-51.de>
9834
9835 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 9836 to avoid false positives with FAT.
96da9407 9837 (grub_fstest_SOURCES): Likewise.
9838 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9844
6dca6fe4 98452009-02-09 Felix Zielcke <fzielcke@z-51.de>
9846
06ff20fc 9847 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 9848 bpb.version_specific.fat12_or_fat16.fstype and
9849 bpb.version_specific.fat32.fstype.
9850
2550c62f 98512009-02-08 Robert Millan <rmh@aybabtu.com>
9852
be110b30 9853 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 9854
56978920 98552009-02-08 Robert Millan <rmh@aybabtu.com>
9856
9857 * Makefile.in (host_os, host_cpu): New variables.
9858 (target_os): Remove. Update all users.
9859
d64399b5 98602009-02-08 Marco Gerards <marco@gnu.org>
9861
9862 * Makefile.in (enable_grub_emu_usb): New variable.
9863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
9864 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
9865 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
9866 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
9867 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
9868 `usbtest.mod' and `usbms.mod'.
9869 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
9870 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
9871 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
9872 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
9873 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
9874 variables.
9875
9876 * disk/usbms.c: New file.
9877
9878 * include/grub/usb.h: Likewise.
9879
9880 * include/grub/usbtrans.h: Likewise.
9881
9882 * include/grub/usbdesc.h: Likewise.
9883
9884 * bus/usb/usbtrans.c: Likewise.
9885
9886 * bus/usb/ohci.c: Likewise.
9887
9888 * bus/usb/uhci.c: Likewise.
9889
9890 * bus/usb/usbhub.c: Likewise.
9891
9892 * bus/usb/usb.c: Likewise.
9893
9894 * commands/usbtest.c: Likewise.
9895
9896 * util/usb.c: Likewise.
50fb7002 9897
d64399b5 9898 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
9899
9900 * configure.ac: Test for libusb presence.
50fb7002 9901
d64399b5 9902 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
9903
2b40d6bb 99042009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
9905
9906 * kern/mm.c: Add more comments.
9907
73a4ce81 99082009-02-08 Robert Millan <rmh@aybabtu.com>
9909
9910 Patch from Javier MartĂ­n.
9911 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
9912 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
9913
f821ce59 99142009-02-08 Robert Millan <rmh@aybabtu.com>
9915
9916 * fs/cpio.c: Split tar functionality to ...
9917 * fs/tar.c: ... here (new file). Update all users.
9918
aebfc4b0 99192009-02-07 Robert Millan <rmh@aybabtu.com>
9920
9921 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
9922 backward-incompatible features.
9923
9924 Based on patch from Javier MartĂ­n, with some adjustments.
9925
50fb7002 99262009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 9927
9928 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
9929
0bb5115e 99302009-02-07 Robert Millan <rmh@aybabtu.com>
9931
9932 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
9933 position of `disk/lvm.c' to ensure grub_init_all() always picks it
9934 after the RAID stuff.
9935
38a0f8e7 99362009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
9937
50fb7002 9938 Fixes problem when running vbetest command as reported by
38a0f8e7 9939 Vladimir Serbinenko <phcoder@gmail.com>.
9940
9941 * (grub_vbe_set_video_mode): Fixed problem with text modes.
9942
3143cc1c 99432009-02-04 Felix Zielcke <fzielcke@z-51.de>
9944
9945 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
9946 /dev/md/NpN style mdraid devices.
9947
9cba6fce 99482009-02-03 Felix Zielcke <fzielcke@z-51.de>
9949
9950 * util/unifont2pff.rb: Remove.
9951
e507a2c1 99522009-02-03 Felix Zielcke <fzielcke@z-51.de>
9953
9954 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
9955 `#'.
9956
d2c2b4cd 99572009-02-03 Felix Zielcke <fzielcke@z-51.de>
9958
9959 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
9960 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9961 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9962 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9964 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9965 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9966
b4315fb0 99672009-02-02 Christian Franke <franke@computer.org>
9968
9969 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
9970
de3aa260 99712009-02-01 Felix Zielcke <fzielcke@z-51.de>
9972
7c3ff286 9973 * INSTALL: Note that we now require at least autoconf 2.59 and
9974 that LZO is optional.
de3aa260 9975
825a182b 99762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9977
9978 Base on patch on bug #24154 created by Tomas Tintera
9979 <trosos@seznam.cz>.
9980
9981 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
9982
a69ef770 99832009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9984
7c3ff286 9985 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 9986 <bero@arklinux.org>.
9987
9988 * normal/parser.y (script_init): Add missing semicolon.
9989
6fa42fa6 99902009-01-31 Colin D Bennett <colin@gibibit.com>
9991
7c3ff286 9992 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 9993 (free_menu_entry_classes): Added.
9994 (grub_normal_menu_addentry): Added class property handling.
9995 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
9996 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
9997
9998 * normal/menu_viewer.c: New file.
9999
10000 * normal/menu.c (run_menu_entry): Renamed to ...
10001 (grub_menu_execute_entry): ... this and made it as global.
10002 (grub_menu_run): Renamed to ...
10003 (show_text_menu): ... this and made it local.
10004 (show_text_menu): Adapt to new function names.
10005 (grub_normal_terminal_menu_viewer): New global variable.
10006
10007 * include/grub/menu.h: New file.
10008
10009 * include/grub/menu_viewer.h: New file.
10010
10011 * include/grub/normal.h: Added include to grub/menu.h.
10012 (grub_menu_entry): Moved to include/grub/menu.h.
10013 (grub_menu_entry_t): Likewise.
10014 (grub_menu): Likewise.
10015 (grub_menu_t): Likewise.
10016 (grub_normal_terminal_menu_viewer): Added.
10017 (grub_menu_execute_entry): Likewise.
10018 (grub_menu_run): Removed.
10019
10020 * DISTLIST: Added include/grub/menu.h.
10021 Added include/grub/menu_viewer.h.
10022 Added normal/menu_viewer.c.
10023
100242009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10025
10026 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10027 arglist for menutitle arguments.
10028
10029 * normal/main.c (grub_normal_menu_addentry): Likewise.
10030
10031 * normal/parser.y (menuentry): Likewise.
10032
10033 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10034
10035 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10036 (grub_script_create_cmdmenu): Likewise.
10037
10038 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10039
10040 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10041 changes.
10042
10043 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10044
10045 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10046
10047 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10048
10049 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10050
10051 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10052
10053 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10054
56192c23 100552009-01-30 Christian Franke <franke@computer.org>
10056
10057 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10058 in option help text.
10059
d72521b3 100602009-01-27 Pavel Roskin <proski@gnu.org>
10061
10062 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10063
994b5e84 100642009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10065
10066 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10067
10068 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10069
10070 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10071 unregister function.
10072
6a7eab2c 100732009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10074
10075 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10076
10077 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10078
10079 * util/grub-mkfont.c (usage): Fix typo.
10080
10081 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10082
1806b56e 100832009-01-26 Daniel Mierswa <impulze@impulze.org>
10084
3fb18f09 10085 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10086
336e1fb9 10087 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10088
1806b56e 10089 * kern/misc.c (grub_strcasecmp): New function.
10090 (grub_strcasecmp): Use grub_size_t instead of int for length.
10091 Fix return value.
10092 * include/grub/misc.h: Update function prototypes.
10093
580b2a0f 100942009-01-26 Robert Millan <rmh@aybabtu.com>
10095
10096 * configure.ac: Fix cross-compilation check.
ef257b36 10097
d31c24f1 100982009-01-22 Christian Franke <franke@computer.org>
10099
10100 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10101 (precision) digit string. Allow `.format2' without `format1' (width).
10102 Limit input chars for `%s' output to `format2' if specified. This is
10103 compatible with standard printf ().
10104
3138b44c 101052009-01-22 Christian Franke <franke@computer.org>
10106
10107 * disk/ata.c (grub_ata_wait_status): Replace by ...
10108 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10109 other status bits may be invalid while BSY is asserted.
10110 (grub_ata_check_ready): New function.
10111 (grub_ata_cmd): Removed.
10112 (grub_ata_wait_drq): New function.
10113 (grub_ata_strncpy): Remove inline.
10114 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10115 and error check now done by grub_ata_wait_drq ().
10116 (grub_ata_pio_write): Likewise.
10117 (grub_atapi_identify): Set DEV before check for !BSY. Use
10118 grub_ata_wait_drq () to wait for data.
10119 (grub_ata_device_initialize): Add status register check to
10120 detect missing SATA slave devices. Add debug messages.
10121 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10122 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10123 transfer loop by grub_ata_pio_write ().
10124 (grub_ata_identify): Set DEV before check for !BSY. Use
10125 grub_ata_wait_drq () to wait for data.
ef257b36 10126 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10127 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10128 read/write in one loop. Fix invalid command on write. Fix incomplete
10129 command on (size % batch) == 0. Add missing error check after write of
10130 last block. Add debug messages.
10131 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10132
59a64ef6 101332009-01-19 Christian Franke <franke@computer.org>
10134
10135 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10136 (GRUB_ATAPI_IREASON_*): Likewise.
10137 (grub_ata_pio_write): Fix timeout error return.
10138 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10139 (grub_atapi_wait_drq): New function.
10140 (grub_atapi_packet): New parameter `size'.
10141 Use grub_atapi_wait_drq () and direct write instead of
10142 grub_ata_pio_write ().
10143 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10144 reads the number of bytes requested by the device for each DRQ
10145 assertion.
10146 (grub_atapi_write): Remove old implementation, return not
10147 implemented instead.
10148
1cfe20b3 101492009-01-19 Christian Franke <franke@computer.org>
10150
10151 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10152 of 512 to calculate data size.
10153 (grub_scsi_read12): Likewise.
10154 (grub_scsi_write10): Likewise.
10155 (grub_scsi_write12): Likewise.
10156 (grub_scsi_read): Adjust size according to blocksize.
10157 Add checks for invalid blocksize and unaligned transfer.
10158
bee5fe5d 101592009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10160
10161 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10162
ef257b36 10163 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10164 width glyphs.
10165
3e643f8c 101662009-01-19 Robert Millan <rmh@aybabtu.com>
10167
10168 * config.guess: Update to latest version from config git.
10169 * config.sub: Likewise.
10170
4fa80998 101712009-01-17 Felix Zielcke <fzielcke@z-51.de>
10172
10173 * Makefile.in: Change font compilation to use new grub-mkfont instead
10174 of java version.
10175
10176 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10177 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10178 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10179 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10180 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10181 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10182 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10183 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10184 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10185
7086085b 101862009-01-16 Christian Franke <franke@computer.org>
10187
10188 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10189 (enum grub_ata_timeout_milliseconds): New enum.
10190 (grub_ata_wait_status): Add parameter milliseconds.
10191 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10192 recovery from timed-out commands.
10193 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10194 return grub_errno instead of REG_ERROR.
10195 (grub_ata_pio_write): Add parameter milliseconds.
10196 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10197 Pass milliseconds to grub_ata_wait_status () and
10198 grub_ata_pio_read ().
10199 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10200 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10201 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10202 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10203 It is not suitable for device detection, because DEV bit is ignored,
10204 the command may run too long, and not all devices set the signature
10205 properly.
10206 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10207 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10208 Fix device selection, DEV bit must be set first to address the registers
10209 of the correct device.
10210 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10211 grub_ata_pio_read/write ().
10212 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10213 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10214
4a412913 102152009-01-13 Carles Pina i Estany <carles@pina.cat>
10216
10217 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10218
7795c55e 102192009-01-13 Bean <bean123ch@gmail.com>
d913988c 10220
10221 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10222
7795c55e 102232009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10224
10225 * Makefile.in: (enable_grub_mkfont): New variable.
10226 (freetype_cflags): Likewise.
10227 (freetype_libs): Likewise.
10228
10229 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10230 (grub_mkfont_SOURCES): New variable.
10231 (grub_mkfont_CFLAGS): Likewise.
10232 (grub_mkfont_LDFLAGS): Likewise.
10233
10234 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10235 library if `--enable-grub-mkfont' is requested.
10236 (enable_grub_mkfont): New variable.
10237 (freetype_cflags): Likewise.
10238 (freetype_libs): Likewise.
10239
10240 * util/grub-mkfont.c: New file.
10241
093af1fe 102422009-01-12 Christian Franke <franke@computer.org>
10243
10244 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10245 mode check. Fix setting of compat_use[].
10246
f36cc108 102472009-01-10 Robert Millan <rmh@aybabtu.com>
10248
10249 Update a few copyright years which we forgot to do in 2008 (only for
10250 files whose changes made in 2008 were copyright-significant)
10251
10252 * Makefile.in: Add 2008 to Copyright line.
10253 * disk/ieee1275/ofdisk.c: Likewise.
10254 * disk/efi/efidisk.c: Likewise.
10255 * kern/dl.c: Likewise.
10256 * kern/sparc64/ieee1275/init.c: Likewise.
10257 * kern/mm.c: Likewise.
10258 * kern/efi/mm.c: Likewise.
10259 * boot/i386/pc/boot.S: Likewise.
10260 * genfslist.sh: Likewise.
10261 * fs/iso9660.c: Likewise.
10262 * fs/hfs.c: Likewise.
10263 * fs/jfs.c: Likewise.
10264 * fs/minix.c: Likewise.
10265 * fs/ufs.c: Likewise.
10266 * gensymlist.sh.in: Likewise.
10267 * genkernsyms.sh.in: Likewise.
10268 * include/grub/misc.h: Likewise.
10269 * include/grub/types.h: Likewise.
10270 * include/grub/symbol.h: Likewise.
10271 * include/grub/elf.h: Likewise.
10272 * include/grub/kernel.h: Likewise.
10273 * include/grub/disk.h: Likewise.
10274 * include/grub/dl.h: Likewise.
10275 * include/grub/i386/linux.h: Likewise.
10276 * include/grub/i386/pc/biosdisk.h: Likewise.
10277 * include/grub/efi/api.h: Likewise.
10278 * include/grub/efi/pe32.h: Likewise.
10279 * include/grub/util/misc.h: Likewise.
10280 * normal/execute.c: Likewise.
10281 * normal/arg.c: Likewise.
10282 * normal/completion.c: Likewise.
10283 * normal/lexer.c: Likewise.
10284 * normal/parser.y: Likewise.
10285 * normal/misc.c: Likewise.
10286 * commands/i386/pc/vbeinfo.c: Likewise.
10287 * commands/hexdump.c: Likewise.
10288 * commands/terminal.c: Likewise.
10289 * commands/ls.c: Likewise.
10290 * commands/help.c: Likewise.
10291 * partmap/pc.c: Likewise.
10292 * loader/efi/chainloader.c: Likewise.
10293 * loader/multiboot_loader.c: Likewise.
10294 * loader/i386/pc/multiboot2.c: Likewise.
10295 * term/efi/console.c: Likewise.
10296 * term/i386/pc/serial.c: Likewise.
10297 * util/lvm.c: Likewise.
10298 * util/console.c: Likewise.
10299 * util/i386/efi/grub-mkimage.c: Likewise.
10300 * util/raid.c: Likewise.
10301
7f02114b 103022009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10303
10304 * commands/videotest.c: Removed include to grub/machine/memory.h.
10305
10306 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10307 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10308 (video_mod_SOURCES): Removed.
10309 (video_mod_CFLAGS): Likewise.
10310 (video_mod_LDFLAGS): Likewise.
10311 (gfxterm_mod_SOURCES): Likewise.
10312 (gfxterm_mod_CFLAGS): Likewise.
10313 (gfxterm_mod_LDFLAGS): Likewise.
10314 (videotest_mod_SOURCES): Likewise.
10315 (videotest_mod_CFLAGS): Likewise.
10316 (videotest_mod_LDFLAGS): Likewise.
10317 (bitmap_mod_SOURCES): Likewise.
10318 (bitmap_mod_CFLAGS): Likewise.
10319 (bitmap_mod_LDFLAGS): Likewise.
10320 (tga_mod_SOURCES): Likewise.
10321 (tga_mod_CFLAGS): Likewise.
10322 (tga_mod_LDFLAGS): Likewise.
10323 (jpeg_mod_SOURCES): Likewise.
10324 (jpeg_mod_CFLAGS): Likewise.
10325 (jpeg_mod_LDFLAGS): Likewise.
10326 (png_mod_SOURCES): Likewise.
10327 (png_mod_CFLAGS): Likewise.
10328 (png_mod_LDFLAGS): Likewise.
10329
10330 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10331 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10332 (video_mod_SOURCES): Added.
10333 (video_mod_CFLAGS): Likewise.
10334 (video_mod_LDFLAGS): Likewise.
10335 (videotest_mod_SOURCES): Likewise.
10336 (videotest_mod_CFLAGS): Likewise.
10337 (videotest_mod_LDFLAGS): Likewise.
10338 (bitmap_mod_SOURCES): Likewise.
10339 (bitmap_mod_CFLAGS): Likewise.
10340 (bitmap_mod_LDFLAGS): Likewise.
10341 (tga_mod_SOURCES): Likewise.
10342 (tga_mod_CFLAGS): Likewise.
10343 (tga_mod_LDFLAGS): Likewise.
10344 (jpeg_mod_SOURCES): Likewise.
10345 (jpeg_mod_CFLAGS): Likewise.
10346 (jpeg_mod_LDFLAGS): Likewise.
10347 (png_mod_SOURCES): Likewise.
10348 (png_mod_CFLAGS): Likewise.
10349 (png_mod_LDFLAGS): Likewise.
10350 (gfxterm_mod_SOURCES): Likewise.
10351 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10352 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10353
10354 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10355 grub/machine/console.h.
10356
644fff97 103572009-01-04 Jerone Young <jerone@gmail.com>
10358
10359 Make on screen instructions clearer
10360
10361 Based on patch created by Jidanni <jidanni@jidanni.org>
10362
10363 * normal/menu.c: print clearer instructions on the screen
10364
1e901a75 103652009-01-02 Colin D Bennett <colin@gibibit.com>
10366
10367 New font engine.
34c44600 10368
1e901a75 10369 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10370 build system and fixed gfxterm.c to work with different sized fonts.
10371
10372 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 10373
1e901a75 10374 * configure: Re-generated.
34c44600 10375
1e901a75 10376 * DISTLIST: Removed font/manager.c.
10377 Added font/font.c.
10378 Added font/font_cmd.c.
34c44600 10379
1e901a75 10380 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
10381 compilation.
34c44600 10382
1e901a75 10383 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 10384
10385 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 10386
10387 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 10388
1e901a75 10389 * normal/menu.c: Likewise.
34c44600 10390
1e901a75 10391 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
10392 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 10393
1e901a75 10394 * include/grub/font.h: Replaced with new file.
34c44600 10395
1e901a75 10396 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
10397 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
10398 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
10399 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
10400 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 10401 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 10402 fg_red, fg_green, fg_blue, fg_alpha.
10403 (grub_video_adapter): Removed blit_glyph.
34c44600 10404 (grub_video_blit_glyph): Removed.
10405
1e901a75 10406 * font/manager.c: Removed file.
34c44600 10407
10408 * font/font.c: New file.
10409
1e901a75 10410 * font/font_cmd.c: Likewise.
34c44600 10411
1e901a75 10412 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 10413
1e901a75 10414 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
10415 (grub_video_vbe_map_rgba): Likewise.
10416 (grub_video_vbe_unmap_color_int): Likewise.
10417 (grub_video_vbe_blit_glyph): Removed.
10418 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 10419
1e901a75 10420 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
10421 (get_pixel): Likewise.
34c44600 10422 (set_pixel): Likewise.
10423
1e901a75 10424 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 10425
1e901a75 10426 * term/gfxterm.c: Adapted to new font engine.
34c44600 10427
1e901a75 10428 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 10429
1e901a75 10430 * term/i386/pc/vga.c: Likewise.
34c44600 10431
1e901a75 10432 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 10433
1e901a75 10434 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 10435
1e901a75 10436 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10437
1e901a75 10438 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10439
1e901a75 10440 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 10441
1e901a75 10442 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 10443
1e901a75 10444 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 10445
1e901a75 10446 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 10447
1e901a75 10448 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10449
10450 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 10451
1e901a75 10452 * util/grub-mkconfig_lib.in: Changed font extension.
10453
278922e8 104542008-12-28 Felix Zielcke <fzielcke@z-51.de>
10455
10456 * util/getroot.c (grub_util_get_grub_dev): Add support for
10457 /dev/md/dNNpNN style partitionable mdraid devices.
10458
3ced05cf 104592008-12-12 Alex Smith <alex@alex-smith.me.uk>
10460
10461 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
10462 at a time limit of the PXE TFTP API correctly.
10463 (grub_pxefs_close): Likewise.
10464
7fd0ee30 104652008-11-29 Robert Millan <rmh@aybabtu.com>
10466
34c44600 10467 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 10468 grub_ata_device_initialize() calls.
10469
34c44600 104702008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 10471
10472 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
10473 iteration failed.
10474 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
10475
89313780 104762008-11-28 Robert Millan <rmh@aybabtu.com>
10477
10478 Fix build on powerpc-ieee1275. Based on patch created by
10479 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
10480 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10481 `kern/ieee1275/mmap.c'.
10482 * include/grub/powerpc/ieee1275/memory.h: New file.
10483
15257703 10484 Provide grub-install on coreboot.
10485 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
10486 (grub_install_SOURCES): New variable.
10487 * util/i386/pc/grub-install.in: Add a few condition checks to make it
10488 usable on coreboot.
10489
9fc5388a 104902008-11-25 Felix Zielcke <fzielcke@z-51.de>
10491
10492 * util/grub-fstest.c (grub_term_get_current_input): Change return type
10493 to `grub_term_input_t'.
10494 (grub_term_get_current_output): Change return type to
10495 `grub_term_output_t'.
10496
bc3a2f31 104972008-11-22 Robert Millan <rmh@aybabtu.com>
10498
34c44600 10499 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 10500 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
10501 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
10502 grub_vga_text_cls().
10503
80fc88f2 10504 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 10505 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 10506
cbf36fd3 10507 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
10508 to 0x200000 (avoids trouble with some OFW implementations, and matches
10509 with the one in Yaboot).
10510 Reported by Manoel Abranches
10511
73e8e268 105122008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 10513
10514 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
10515 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
10516
73e8e268 10517 * util/grub-mkconfig_lib.in (grub_warn): New function.
10518 (convert_system_path_to_grub_path): Use grub_warn() when issuing
10519 warnings, to obtain consistent formatting.
10520 * util/grub.d/00_header.in: Likewise.
10521 * util/update-grub_lib.in: Likewise.
10522
e94045a1 10523 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 10524 Move comment text to `#error' stanza.
e94045a1 10525
79d29fd7 10526 Harmonize ieee1275's grub_available_iterate() with the generic
10527 grub_machine_mmap_iterate() interface (fixes a recently-introduced
10528 build problem on i386-ieee1275):
10529 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
10530 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
10531 parameter `type'. Update all users of this function.
10532 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
10533 `kern/ieee1275/mmap.c'.
10534 * kern/ieee1275/init.c
10535 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
10536 with ...
10537 (grub_machine_mmap_iterate): ... this.
10538 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
10539 return type to `grub_err_t'. Update all implementations of this
10540 function prototype.
10541 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
10542 Likewise.
10543
60d6b16e 10544 Add `lsmmap' command (lists firmware-provided memory map):
10545 * commands/lsmmap.c: New file.
10546 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
10547 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
10548 variables.
10549 * conf/powerpc-ieee1275.rmk: Likewise.
10550 * conf/i386-coreboot.rmk: Likewise.
10551 * conf/i386-ieee1275.rmk: Likewise.
10552
ebaaf49b 105532008-11-19 Robert Millan <rmh@aybabtu.com>
10554
10555 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 10556 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
10557 constraints to initrd allocation (based on code from
10558 loader/i386/pc/linux.c). Without them, initrd was allocated too high
10559 for Linux to find it.
ebaaf49b 10560
dfab719f 105612008-11-14 Robert Millan <rmh@aybabtu.com>
10562
10563 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
10564 order to cope with duplicate slashes.
10565
10fc3eb9 105662008-11-14 Robert Millan <rmh@aybabtu.com>
10567
10568 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
10569 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
10570 don't want to mess with lower memory, because it is used in the Linux
10571 loader.
10572
10573 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 10574 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 10575 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
10576 is in our heap (probably as a result of it being corrupted during
2f2a3442 10577 decompression). Add #error instance with comment to explain why this
10578 loader isn't currently usable on PC/BIOS.
10fc3eb9 10579
e2e07847 105802008-11-14 Robert Millan <rmh@aybabtu.com>
10581
10582 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 10583 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 10584
fe8e8d69 105852008-11-12 Robert Millan <rmh@aybabtu.com>
10586
10587 Make loader/i386/linux.c buildable on i386-pc (although disabled).
10588
10589 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
10590 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
10591 from here ...
10592 * include/grub/i386/pc/memory.h: ... to here.
10593
976b07d0 105942008-11-12 Robert Millan <rmh@aybabtu.com>
10595
10596 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
10597 split).
10598
10599 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
10600 (grub_console_cur_color, grub_console_real_putchar)
10601 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10602 (grub_console_setcolorstate, grub_console_setcolor)
10603 (grub_console_getcolor): Move from here ...
10604 * include/grub/i386/vga_common.h: ... to here (new file).
10605
10606 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
10607 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
10608 `<grub/i386/io.h>'.
10609 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
10610 `<grub/i386/vga_common.h>'.
10611
76679cd3 106122008-11-12 Robert Millan <rmh@aybabtu.com>
10613
10614 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
10615 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
10616 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
10617 variables.
10618 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10619 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
10620
10621 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
10622 grub_console_init() with call to grub_vga_text_init().
10623 (grub_machine_fini): Replace call to
10624 grub_console_fini() with call to grub_vga_text_fini() and
10625 grub_at_keyboard_fini().
10626
10627 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
10628 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10629 (grub_console_setcolorstate, grub_console_setcolor)
10630 (grub_console_getcolor): New function prototypes.
10631
10632 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
10633 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
10634 (grub_vga_text_setcursor): Static-ize.
10635 (grub_vga_text_term): New structure.
10636 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
10637
10638 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
10639 (grub_console_cur_color, grub_console_standard_color)
10640 (grub_console_normal_color, grub_console_highlight_color)
10641 (map_char, grub_console_putchar, grub_console_getcharwidth)
10642 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
10643 (grub_console_getcolor): Move from here ...
10644 * term/i386/vga_common.c: ... to here (same function names).
10645
95b841d3 106462008-11-12 Robert Millan <rmh@aybabtu.com>
10647
10648 Use newly-added Multiboot support in coreboot.
10649
10650 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10651 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
10652
10653 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
10654 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
10655 (codestart): Store the MBI in `startup_multiboot_info' when we're
10656 being loaded using Multiboot.
10657
10658 * kern/i386/coreboot/init.c (grub_machine_init): Move
10659 grub_at_keyboard_init() call to beginning of function (useful for
10660 debugging). Call grub_machine_mmap_init() before attempting to use
10661 grub_machine_mmap_iterate().
10662 (grub_lower_mem, grub_upper_mem): Move from here ...
10663 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
10664 here (new file).
10665
10666 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
10667 function prototype.
10668
761ca975 106692008-11-12 Robert Millan <rmh@aybabtu.com>
10670
10671 Fix a regression introduced by the at_keyboard.mod split. Because
10672 some terminals are default on some platforms and non-default on
10673 others, the first terminal being registered determines which is
10674 going to be default.
10675
10676 * kern/term.c (grub_term_register_input): If this is the first
10677 terminal being registered, set it as the current one.
10678 (grub_term_register_output): Likewise.
10679
10680 * term/efi/console.c (grub_console_init): Do not call
10681 grub_term_set_current_output() or grub_term_set_current_input().
10682 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
10683 * term/i386/pc/console.c (grub_console_init): Likewise.
10684 (grub_console_fini): Do not call grub_term_set_current_input()
10685 (but leave grub_term_set_current_output() to restore text mode).
10686
6c529df7 106872008-11-10 Robert Millan <rmh@aybabtu.com>
10688
10689 * util/grub.d/00_header.in: Add backward compatibility check for
10690 versions of terminal.mod that don't understand `terminal_input' or
10691 `terminal_output'.
10692
132e4113 106932008-11-09 Robert Millan <rmh@aybabtu.com>
10694
10695 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
10696 `terminal_input' / `terminal_output', not `terminal'.
10697
ac293d50 106982008-11-08 Robert Millan <rmh@aybabtu.com>
10699
10700 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 10701 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 10702
0025933a 107032008-11-08 Robert Millan <rmh@aybabtu.com>
10704
10705 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 10706 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 10707 members. Update all users.
10708 * util/console.c (grub_ncurses_term): Split in ...
10709 (grub_ncurses_term_input): ... this, and ...
10710 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 10711 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 10712
37c86336 107132008-11-08 Robert Millan <rmh@aybabtu.com>
10714
10715 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
10716 (PKGDATA): Add $(pkgdata_SRCDIR).
10717 (pkglib_BUILDDIR): New variable.
10718 (pkgdata_SRCDIR): New variable.
10719 (build_env.mk): New target.
10720 (include_DATA): New variable.
10721 (install-local): Install $(include_DATA) files in $(includedir).
10722
b6c15a2d 107232008-11-07 Pavel Roskin <proski@gnu.org>
10724
d99d46f1 10725 * gendistlist.sh: Use C locale for sorting to ensure consistent
10726 output on all systems.
10727
b6c15a2d 10728 * util/grub.d/00_header.in: Remove incorrect space before
10729 "serial".
10730
c32ee8c9 107312008-11-07 Robert Millan <rmh@aybabtu.com>
10732
10733 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
10734 per specification.
10735 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
10736 * loader/multiboot_loader.c (find_multi_boot2_header): New function
10737 (based on find_multi_boot1_header).
10738 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
10739 using find_multi_boot2_header(), and abort if neither Multiboot or
10740 Multiboot headers were found.
10741
651c29b7 107422008-11-07 Robert Millan <rmh@aybabtu.com>
10743
10744 Modularize at_keyboard.mod:
10745
10746 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
10747 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10748 (at_keyboard_mod_LDFLAGS): New variables.
10749
10750 Actual terminal split:
10751
10752 * include/grub/term.h (struct grub_term): Split in ...
10753 (struct grub_term_input): ... this, and ...
10754 (struct grub_term_output): ... this. Update all users.
10755 (grub_term_set_current): Split in ...
10756 (grub_term_set_current_input): ... this, and ...
10757 (grub_term_set_current_output): ... this.
10758 (grub_term_get_current): Split in ...
10759 (grub_term_get_current_input): ... this, and ...
10760 (grub_term_get_current_output): ... this.
10761 (grub_term_register): Split in ...
10762 (grub_term_register_input): ... this, and ...
10763 (grub_term_register_output): ... this.
10764 (grub_term_unregister): Split in ...
10765 (grub_term_unregister_input): ... this, and ...
10766 (grub_term_unregister_output): ... this.
10767 (grub_term_iterate): Split in ...
10768 (grub_term_iterate_input): ... this, and ...
10769 (grub_term_iterate_output): ... this.
10770
10771 * kern/term.c (grub_term_list): Split in ...
10772 (grub_term_list_input): ... this, and ...
10773 (grub_term_list_output): ... this. Update all users.
10774 (grub_cur_term): Split in ...
10775 (grub_cur_term_input): ... this, and ...
10776 (grub_cur_term_output): ... this. Update all users.
10777 (grub_term_set_current): Split in ...
10778 (grub_term_set_current_input): ... this, and ...
10779 (grub_term_set_current_output): ... this.
10780 (grub_term_get_current): Split in ...
10781 (grub_term_get_current_input): ... this, and ...
10782 (grub_term_get_current_output): ... this.
10783 (grub_term_register): Split in ...
10784 (grub_term_register_input): ... this, and ...
10785 (grub_term_register_output): ... this.
10786 (grub_term_unregister): Split in ...
10787 (grub_term_unregister_input): ... this, and ...
10788 (grub_term_unregister_output): ... this.
10789 (grub_term_iterate): Split in ...
10790 (grub_term_iterate_input): ... this, and ...
10791 (grub_term_iterate_output): ... this.
10792
10793 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
10794 a check for input and one for output (and only attempt to get keys
10795 from user when input works).
10796
10797 * util/grub-probe.c (grub_term_get_current): Split in ...
10798 (grub_term_get_current_input): ... this, and ...
10799 (grub_term_get_current_output): ... this.
10800 * util/grub-fstest.c: Likewise.
10801 * util/i386/pc/grub-setup.c: Likewise.
10802 * util/grub-editenv.c: Likewise.
10803
10804 Portability adjustments:
10805
10806 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10807 `term/i386/pc/at_keyboard.c'.
10808 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10809 grub_keyboard_controller_init() (now handled by terminal .init).
10810 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10811 grub_at_keyboard_init().
10812 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10813 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10814 at_keyboard.mod via input terminal interface).
10815 * include/grub/i386/coreboot/console.h: Convert into a stub for
10816 `<grub/i386/pc/console.h>'.
10817
10818 Migrate full terminals to new API:
10819
10820 * term/efi/console.c (grub_console_term): Split into ...
10821 (grub_console_term_input): ... this, and ...
10822 (grub_console_term_output): ... this. Update all users.
10823 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10824 (grub_ofconsole_init): Split into ...
10825 (grub_ofconsole_init_input): ... this, and ...
10826 (grub_ofconsole_init_output): ... this.
10827 (grub_ofconsole_term): Split into ...
10828 (grub_ofconsole_term_input): ... this, and ...
10829 (grub_ofconsole_term_output): ... this. Update all users.
10830 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10831 (grub_serial_term_input): ... this, and ...
10832 (grub_serial_term_output): ... this. Update all users.
10833 * term/i386/pc/console.c (grub_console_term): Split into ...
10834 (grub_console_term_input): ... this, and ...
10835 (grub_console_term_output): ... this. Update all users.
10836 (grub_console_term_input): Only enable it on PC/BIOS platform.
10837 (grub_console_init): Remove grub_keyboard_controller_init() call.
10838
10839 Migrate input terminals to new API:
10840
10841 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
10842 `i386' and `i386/pc' to enable build on x86_64 (this driver is
10843 i386-specific anyway).
10844 (grub_console_checkkey): Rename to ...
10845 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
10846 users.
10847 (grub_keyboard_controller_orig): New variable.
10848 (grub_console_getkey): Rename to ...
10849 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
10850 users.
10851 (grub_keyboard_controller_init): Static-ize. Save original
10852 controller value so that it can be restored ...
10853 (grub_keyboard_controller_fini): ... here (new function).
10854 (grub_at_keyboard_term): New structure.
10855 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
10856 functions.
10857
10858 Migrate output terminals to new API:
10859
10860 * term/i386/pc/vga.c (grub_vga_term): Change type to
10861 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10862 members. Update all users.
10863 * term/gfxterm.c (grub_video_term): Change type to
10864 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10865 members. Update all users.
10866 * include/grub/i386/pc/console.h (grub_console_checkkey)
10867 (grub_console_getkey): Do not export (no longer needed by gfxterm,
10868 etc).
10869
10870 Migrate `terminal' command and userland tools to new API:
10871
10872 * commands/terminal.c (grub_cmd_terminal): Split into ...
10873 (grub_cmd_terminal_input): ... this, and ...
10874 (grub_cmd_terminal_output): ... this.
10875 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
10876 `terminal_input' and `terminal_output'.
10877 * util/grub.d/00_header.in: Adjust `terminal' calls to new
10878 `terminal_input' / `terminal_output' API.
10879 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
10880 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
10881 provided ${GRUB_TERMINAL}, convert it).
10882
96e5d876 108832008-11-04 Robert Millan <rmh@aybabtu.com>
10884
10885 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
10886 for FreeBSD.
10887 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
10888
556f3775 108892008-11-03 Bean <bean123ch@gmail.com>
10890
10891 * kern/elf.c (grub_elf32_load): Revert to previous code.
10892 (grub_elf64_load): Likewise.
10893
10894 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
10895
926b9823 108962008-11-01 Robert Millan <rmh@aybabtu.com>
10897
10898 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
10899 (TARGET_CPPFLAGS): Likewise.
10900 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
10901
1432e958 109022008-11-01 Carles Pina i Estany <carles@pina.cat>
10903
10904 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
10905
dba3f844 109062008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 10907
10908 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
10909 addition of objects until the code is not going to be able to fail.
10910
dba3f844 109112008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 10912
10913 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
10914 (add a missing NULL check, and correct them by moving the pointer
10915 operations after the actual check).
10916
7ab28c21 109172008-10-29 Robert Millan <rmh@aybabtu.com>
10918
10919 * util/i386/pc/grub-install.in: Handle empty string as output from
10920 make_system_path_relative_to_its_root().
10921
1b7748eb 109222008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
10923
10924 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
10925 circular metadata worst case scenario. If the metadata is circular
10926 then copy the wrap in place.
10927 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
10928 project lib/format_text/layout.h
10929 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
10930
c9618ab2 109312008-10-03 Felix Zielcke <fzielcke@z-51.de>
10932
7a36edca 10933 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 10934
bf981c62 109352008-10-03 Felix Zielcke <fzielcke@z-51.de>
10936
10937 * util/update-grub_lib.in: Mention filename in warning message.
10938
6d994591 109392008-09-29 Felix Zielcke <fzielcke@z-51.de>
10940
10941 * NEWS: Update for rename of update-grub to grub-mkconfig.
10942
18ade780 109432008-09-29 Felix Zielcke <fzielcke@z-51.de>
10944
10945 * util/update-grub_lib.in: Copy to ...
10946 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 10947 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 10948 * util/update-grub.in: Rename to ...
10949 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
10950 option. Add `--output' option to allow users to specify the generated
10951 configuration file. Default to stdout.
10952 (update_grub_dir): Rename to ...
10953 (grub_mkconfig_dir): ... this.
10954 (grub_cfg): Default to an empty string.
10955 * conf/common.rmk (update-grub): Rename to ...
10956 (grub-mkconfig): ... this.
10957 (update-grub_lib): Copy to ...
10958 (grub-mkconfig_lib): ... this.
10959 (update-grub_SCRIPTS): Copy to ...
10960 (grub-mkconfig_SCRIPTS): ... this. Update all users.
10961 (update-grub_DATA): Rename to ...
10962 (grub-mkconfig_DATA): ... this.
10963
556ce6ac 109642008-09-28 Robert Millan <rmh@aybabtu.com>
10965
10966 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
10967 to `modified'. Add the real `created' field.
10968 (grub_iso9660_uuid): Use `modified' rather than `created' for
10969 constructing the UUID.
10970
109712008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 10972
10973 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
10974 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
10975
92274e85 109762008-09-28 Bean <bean123ch@gmail.com>
10977
10978 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
10979 Thanks to Christian Franke for finding this bug.
10980
add6f17a 109812008-09-25 Robert Millan <rmh@aybabtu.com>
10982
10983 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
10984 instances of grub_util_get_disk_name() (see previous commit).
10985
d2a367b8 109862008-09-25 Robert Millan <rmh@aybabtu.com>
10987
10988 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
10989 `util/i386/get_disk_name.c'.
10990 * conf/i386-efi.rmk: Likewise.
10991 * conf/x86_64-efi.rmk: Likewise.
10992 * conf/i386-coreboot.rmk: Likewise.
10993 * conf/i386-ieee1275.rmk: Likewise.
10994 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
10995 `util/ieee1275/get_disk_name.c'.
10996 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
10997 * util/ieee1275/get_disk_name.c: Remove file.
10998 * util/i386/get_disk_name.c: Remove file.
10999 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11000 "hd%d" for device.map entries, rather than using
11001 grub_util_get_disk_name().
11002
81a06771 110032008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11004
11005 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11006 warning.
11007 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11008
5a004279 110092008-09-24 Carles Pina i Estany <carles@pina.cat>
11010
11011 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11012 Changed to 0x5100.
11013 (GRUB_TERM_PPAGE): Changed to 0x4900.
11014
397093d3 110152008-09-24 Robert Millan <rmh@aybabtu.com>
11016
11017 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11018 macros (they were i386-pc specific).
11019 * include/grub/sparc64/ieee1275/console.h: Likewise.
11020 * include/grub/efi/console.h: Likewise.
11021
a91b6c7c 110222008-09-22 Bean <bean123ch@gmail.com>
11023
11024 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11025 resident and in attribute list.
11026
11027 * include/grub/ntfs.h (BMP_LEN): Removed.
11028
c40fd116 110292008-09-22 Bean <bean123ch@gmail.com>
11030
81a06771 11031 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11032 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11033
11034 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11035 error occurs, as grub_disk_open will call grub_disk_close, which will
11036 call p->close (scsi).
11037
81a06771 110382008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11039
11040 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11041 (AC_PREREQ): Bumped to 2.59.
11042 (AC_TRY_COMPILE): Replace obsolete macro with ...
11043 (AC_COMPILE_IFELSE): ... this.
11044 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11045 (AC_LINK_IFELSE): ... this.
11046
5dc43410 110472008-09-21 Felix Zielcke <fzielcke@z-51.de>
11048
11049 * autogen.sh: Add a call to `gendistlist.sh'.
11050
9035dce4 110512008-09-19 Christian Franke <franke@computer.org>
11052
11053 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11054 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11055 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11056 Export __enable_execute_stack() to modules.
11057 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11058 New function.
11059
7fd75377 110602008-09-09 Felix Zielcke <fzielcke@z-51.de>
11061
040030b3 11062 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11063 Sort the list.
11064
110652008-09-09 Felix Zielcke <fzielcke@z-51.de>
11066
11067 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11068 #include <grub/util/hostdisk.h>.
11069
89d5ffcf 110702008-09-08 Robert Millan <rmh@aybabtu.com>
11071
11072 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11073 segments when their filesz is zero (grub_file_read() interprets
81a06771 11074 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11075 Use `lowest_segment' rather than 0 for calculating the current
11076 segment load address.
11077
40da438f 110782008-09-08 Robert Millan <rmh@aybabtu.com>
11079
11080 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11081 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11082 clobbered useful information.
11083
ddbf5556 110842008-09-08 Robert Millan <rmh@aybabtu.com>
11085
11086 * include/grub/util/biosdisk.h: Move to ...
11087 * include/grub/util/hostdisk.h: ... here. Update all users.
11088 * util/biosdisk.c: Move to ...
11089 * util/hostdisk.c: ... here. Update all users.
11090
783d0f48 110912008-09-07 Robert Millan <rmh@aybabtu.com>
11092
11093 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11094 variables.
11095 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11096 and length can be stored directly in the `mbi->mmap_addr' and
11097 `mbi->mmap_length' struct fields.
11098
548e2ea5 110992008-09-07 Robert Millan <rmh@aybabtu.com>
11100
11101 * conf/i386.rmk: New file. Provides declaration for building
11102 `cpuid.mod'.
11103 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11104 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11105 variables.
11106 Include `conf/i386.mk'.
11107 * conf/i386-efi.rmk: Likewise.
11108 * conf/x86_64-efi.rmk: Likewise.
11109 * conf/i386-coreboot.rmk: Likewise.
11110 * conf/i386-ieee1275.rmk: Likewise.
11111
0ea85a37 111122008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11113
11114 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11115 Adds optimization support for BGR based modes.
11116
11117 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11118 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11119 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11120 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11121 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11122 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11123 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11124 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11125 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11126 (grub_video_i386_vbeblit_index_index): Likewise.
11127 (grub_video_i386_vbeblit_replace_directN): Added.
11128 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11129 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11130 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11131 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11132 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11133 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11134 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11135 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11136 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11137 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11138 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11139 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11140 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11141
11142 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11143 (grub_video_i386_vbefill_R8G8B8): Likewise.
11144 (grub_video_i386_vbefill_index): Likewise.
11145 (grub_video_i386_vbefill_direct32): Added.
11146 (grub_video_i386_vbefill_direct24): Likewise.
11147 (grub_video_i386_vbefill_direct16): Likewise.
11148 (grub_video_i386_vbefill_direct8): Likewise.
11149
81a06771 11150 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11151 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11152 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11153 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11154 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11155 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11156
0ea85a37 11157 * video/video.c (grub_video_get_blit_format): Updated to use new
11158 blit formats. Added handling for 16 bit color modes.
81a06771 11159
11160 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11161 fillers.
11162 (common_blitter): Updated to use new blitters.
11163
11164 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11165 Removed.
11166 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11167 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11168 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11169 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11170 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11171 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11172 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11173 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11174 (grub_video_i386_vbeblit_index_index): Likewise.
11175 (grub_video_i386_vbeblit_replace_directN): Added.
11176 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11177 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11178 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11179 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11180 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11181 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11182 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11183 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11184 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11185 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11186 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11187 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11188 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11189
0ea85a37 11190 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11191 (grub_video_i386_vbefill_R8G8B8): Likewise.
11192 (grub_video_i386_vbefill_index): Likewise.
11193 (grub_video_i386_vbefill_direct32): Added.
11194 (grub_video_i386_vbefill_direct24): Likewise.
11195 (grub_video_i386_vbefill_direct16): Likewise.
11196 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11197
0ea85a37 11198 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11199 types.
81a06771 11200
0ea85a37 11201 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11202 types.
81a06771 11203
0ea85a37 11204 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11205 blitter types.
81a06771 11206
0ea85a37 11207 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11208 types.
11209
e8a83df6 112102008-09-06 Felix Zielcke <fzielcke@z-51.de>
11211
11212 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11213 RAID level 1.
11214
6bcd8ee5 112152008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11216
6bcd8ee5 11217 * fs/iso9660.c (grub_iso9660_date): New structure.
11218 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11219 (grub_iso9660_uuid): New function.
c375ae58 11220
59261157 112212008-09-05 Bean <bean123ch@gmail.com>
11222
11223 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11224
11225 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11226 insensitive bit for names in Win32 and Win32 & DOS namespace.
11227
11228 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11229
11230 * include/grub/types.h (LONG_MAX): Likewise.
11231
58b6645a 112322008-09-04 Felix Zielcke <fzielcke@z-51.de>
11233
4ee55921 11234 * util/getroot.c: Include <config.h>.
11235 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11236 add support for /dev/md/N devices and handle LVM double dash escaping.
11237
112382008-09-04 Felix Zielcke <fzielcke@z-51.de>
11239
11240 * config.guess: Update to latest version from config git.
11241 * config.sub: Likewise.
58b6645a 11242
9124f65d 112432008-09-03 Robert Millan <rmh@aybabtu.com>
11244
11245 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11246 `disk->total_sectors'.
11247
81a06771 112482008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11249
11250 * include/grub/normal.h: Fixed incorrect comment for
11251 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11252
81a06771 112532008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11254
11255 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11256 values with defines.
11257
11258 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11259 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11260 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11261 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11262 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11263 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11264 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11265 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11266 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11267 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11268 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11269 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11270 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11271 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11272 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11273 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11274 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11275 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11276 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11277
93d5cbf8 112782008-08-31 Robert Millan <rmh@aybabtu.com>
11279
11280 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11281 declaration.
11282 (grub_multiboot): Fix a few warnings.
11283
21751d50 112842008-08-31 Robert Millan <rmh@aybabtu.com>
11285
11286 * loader/i386/pc/multiboot.c: Update comment not to say that
11287 boot_device support is unimplemented.
11288
e27a75c5 112892008-08-31 Robert Millan <rmh@aybabtu.com>
11290
11291 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11292 or memory map support are unimplemented.
11293
81a06771 112942008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11295
11296 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11297
81a06771 112982008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11299
11300 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11301 total video memory in 'vbeinfo' output; show color format details for
11302 each video mode.
11303
7c5d8d95 113042008-08-30 Pavel Roskin <proski@gnu.org>
11305
11306 * util/genmoddep.c: Remove for real this time.
11307 * DISTLIST: Remove util/genmoddep.c.
11308
4cebd25a 113092008-08-30 Robert Millan <rmh@aybabtu.com>
11310
11311 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11312 as required by Multiboot spec (it was already 4-byte aligned, but
11313 only by chance).
11314
b497a269 113152008-08-29 Pavel Roskin <proski@gnu.org>
11316
e3925185 11317 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11318 * kern/powerpc/ieee1275/startup.S: ... this.
11319 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11320 * DISTLIST: Likewise.
11321
b497a269 11322 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11323 grub/cpu/kernel.h. Add start label for consistency with other
11324 platforms. Add grub_prefix immediately after start. Add jump
11325 to the code after grub_prefix.
11326 * include/grub/powerpc/kernel.h: Provide valid values for
11327 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11328
6e5a42fe 113292008-08-29 Bean <bean123ch@gmail.com>
11330
11331 * configure.ac: Change host_os to cygwin for mingw.
11332 (asprintf): New check for function.
11333
11334 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11335 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11336
11337 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11338 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11339 sync, sleep and grub_util_get_disk_size for mingw.
11340
11341 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11342 to get size in mingw.
11343 (open_device): Use flag O_BINARY if it's defined.
11344 (find_root_device): Add dummy code for mingw.
11345
11346 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11347 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11348 (get_scsi_disk_name): Return 0 for mingw.
11349
11350 * util/hostfs.c: #include <grub/util/misc.h>.
11351 (grub_hostfs_open): Use "rb" flag to open file, use
11352 grub_util_get_disk_size to get disk size for mingw.
11353
11354 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11355 (asprintf): New function if HAVE_ASPRINTF is not set.
11356 (sync): New function for mingw.
11357 (sleep): Likewise.
11358 (grub_util_get_disk_size): Likewise.
11359
ab3f2673 113602008-08-28 Pavel Roskin <proski@gnu.org>
11361
11362 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11363 kern/time.c.
11364
1c282483 113652008-08-28 Robert Millan <rmh@aybabtu.com>
11366
11367 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11368
678e849c 113692008-08-28 Robert Millan <rmh@aybabtu.com>
11370
11371 Change find_grub_drive() syntax so it doesn't prevent it from
11372 detecting NULL names as errors.
11373
11374 * util/biosdisk.c (find_grub_drive): Move free slot search code
11375 from here ...
11376 (find_free_slot): ... to here.
11377 (read_device_map): Use find_free_slot() to search for free slots.
11378
965c75ca 113792008-08-27 Marco Gerards <marco@gnu.org>
11380
11381 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
11382 (scsi_mod_SOURCES): New variable.
11383 (scsi_mod_CFLAGS): Likewise
11384 (scsi_mod_LDFLAGS): Likewise.
11385
11386 * disk/scsi.c: New file.
11387
11388 * include/grub/scsi.h: Likewise.
11389
11390 * include/grub/scsicmd.h: Likewise.
11391
11392 * disk/ata.c: Include <grub/scsi.h>.
11393 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
11394 instead.
11395 (grub_ata_iterate): Skip ATAPI devices.
11396 (grub_ata_open): Only handle ATAPI devices.
11397 (struct grub_atapi_read): Removed.
11398 (grub_atapi_readsector): Likewise.
11399 (grub_ata_read): No longer handle ATAPI devices.
11400 (grub_ata_write): Likewise.
11401 (grub_atapi_iterate): New function.
11402 (grub_atapi_read): Likewise.
11403 (grub_atapi_write): Likewise.
11404 (grub_atapi_open): Likewise.
11405 (grub_atapi_close): Likewise.
11406 (grub_atapi_dev): New variable.
11407 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
11408 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
11409
11410 * include/grub/disk.h (enum grub_disk_dev_id): Add
11411 `GRUB_DISK_DEVICE_SCSI_ID'.
11412
c07ae501 114132008-08-26 Robert Millan <rmh@aybabtu.com>
11414
11415 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
11416 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
11417 descriptive.
11418
5ed20adc 114192008-08-23 Bean <bean123ch@gmail.com>
11420
11421 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
11422 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11423 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
11424 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
11425 dm_nv.mod.
11426 (raid5rec_mod_SOURCES): New macro.
11427 (raid5rec_mod_CFLAGS): Likewise.
11428 (raid5rec_mod_LDFLAGS): Likewise.
11429 (raid6rec_mod_SOURCES): Likewise.
11430 (raid6rec_mod_CFLAGS): Likewise.
11431 (raid6rec_mod_LDFLAGS): Likewise.
11432 (mdraid_mod_SOURCES): Likewise.
11433 (mdraid_mod_CFLAGS): Likewise.
11434 (mdraid_mod_LDFLAGS): Likewise.
11435 (dm_nv_mod_SOURCES): Likewise.
11436 (dm_nv_mod_CFLAGS): Likewise.
11437 (dm_nv_mod_LDFLAGS): Likewise.
11438
11439 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
11440 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11441 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11442
11443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
11444 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11445
11446 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11447
11448 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11449
11450 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11451
11452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11453
11454 * disk/raid5_recover.c: New file.
11455
11456 * disk/raid6_recover.c: Likewise.
11457
11458 * disk/mdraid_linux.c: Likewise.
11459
11460 * disk/dmraid_nvidia.c: Likewise.
11461
11462 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
11463 ULONG_MAX.
11464
11465 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
11466 calculate the size of raid device.
11467 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
11468 different layout of raid5.
11469 (grub_raid_scan_device): Remove code specific to mdraid.
11470 (grub_raid_list): New variable.
11471 (free_array): New function.
11472 (grub_raid_register): Likewise.
11473 (grub_raid_unregister): Likewise.
11474 (grub_raid_rescan): Likewise.
11475 (GRUB_MOD_INIT): Don't iterate device here.
11476 (GRUB_MOD_FINI): Use free_array to release resource.
11477
11478 * include/grub/raid.h: Remove macro and structure specific to mdraid.
11479 (grub_raid5_recover_func_t): New function variable type.
11480 (grub_raid6_recover_func_t): Likewise.
11481 (grub_raid5_recover_func): New variable.
11482 (grub_raid6_recover_func): Likewise.
11483 (grub_raid_register): New function.
11484 (grub_raid_unregister): Likewise.
11485 (grub_raid_rescan): Likewise.
11486 (grub_raid_block_xor): Likewise.
11487
11488 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
11489 (CMD_CRC): New macro.
11490 (part): Removed.
11491 (read_file): Handle device as well as file.
11492 (cmd_crc): New function.
11493 (fstest): Handle multiple disks.
11494 (options): Remove part, raw and long, add root and diskcount.
11495 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 11496 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 11497 add handling for the new options, support multiple disks.
11498
11499 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
11500
29c18915 115012008-08-23 Bean <bean123ch@gmail.com>
11502
11503 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
11504
11505 * genfslist.sh: Ignore kernel.mod.
11506
11507 * genpartmaplist.sh: Likewise.
11508
8415f261 115092008-08-23 Robert Millan <rmh@aybabtu.com>
11510
11511 * util/getroot.c (find_root_device): Skip anything that starts with
11512 a dot, not just directories. This avoids things like /dev/.tmp.md0.
11513
d5a7dc5b 115142008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 11515
d5a7dc5b 11516 * util/update-grub.in (GRUB_GFXMODE): Export variable.
11517 * util/grub.d/00_header.in: Allow the administrator to change default
11518 gfxmode via ${GRUB_GFXMODE}.
11519
380cfbb4 115202008-08-21 Felix Zielcke <fzielcke@z-51.de>
11521
11522 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
11523
c9baafe7 115242008-08-21 Robert Millan <rmh@aybabtu.com>
11525
11526 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
11527 loader.
11528 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
11529 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
11530
e290bef2 115312008-08-20 Carles Pina i Estany <carles@pina.cat>
11532
11533 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
11534 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
11535
f9dbfc96 115362008-08-19 Robert Millan <rmh@aybabtu.com>
11537
11538 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
11539 (struct grub_virtual_screen): Remove `cursor_color'.
11540 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
11541 initialization.
11542 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
11543
dd6bd6ab 115442008-08-18 Robert Millan <rmh@aybabtu.com>
11545
11546 Unify (identical) linux_normal.c files.
11547 * loader/i386/efi/linux_normal.c: Move from here ...
11548 * loader/linux_normal.c: ... to here. Update all users.
11549 * loader/i386/pc/linux_normal.c: Delete. Update all users.
11550 * loader/i386/ieee1275/linux_normal.c: Likewise.
11551
7f42f83e 115522008-08-18 Robert Millan <rmh@aybabtu.com>
11553
11554 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
11555 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
11556 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
11557 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
11558 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
11559 New macros.
11560 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
11561 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
11562 (GRUB_LINUX_CL_END_OFFSET): ... to here.
11563 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
11564 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
11565 (GRUB_EFI_CL_END_OFFSET): Rename to ...
11566 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
11567 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
11568 Initialize `params->video_cursor_x' and `params->video_cursor_y'
11569 portably using grub_getxy().
11570 Replace `-EFI' with `-bzImage' in boot message.
11571
38487ddb 115722008-08-17 Robert Millan <rmh@aybabtu.com>
11573
11574 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
11575
deceb3ec 115762008-08-17 Robert Millan <rmh@aybabtu.com>
11577
11578 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
11579
11580 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
11581 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
11582 (grub_machine_mmap_iterate): New function declaration.
11583 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
11584 structure.
11585 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
11586 macros.
11587
11588 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
11589 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
11590 Move e820 parsing from here ...
11591 * kern/i386/pc/mmap.c: New file.
11592 (grub_machine_mmap_iterate): ... to here.
11593
11594 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
11595 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
11596 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
11597 (grub_available_iterate): Redeclare to return `void', and redeclare
11598 its hook to use grub_uint64_t as addr and size parameters, and rename
11599 to ...
11600 (grub_machine_mmap_iterate): ... this. Update all users.
11601
11602 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
11603 to make it more readable. Rename to ...
11604 (grub_machine_mmap_iterate): ... this.
11605
11606 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
11607 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
11608 (grub_multiboot): Allocate an extra region after the payload, and fill
11609 it with a Multiboot memory map. Adjust a.out loader to calculate size
11610 with the extra space.
11611 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
11612 with the extra space.
11613
f8aa0f43 116142008-08-17 Carles Pina i Estany <carles@pina.cat>
11615
9807deb9 11616 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 11617
605f5bb6 116182008-08-17 Felix Zielcke <fzielcke@z-51.de>
11619
11620 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
11621 mdate-sh to the list `find' searches for.
11622 * DISTLIST: Regenerated.
11623
210db6c6 116242008-08-16 Felix Zielcke <fzielcke@z-51.de>
11625
11626 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
11627 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 11628 genmoddep.awk, gensymlist.sh.in.
11629 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 11630 * DISTLIST: Regenerated.
48cdbfd4 11631 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 11632
1082b929 116332008-08-16 Robert Millan <rmh@aybabtu.com>
11634
11635 * disk/raid.c (grub_raid_init): Handle/report errors set by
11636 grub_device_iterate().
11637 * disk/lvm.c (grub_lvm_init): Likewise.
11638
42ce5170 116392008-08-15 Bean <bean123ch@gmail.com>
11640
11641 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11642 and datehook.mod.
11643 (datetime_mod_SOURCES): New macro.
11644 (datetime_mod_CFLAGS): Likewise.
11645 (datetime_mod_LDFLAGS): Likewise.
11646 (date_mod_SOURCES): Likewise.
11647 (date_mod_CFLAGS): Likewise.
11648 (date_mod_LDFLAGS): Likewise.
11649 (datehook_mod_SOURCES): Likewise.
11650 (datehook_mod_CFLAGS): Likewise.
11651 (datehook_mod_LDFLAGS): Likewise.
11652
11653 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11654 and datehook.mod.
11655 (datetime_mod_SOURCES): New macro.
11656 (datetime_mod_CFLAGS): Likewise.
11657 (datetime_mod_LDFLAGS): Likewise.
11658 (date_mod_SOURCES): Likewise.
11659 (date_mod_CFLAGS): Likewise.
11660 (date_mod_LDFLAGS): Likewise.
11661 (datehook_mod_SOURCES): Likewise.
11662 (datehook_mod_CFLAGS): Likewise.
11663 (datehook_mod_LDFLAGS): Likewise.
11664
11665 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11666 and datehook.mod.
11667 (datetime_mod_SOURCES): New macro.
11668 (datetime_mod_CFLAGS): Likewise.
11669 (datetime_mod_LDFLAGS): Likewise.
11670 (date_mod_SOURCES): Likewise.
11671 (date_mod_CFLAGS): Likewise.
11672 (date_mod_LDFLAGS): Likewise.
11673 (datehook_mod_SOURCES): Likewise.
11674 (datehook_mod_CFLAGS): Likewise.
11675 (datehook_mod_LDFLAGS): Likewise.
11676
11677 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11678 and datehook.mod.
11679 (datetime_mod_SOURCES): New macro.
11680 (datetime_mod_CFLAGS): Likewise.
11681 (datetime_mod_LDFLAGS): Likewise.
11682 (date_mod_SOURCES): Likewise.
11683 (date_mod_CFLAGS): Likewise.
11684 (date_mod_LDFLAGS): Likewise.
11685 (datehook_mod_SOURCES): Likewise.
11686 (datehook_mod_CFLAGS): Likewise.
11687 (datehook_mod_LDFLAGS): Likewise.
11688
11689 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11690 and datehook.mod.
11691 (datetime_mod_SOURCES): New macro.
11692 (datetime_mod_CFLAGS): Likewise.
11693 (datetime_mod_LDFLAGS): Likewise.
11694 (date_mod_SOURCES): Likewise.
11695 (date_mod_CFLAGS): Likewise.
11696 (date_mod_LDFLAGS): Likewise.
11697 (datehook_mod_SOURCES): Likewise.
11698 (datehook_mod_CFLAGS): Likewise.
11699 (datehook_mod_LDFLAGS): Likewise.
11700
11701 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
11702
11703 * commands/date.c: New file.
11704
11705 * hook/datehook.c: Likewise.
11706
11707 * include/grub/lib/datetime.h: Likewise.
11708
11709 * include/grub/i386/cmos.h: Likewise.
11710
11711 * lib/datetime.c: Likewise.
11712
11713 * lib/i386/datetime.c: Likewise.
11714
11715 * lib/efi/datetime.c: Likewise.
11716
0e9242da 117172008-08-14 Robert Millan <rmh@aybabtu.com>
11718
11719 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
11720 (grub_mkelfimage_SOURCES): New variable.
11721 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
11722
11723 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
11724 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
11725 * conf/powerpc-ieee1275.rmk: Likewise.
11726 * conf/i386-ieee1275.rmk: Likewise.
11727
11728 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
11729 * kern/i386/coreboot/init.c: Likewise.
11730
11731 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
11732 with `<grub/cpu/kernel.h>'.
11733 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
11734 to ...
11735 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
11736 * kern/i386/coreboot/startup.S: Likewise.
11737
11738 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
11739 (GRUB_MOD_GAP): Remove.
11740 * include/grub/powerpc/kernel.h: New file.
11741 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
11742 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11743 * include/grub/i386/kernel.h: New file.
11744 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
11745 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
11746 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11747
11748 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11749 `grub-mkelfimage'.
11750 Use --directory when invoking grub_mkimage.
11751
11752 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11753 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11754 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11755 and GRUB_KERNEL_CPU_PREFIX.
11756
b86408f8 117572008-08-14 Felix Zielcke <fzielcke@z-51.de>
11758
d5e619ca 11759 * include/grub/err.h (grub_err_printf): New function prototype.
11760 * util/misc.c (grub_err_printf): New function.
11761 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11762 grub_printf.
11763 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11764
7161f0e0 117652008-08-13 Robert Millan <rmh@aybabtu.com>
11766
11767 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11768
a1967522 117692008-08-13 Robert Millan <rmh@aybabtu.com>
11770
11771 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11772 boot entry.
11773
371458b5 117742008-08-12 Robert Millan <rmh@aybabtu.com>
11775
11776 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11777 of the relocation code from here ...
11778 (grub_multiboot): ... to here.
11779 (forward_relocator, backward_relocator): Move from here ...
11780 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11781 (grub_multiboot_backward_relocator): ... to here.
11782 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11783 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11784 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11785 (grub_multiboot_forward_relocator_end)
11786 (grub_multiboot_backward_relocator)
11787 (grub_multiboot_backward_relocator_end): New variables.
11788
05f9452b 117892008-08-12 Bean <bean123ch@gmail.com>
11790
11791 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11792
20024ab0 117932008-08-11 Robert Millan <rmh@aybabtu.com>
11794
11795 * kern/i386/linuxbios/startup.S: Move from here ...
11796 * kern/i386/coreboot/startup.S: ... to here.
11797
11798 * kern/i386/linuxbios/init.c: Move from here ...
11799 * kern/i386/coreboot/init.c: ... to here.
11800
11801 * kern/i386/linuxbios/table.c: Move from here ...
11802 * kern/i386/coreboot/mmap.c: ... to here.
11803
11804 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11805
e352e9cd 118062008-08-11 Robert Millan <rmh@aybabtu.com>
11807
11808 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11809 errors. Leave it to the upper layer to handle them.
11810
2d05bc6a 118112008-08-09 Christian Franke <franke@computer.org>
11812
11813 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11814 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11815 Install `grub.d/10_windows' only on Cygwin.
11816 * configure.ac: Add subst of `target_os'.
11817 Check `target_os' also before setting TARGET_OBJ2ELF.
11818 Add `--enable-grub-pe2elf'.
11819
042bd419 118202008-08-08 Robert Millan <rmh@aybabtu.com>
11821
11822 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11823 (grub_last_time): Change type to grub_uint64_t.
11824 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11825 (grub_disk_close): Likewise.
11826
11827 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11828 (run_menu): Migrate code from to using grub_get_time_ms().
11829
11830 * util/misc.c (grub_get_time_ms): New function.
11831
7f280db5 118322008-08-08 Marco Gerards <marco@gnu.org>
11833
11834 * disk/ata.c (grub_ata_regget): Change return type to
11835 `grub_uint8_t'.
11836 (grub_ata_regget2): Likewise.
11837 (grub_ata_wait_status): New function.
11838 (grub_ata_wait_busy): Removed function, updated all users to use
11839 `grub_ata_wait_status'.
11840 (grub_ata_wait_drq): Likewise.
11841 (grub_ata_cmd): New function.
11842 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
11843 error handling.
11844 (grub_ata_pio_write): Add error handling.
11845 (grub_atapi_identify): Likewise.
11846 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
11847 handling.
11848 (grub_ata_identify): Use `grub_ata_cmd' and improve error
11849 handling. Actually use the detected registers. Reorder the
11850 detection logic such that it is easier to read.
11851 (grub_ata_pciinit): Do not assign the same ID to each controller.
11852 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
11853 handling.
11854 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
11855
11856 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
11857
1fbc5e66 118582008-08-08 Marco Gerards <marco@gnu.org>
11859
11860 * NEWS: Update.
11861
819ce6c0 118622008-08-07 Bean <bean123ch@gmail.com>
11863
11864 * include/grub/x86_64/pci.h: New file.
11865
5c41d44d 118662008-08-07 Christian Franke <franke@computer.org>
11867
11868 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
11869 (TIMER2_GATE): Likewise.
11870 (grub_pit_wait): Add enable/disable of the timer2 gate
11871 bit of port 0x61. This fixes a possible infinite loop.
11872
5ebc275d 118732008-08-07 Bean <bean123ch@gmail.com>
11874
11875 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
11876 kern/i386/tsc.c and kern/i386/pit.c.
11877
11878 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
11879 x86_64 platform.
11880
11881 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
11882 <grub/i386/tsc.h>.
11883
11884 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
11885
e383b3d0 118862008-08-07 Bean <bean123ch@gmail.com>
11887
11888 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
11889
11890 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
11891
11892 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
11893 multiple inclusion. Add #include <grub/types.h>.
11894
1cbb58ac 118952008-08-06 Christian Franke <franke@computer.org>
11896
11897 * conf/common.rmk: Build and install `10_windows'.
11898 * util/grub.d/10_windows.in: New script.
11899
337f5a1e 119002008-08-06 Pavel Roskin <proski@gnu.org>
11901
11902 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
11903
057bc4ac 119042008-08-06 Robert Millan <rmh@aybabtu.com>
11905
11906 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
11907 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
11908
2b99f123 119092008-08-06 Bean <bean123ch@gmail.com>
11910
11911 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
11912 (grub_pxefs_fs_int): Remove dummy definition.
11913 (grub_pxefs_open): Use data->block_size to store the current block
11914 size setting.
11915 (grub_pxefs_read): Use block size stored in data->block_size. As the
11916 value of grub_pxe_blksize can be changed after the file is opened.
11917
9f0234cb 119182008-08-06 Bean <bean123ch@gmail.com>
11919
11920 * fs/i386/pc/pxe.c (curr_file): new variable.
11921 (grub_pxefs_open): Simply the handling of pxe file system. Don't
11922 require the dummy internal file system anymore.
11923 (grub_pxefs_read): Removed.
11924 (grub_pxefs_close): Likewise.
11925 (grub_pxefs_fs_int): Likewise.
11926 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
11927 connection when we switch file.
11928 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
11929
a55d42e0 119302008-08-06 Robert Millan <rmh@aybabtu.com>
11931
11932 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
11933 `halt.mod'.
11934 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
11935 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
11936
11937 * kern/i386/halt.c: New file.
11938 * kern/i386/reboot.c: Likewise.
11939 * include/grub/i386/reboot.h: Likewise.
11940 * include/grub/i386/halt.h: Likewise.
11941
11942 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
11943 Include `<grub/cpu/halt.h>'.
11944 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
11945 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
11946
11947 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
11948 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
11949 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
11950 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
11951 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
11952 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
11953 from here ...
11954 * include/grub/i386/at_keyboard.h: ... to here.
11955
24371d26 119562008-08-05 Robert Millan <rmh@aybabtu.com>
11957
11958 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
11959 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
11960 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
11961 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11962 `kern/generic/millisleep.c'.
11963
11964 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
11965 instead of grub_get_rtc().
11966 (grub_tsc_init): Initialize `tsc_boot_time'.
11967
11968 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
11969 (grub_machine_init): Use grub_tsc_init() rather than
11970 installing an RTC-based handler via grub_install_get_time_ms().
11971
11972 * kern/i386/pit.c: New file.
11973 * include/grub/i386/pit.h: Likewise.
11974
9e7007b3 119752008-08-05 Bean <bean123ch@gmail.com>
11976
11977 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
11978
11979 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
11980 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
11981 (pxe_mod_SOURCES): New macro.
11982 (pxe_mod_CFLAGS): Likewise.
11983 (pxe_mod_LDFLAGS): Likewise.
11984 (pxecmd_mod_SOURCES): Likewise.
11985 (pxecmd_mod_CFLAGS): Likewise.
11986 (pxecmd_mod_LDFLAGS): Likewise.
11987
11988 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
11989 (grub_pxe_call): Likewise.
11990
11991 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
11992
11993 * commands/i386/pc/pxecmd.c: New file.
11994
9f0234cb 11995 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 11996
11997 * include/grub/i386/pc/pxe.h: Likewise.
11998
6977d49f 119992008-08-05 Bean <bean123ch@gmail.com>
12000
12001 * util/console.c (grub_console_cur_color): New variable.
12002 (grub_console_standard_color): Likewise.
12003 (grub_console_normal_color): Likewise.
12004 (grub_console_highlight_color): Likewise.
12005 (color_map): Likewise.
12006 (use_color): Likewise.
12007 (NUM_COLORS): New macro.
12008 (grub_ncurses_setcolorstate): Handle color properly.
12009 (grub_ncurses_setcolor): Don't change color here, just remember the
12010 settings, color will be set in grub_ncurses_setcolorstate.
12011 (grub_ncurses_getcolor): New function.
12012 (grub_ncurses_init): Initialize color pairs.
12013 (grub_ncurses_term): New member grub_ncurses_getcolor.
12014
9c2ff3ee 120152008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12016
9c2ff3ee 12017 High resolution timer support. Implemented for x86 CPUs using TSC.
12018 Extracted generic grub_millisleep() so it's linked in only as needed.
12019 This requires a Pentium compatible CPU; if the RDTSC instruction is
12020 not supported, then it falls back on the generic grub_get_time_ms()
12021 implementation that uses the machine's RTC.
12022
12023 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12024 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12025 `kern/generic/millisleep.c'.
12026
12027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12028 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12029
12030 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12031 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12032
12033 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12034
12035 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12036 `kern/generic/millisleep.c'.
12037
12038 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12039
12040 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12041
12042 * kern/generic/rtc_get_time_ms.c: New file.
12043
12044 * kern/generic/millisleep.c: New file.
337f5a1e 12045
9c2ff3ee 12046 * kern/misc.c: Don't include
12047 <kern/time.h> anymore.
12048 (grub_millisleep_generic): Removed.
12049
12050 * commands/sleep.c (grub_interruptible_millisleep): Uses
12051 grub_get_time_ms() instead of grub_get_rtc().
12052
12053 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12054 function.
12055 (grub_cpu_is_cpuid_supported): New inline function.
12056 (grub_cpu_is_tsc_supported): New inline function.
12057 (grub_tsc_init): New function prototype.
12058 (grub_tsc_get_time_ms): New function prototype.
12059
12060 * kern/i386/tsc.c (grub_get_time_ms): New file.
12061
12062 * include/grub/time.h: Include <grub/types.h.
12063 (grub_millisleep_generic): Removed.
12064 (grub_get_time_ms): New prototype.
12065 (grub_install_get_time_ms): New prototype.
12066 (grub_rtc_get_time_ms): New prototype.
12067
12068 * kern/time.c (grub_get_time_ms): New function.
12069 (grub_install_get_time_ms): New function.
12070
12071 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12072 <grub/time.h> anymore.
12073 (grub_millisleep): Removed.
12074 (grub_machine_init): Call grub_tsc_init.
12075
12076 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12077 get_time_ms() implementation.
12078
12079 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12080 (ieee1275_get_time_ms): New function.
12081 (grub_machine_init): Install get_time_ms() implementation.
12082
12083 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12084 (grub_machine_init): Call grub_tsc_init().
12085 (grub_millisleep): Removed.
bf06a93f 12086
9c2ff3ee 12087 * kern/ieee1275/init.c (grub_millisleep): Removed.
12088 (grub_machine_init): Install ieee1275_get_time_ms()
12089 implementation.
12090 (ieee1275_get_time_ms): New function.
12091 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12092 real work.
12093
9ec92aaf 120942008-08-05 Marco Gerards <marco@gnu.org>
12095
12096 * disk/ata.c: Include <grub/pci.h>.
12097 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12098 (grub_ata_initialize): Rewritten.
12099 (grub_ata_device_initialize): New function.
12100
8d23f507 121012008-08-04 Pavel Roskin <proski@gnu.org>
12102
12103 * kern/main.c: Include grub/mm.h.
12104
5e15ee3d 121052008-08-04 Robert Millan <rmh@aybabtu.com>
12106
12107 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12108 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12109 corruption problem).
12110
a9053f8f 121112008-08-04 Robert Millan <rmh@aybabtu.com>
12112
12113 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12114 warnings introduced in my last commit.
12115
dd19c7d7 121162008-08-03 Robert Millan <rmh@aybabtu.com>
12117
12118 Make PCI available on all i386 architectures.
12119
12120 * include/grub/i386/pc/pci.h: Move from here ...
12121 * include/grub/i386/pci.h: ... to here.
12122
12123 * include/grub/i386/pc/pci.h: Remove.
12124 * include/grub/i386/efi/pci.h: Remove.
12125 * include/grub/x86_64/efi/pci.h: Remove.
12126
12127 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12128 `<grub/cpu/pci.h>'.
12129
12130 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12131 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12132 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12133
12134 * conf/i386-ieee1275.rmk: Likewise.
12135
e14a6184 121362008-08-03 Robert Millan <rmh@aybabtu.com>
12137
12138 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12139 (grub_console_setcursor): Make it possible to set cursor off.
12140
52768e37 121412008-08-03 Robert Millan <rmh@aybabtu.com>
12142
12143 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12144 of modules instead of assuming which platform provides what.
12145 * util/update-grub.in: Likewise.
12146
2d52f57f 121472008-08-03 Robert Millan <rmh@aybabtu.com>
12148
12149 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12150 instead of `grub_install_dos_part' to determine whether a drive needs
12151 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12152 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12153
2a5cd121 121542008-08-02 Robert Millan <rmh@aybabtu.com>
12155
12156 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12157
93808428 121582008-08-02 Robert Millan <rmh@aybabtu.com>
12159
12160 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12161 of informational grub_dprintf() calls.
12162
3bd0a12a 121632008-08-02 Robert Millan <rmh@aybabtu.com>
12164
12165 * disk/memdisk.c (memdisk_size): Don't initialize.
12166 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12167
12168 * include/grub/i386/pc/kernel.h
12169 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12170 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12171 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12172 (grub_arch_memdisk_size): Remove.
12173
12174 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12175 field (was only used to transfer a constant). Add `type' field to
12176 support multiple module types.
12177 (grub_module_iterate): New function.
12178
12179 * kern/device.c (grub_device_open): Do not hide error messages
12180 when grub_disk_open() fails. Use grub_print_error() instead.
12181
12182 * kern/i386/pc/init.c (grub_arch_modules_addr)
12183 (grub_arch_memdisk_size): Remove functions.
12184 (grub_arch_modules_addr): Return the module address in high memory
12185 (now that it isn't copied anymore).
12186
12187 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12188 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12189 decompression routine (grub_total_module_size already includes that
12190 now). Don't copy modules back to low memory.
12191
12192 * kern/main.c: Include `<grub/mm.h>'.
12193 (grub_load_modules): Split out (and use) ...
12194 (grub_module_iterate): ... this function, which iterates through
12195 module objects and runs a hook.
12196 Comment out grub_mm_init_region() call, as it would cause non-ELF
12197 modules to be overwritten.
12198
12199 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12200 the memdisk image in its own region, make it part of the module list.
12201 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12202 (main): Parse --memdisk|-m option, and pass user-provided path as
12203 parameter to generate_image().
12204 (add_segments): Pass `memdisk_path' down to load_modules().
12205 (load_modules): Embed memdisk image in module section when requested.
12206 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12207 `header.type' instead of `header.offset'.
12208
12209 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12210 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12211 (memdisk_mod_LDFLAGS): New variables.
12212 * conf/i386-coreboot.rmk: Likewise.
12213 * conf/i386-ieee1275.rmk: Likewise.
12214
a927cc73 122152008-08-02 Robert Millan <rmh@aybabtu.com>
12216
12217 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12218 (backward_relocator): New variables. Used to allocate and relocate
12219 the payload, respectively.
12220 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12221 address, install the appropriate relocator code in each bound of
a927cc73 12222 the payload, and set the entry point such that
12223 grub_multiboot_real_boot() will jump to one of them.
12224
12225 * kern/i386/loader.S (grub_multiboot_payload_size)
12226 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12227 (grub_multiboot_payload_entry_offset): New variables.
12228 (grub_multiboot_real_boot): Set cpu context to what the relocator
12229 expects, and jump to the relocator instead of the payload.
12230
12231 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12232 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12233 (grub_multiboot_payload_entry_offset): Export.
12234
b15d8a0c 122352008-08-01 Bean <bean123ch@gmail.com>
12236
12237 * normal/menu_entry.c (editor_getline): Don't return the original
12238 string as result, as it will be released by lexer once it has done
12239 using it.
12240
cdfb3d22 122412008-08-01 Robert Millan <rmh@aybabtu.com>
12242
12243 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12244 within menuentries, not before them.
12245 util/grub.d/10_hurd.in: Likewise.
12246
9175e93d 122472008-08-01 Bean <bean123ch@gmail.com>
12248
12249 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12250 (bufio_mod_SOURCES): New macro.
12251 (bufio_mod_CFLAGS): Likewise.
12252 (bufio_mod_LDFLAGS): Likewise.
12253
12254 * include/grub/bufio.h: New file.
12255
12256 * io/bufio.c: Likewise.
12257
12258 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12259 (grub_video_reader_png): Use grub_buffile_open to open file.
12260
12261 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12262 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12263
12264 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12265 (grub_video_reader_tga): Use grub_buffile_open to open file.
12266
12267 * font/manager.c: Include <grub/bufio.h>.
12268 (add_font): Use grub_buffile_open to open file.
12269
3d8383e7 122702008-07-31 Robert Millan <rmh@aybabtu.com>
12271
12272 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12273 ELF segments, use a macro for arbitrarily accessing any of them instead
12274 of preparing a pointer that allows access to one at a time.
12275 (grub_multiboot_load_elf64): Likewise.
12276
16e641b6 122772008-07-31 Bean <bean123ch@gmail.com>
12278
12279 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12280 GRUB_KERNEL_MACHINE_DATA_END.
12281
59198b72 122822008-07-30 Robert Millan <rmh@aybabtu.com>
12283
12284 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12285 Increase from 0x50 to 0x60.
12286 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12287 use UUIDs to identify the root drive for them. If that's not
12288 possible, abort.
12289 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12290 check, for cross-disk installs.
12291
ae88bca3 122922008-07-30 Robert Millan <rmh@aybabtu.com>
12293
12294 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12295 is non-empty, use it to set the `prefix' environment variable instead
12296 of the usual approach.
12297 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12298 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12299 environment variable instead of dummy make_install_device().
12300
12301 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12302 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12303 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12304
12305 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12306 New variable reference.
12307 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12308 New macro. Defines offset of `grub_prefix' within startup.S (relative
12309 to `start').
12310 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12311 section within startup.S (relative to `start').
12312 * include/grub/i386/coreboot/kernel.h: Likewise.
12313
12314 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12315 Overwrite grub_prefix with its contents, at the beginning of the
12316 first segment.
12317 (main): Understand -p|--prefix.
12318
14f41dd1 123192008-07-30 Robert Millan <rmh@aybabtu.com>
12320
12321 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12322
4ca049a3 123232008-07-30 Robert Millan <rmh@aybabtu.com>
12324
12325 * term/i386/pc/vga_text.c (grub_console_cls): Use
12326 grub_console_gotoxy() to go back to beginning of the screen.
12327 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12328
2921d337 123292008-07-29 Christian Franke <franke@computer.org>
12330
12331 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12332 Add conversion of emulated mount points on Cygwin.
12333
b609876d 123342008-07-29 Christian Franke <franke@computer.org>
12335
12336 * util/update-grub.in: Add a check for admin
12337 group on Cygwin.
12338 Remove old `grub.cfg.new' before creation.
12339 Add `-f' to `mv' to handle the different filesystem
12340 semantics of Windows.
12341
e93e4679 123422008-07-29 Bean <bean123ch@gmail.com>
12343
12344 * normal/main.c (get_line): Fix buffer overflow bug.
12345
41694fd0 123462008-07-28 Robert Millan <rmh@aybabtu.com>
12347
12348 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12349 (struct grub_apple_header): New struct. Describes the layout of
12350 the partmap header.
12351 (apple_partition_map_iterate): Check the header magic as well as the
12352 partition magic (which was already being checked).
12353
cfd0b4e6 123542008-07-28 Pavel Roskin <proski@gnu.org>
12355
12356 * genmk.rb: Add a warning to the beginning of the output that
12357 it's a generated file and should not be edited.
12358
93cce016 123592008-07-28 Robert Millan <rmh@aybabtu.com>
12360
12361 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12362 with the same number are found, just use issue a warning with
12363 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12364
cd1df915 123652008-07-27 Robert Millan <rmh@aybabtu.com>
12366
12367 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12368 information.
12369
b70a8427 123702008-07-27 Bean <bean123ch@gmail.com>
12371
12372 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
12373 (grub_fat_find_dir): Ignore case when comparing filename.
12374
8f5e379f 123752008-07-27 Bean <bean123ch@gmail.com>
12376
12377 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
12378 smallino, as it's more descriptive, and i8count can be confused with
12379 the other field count.
12380 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
12381 inode type.
12382
a85cd5a0 123832008-07-27 Bean <bean123ch@gmail.com>
12384
12385 * commands/crc.c: New file.
12386
12387 * lib/crc.c: Likewise.
12388
12389 * include/grub/lib/crc.h: Likewise.
12390
12391 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
12392
12393 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
12394 (hexdump): Move this function to ...
12395
12396 * lib/hexdump.c: ... here.
12397
12398 * include/grub/hexdump.h: Renamed to ...
12399
12400 * include/grub/lib/hexdump.h: ... this.
12401
12402 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
12403
12404 * util/grub-editenv.c: Likewise.
12405
12406 * include/envblk.h: Renamed to ...
12407
12408 * include/lib/envblk.h: ... this.
12409
12410 * util/envblk.c: Renamed to ...
12411
12412 * lib/envblk.c: ... this.
12413
12414 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
12415 lib/hexdump.c.
12416 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
12417 (pkglib_MODULES): Add crc.mod.
12418 (hexdump_mod_SOURCES): Add lib/hexdump.c.
12419 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
12420 (crc_mod_SOURCES): New macro.
12421 (crc_mod_CFLAGS): Likewise.
12422 (crc_mod_LDFLAGS): Likewise.
12423
12424 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
12425
12426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12427
12428 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12429
12430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12431
12432 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12433
c298def0 124342008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 12435
12436 * commands/help.c: Include <grub/term.h>.
12437 (TERM_WIDTH): Removed. Updated all users.
12438
cc349fb3 124392008-07-27 Pavel Roskin <proski@gnu.org>
12440
12441 * util/getroot.c (find_root_device): Rephrase a comment to avoid
12442 spurious warnings about a comment within a comment.
12443
9051607e 124442008-07-25 Robert Millan <rmh@aybabtu.com>
12445
12446 * util/getroot.c (find_root_device): Skip devices that match
12447 /dev/dm-[0-9]. This lets the real device be found for any type of
12448 abstraction (LVM, EVMS, RAID..).
12449 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
12450 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
12451 device is found first, find_root_device() will now skip it.
12452
01453bfc 124532008-07-24 Pavel Roskin <proski@gnu.org>
12454
12455 * include/grub/types.h: Use __builtin_bswap32() and
12456 __builtin_bswap64() with gcc 4.3 and newer.
12457
6af9849f 124582008-07-24 Christian Franke <franke@computer.org>
12459
3a0fa256 12460 * util/i386/pc/grub-install.in: If `--debug' is specified,
12461 pass `--verbose' to grub-setup.
12462 Abort script if make_system_path_relative_to_its_root() fails.
12463
7810e747 124642008-07-24 Bean <bean123ch@gmail.com>
12465
12466 * configure.ac: Fixed a bug caused by the previous cygwin patch,
12467 variable `target_platform' should be `platform'.
12468
42290e17 124692008-07-24 Bean <bean123ch@gmail.com>
12470
51cc5193 12471 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 12472 (grub_png_init_fixed_block): New function.
12473 (grub_png_decode_image_data): Handle fixed huffman code compression.
12474
2a8a80e4 124752008-07-24 Bean <bean123ch@gmail.com>
12476
12477 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
12478 (grub_pe2elf_SOURCES): New macro.
12479 (CLEANFILES): Add grub-pe2elf.
12480
12481 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
12482 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
12483 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
12484 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
12485 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
12486 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
12487 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
12488 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
12489 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
12490 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
12491 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
12492 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
12493 (GRUB_PE32_DT_FUNCTION): Likewise.
12494 (GRUB_PE32_REL_I386_DIR32): Likewise.
12495 (GRUB_PE32_REL_I386_REL32): Likewise.
12496 (grub_pe32_symbol): New structure.
12497 (grub_pe32_reloc): Likewise.
12498
12499 * util/grub-pe2elf.c: New file.
12500
12501 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
12502 start symbol in non pc platform.
12503
12504 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
12505
12506 The following patches are from Christian Franke.
12507
12508 * include/grub/dl.h: Remove .previous, gas supports this only
12509 for ELF format.
12510
12511 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
12512 Remove .type, gas supports this only for ELF format.
12513
12514 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
12515 nullbytes in symbol table. This fixes an infinite loop if table is
12516 zero filled.
12517
12518 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
12519 TARGET_IMG_LDFLAGS and EXEEXT.
12520
12521 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
12522 TARGET_IMG_LDFLAGS_AC.
12523 (grub_CHECK_STACK_ARG_PROBE): New function.
12524
12525 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
12526
12527 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
12528
12529 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
12530 to set TARGET_IMG_LD* accordingly.
12531 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
12532 Add call to grub_CHECK_STACK_ARG_PROBE.
12533 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
12534
12535 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
12536
12537 * genmk.rb: Add EXEEXT to CLEANFILES.
12538
12ccdb75 125392008-07-23 Robert Millan <rmh@aybabtu.com>
12540
12541 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
12542 define the codes for arrows and lines used for the menu).
12543 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
12544 as well.
12545
12546 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
12547 fonts, because the latter are too slow.
12548
18eeaf04 125492008-07-21 Bean <bean123ch@gmail.com>
12550
12551 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
12552 a20. Run keyboard test last, as it will cause macbook to halt.
12553
b095e2ad 125542008-07-18 Pavel Roskin <proski@gnu.org>
12555
12556 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
12557 load foreign architecture modules correctly anyway. Keep
12558 support for loading host architecture modules, whether we
12559 compile them or not.
12560
737feb35 125612008-07-17 Pavel Roskin <proski@gnu.org>
12562
3f4ce737 12563 * configure.ac: Use -m32 or -m64 regardless of whether we had to
12564 change target_cpu. The compiler default can mismatch target_cpu
12565 in any case.
12566
4ad2d049 12567 * disk/efi/efidisk.c: Fix format warnings on x86_64.
12568 * kern/efi/efi.c: Likewise.
12569
f6130a12 12570 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
12571 target compiler is functional.
12572 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
12573 are set up.
12574
58393a2d 12575 * configure.ac: Default to efi platform for x86_64-apple. Allow
12576 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
12577 adjustments from the rest, only do them if target is not
12578 explicitly given. Merge other adjustments with the final sanity
12579 check. Remove an extraneous check for supported CPU. Be
12580 specific which CPU and which platform is not supported.
12581
737feb35 12582 * configure.ac: Default to pc platform for x86_64.
12583
546f966a 125842008-07-17 Robert Millan <rmh@aybabtu.com>
12585
12586 Partial LinuxBIOS -> Coreboot rename.
12587
12588 * conf/i386-linuxbios.rmk: Renamed to ...
12589 * conf/i386-coreboot.rmk: ... this.
12590 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
12591 * configure.ac: Accept "coreboot" as input platform (but maintain
12592 compatibility with "linuxbios").
12593 * include/grub/i386/linuxbios: Renamed to ...
12594 * include/grub/i386/coreboot: ... this.
12595
20011694 125962008-07-17 Bean <bean123ch@gmail.com>
12597
12598 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 12599 (appleldr_mod_SOURCE): New variable.
20011694 12600 (appleldr_mod_CFLAGS): Likewise.
12601 (appleldr_mod_LDFLAGS): Likewise.
12602 (pci_mod_SOURCES): Likewise.
12603 (pci_mod_CFLAGS): Likewise.
12604 (pci_mod_LDFLAGS): Likewise.
12605 (lspci_mod_SOURCES): Likewise.
12606 (lspci_mod_CFLAGS): Likewise.
12607 (lspci_mod_LDFLAGS): Likewise.
12608
12609 * conf/x86_64-efi.rmk: New file.
12610
12611 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
12612 macro.
12613 (grub_efidisk_write): Likewise.
12614
12615 * include/efi/api.h (efi_call_0): New macro.
12616 (efi_call_1): Likewise.
12617 (efi_call_2): Likewise.
12618 (efi_call_3): Likewise.
12619 (efi_call_4): Likewise.
12620 (efi_call_5): Likewise.
12621 (efi_call_6): Likewise.
12622
12623 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
12624 grub_rescue_cmd_chainloader.
12625
12626 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
12627 (grub_pe32_optional_header): Change some fields based on i386 or
12628 x86_64 platform.
12629 (GRUB_PE32_PE32_MAGIC): Likewise.
12630
12631 * include/grub/efi/uga_draw.h: New file.
12632
12633 * include/grub/elf.h (STN_ABS): New constant.
12634 (R_X86_64_NONE): Relocation constant for x86_64.
12635 (R_X86_64_64): Likewise.
12636 (R_X86_64_PC32): Likewise.
12637 (R_X86_64_GOT32): Likewise.
12638 (R_X86_64_PLT32): Likewise.
12639 (R_X86_64_COPY): Likewise.
12640 (R_X86_64_GLOB_DAT): Likewise.
12641 (R_X86_64_JUMP_SLOT): Likewise.
12642 (R_X86_64_RELATIVE): Likewise.
12643 (R_X86_64_GOTPCREL): Likewise.
12644 (R_X86_64_32): Likewise.
12645 (R_X86_64_32S): Likewise.
12646 (R_X86_64_16): Likewise.
12647 (R_X86_64_PC16): Likewise.
12648 (R_X86_64_8): Likewise.
12649 (R_X86_64_PC8): Likewise.
12650
12651 * include/grub/i386/efi/pci.h: New file.
12652
12653 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
12654 Change it value based on platform.
12655 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
12656 (GRUB_E820_RAM): Likewise.
12657 (GRUB_E820_RESERVED): Likewise.
12658 (GRUB_E820_ACPI): Likewise.
12659 (GRUB_E820_NVS): Likewise.
12660 (GRUB_E820_EXEC_CODE): Likewise.
12661 (GRUB_E820_MAX_ENTRY): Likewise.
12662 (grub_e820_mmap): New structure.
12663 (linux_kernel_header): Change the efi field according to different
12664 kernel version, also field from linux_kernel_header.
12665
12666 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
12667
12668 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
12669 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
12670 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
12671 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
12672 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
12673 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
12674 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
12675 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
12676 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
12677 (GRUB_PCI_ADDR_IO_MASK): Likewise.
12678
12679 * include/grub/x86_64/efi/kernel.h: New file.
12680
12681 * include/grub/x86_64/efi/loader.h: Likewise.
12682
12683 * include/grub/x86_64/efi/machine.h: Likewise.
12684
12685 * include/grub/x86_64/efi/pci.h: Likewise.
12686
12687 * include/grub/x86_64/efi/time.h: Likewise.
12688
12689 * include/grub/x86_64/linux.h: Likewise.
12690
12691 * include/grub/x86_64/setjmp.h: Likewise.
12692
12693 * include/grub/x86_64/time.h: Likewise.
12694
12695 * include/grub/x86_64/types.h: Likewise.
12696
12697 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
12698 GRUB_TARGET_SIZEOF_VOID_P.
12699
12700 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
12701 (grub_efi_locate_handle): Likewise.
12702 (grub_efi_open_protocol): Likewise.
12703 (grub_efi_set_text_mode): Likewise.
12704 (grub_efi_stall): Likewise.
12705 (grub_exit): Likewise.
12706 (grub_reboot): Likewise.
12707 (grub_halt): Likewise.
12708 (grub_efi_exit_boot_services): Likewise.
12709 (grub_get_rtc): Likewise.
12710
12711 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
12712 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
12713 (grub_efi_allocate_pages): Wrap efi calls.
12714 (grub_efi_free_pages): Wrap efi calls.
12715 (grub_efi_get_memory_map): Wrap efi calls.
12716
12717 * kern/x86_64/dl.c: New file.
12718
12719 * kern/x86_64/efi/callwrap.S: Likewise.
12720
12721 * kern/x86_64/efi/startup.S: Likewise.
12722
12723 * loader/efi/appleloader.c: Likewise.
12724
12725 * loader/efi/chainloader.c (cmdline): New variable.
12726 (grub_chainloader_unload): Wrap efi calls.
12727 (grub_chainloader_boot): Likewise.
12728 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
12729 command line.
12730
12731 * loader/efi/chainloader_normal.c (chainloader_command):
12732 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
12733 command line.
12734
12735 * loader/i386/efi/linux.c (allocate_pages): Change allocation
12736 method.
12737 (grub_e820_add_region): New function.
12738 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
12739 booting.
12740 (grub_find_video_card): New function.
12741 (grub_linux_setup_video): New function.
12742 (grub_rescue_cmd_linux): Probe for video information.
12743
12744 * normal/x86_64/setjmp.S: New file.
12745
12746 * term/efi/console.c (map_char): New function.
12747 (grub_console_putchar): Map unicode char.
12748 (grub_console_checkkey): Wrap efi calls.
12749 (grub_console_getkey): Likewise.
12750 (grub_console_getwh): Likewise.
12751 (grub_console_gotoxy): Likewise.
12752 (grub_console_cls): Likewise.
12753 (grub_console_setcolorstate): Likewise.
12754 (grub_console_setcursor): Likewise.
12755
12756 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12757
59652a20 127582008-07-16 Pavel Roskin <proski@gnu.org>
12759
ef294055 12760 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12761 format strings.
12762
59652a20 12763 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12764 pointer, not an integer. This fixes a warning and prevents
12765 precision loss on 64-bit systems.
12766 (relocate_addresses): Remove unneeded cast.
12767
afc3b5d7 127682008-07-15 Pavel Roskin <proski@gnu.org>
12769
506b2b3e 12770 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12771
62ead89c 12772 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12773
c4cd51d7 12774 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12775 Fix comparison between signed and unsigned.
12776
0d3d8f28 12777 * include/grub/i386/ieee1275/console.h: Declare
12778 grub_console_init() and grub_console_fini().
12779
8804b286 12780 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12781 It's empty and unused.
12782
ee01cf35 12783 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12784 beginning to avoid warnings with some compilers.
12785
afc3b5d7 12786 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12787 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12788
e4e8eaa5 127892008-07-14 Pavel Roskin <proski@gnu.org>
12790
407aceb4 12791 * kern/env.c (grub_register_variable_hook): Don't copy empty
12792 string, it leaks memory. Pass "" to grub_env_set(), it should
12793 handle constant strings.
12794
e4e8eaa5 12795 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12796 * commands/cmp.c (grub_cmd_cmp): Likewise.
12797 * kern/dl.c (grub_dl_flush_cache): Likewise.
12798 (grub_dl_load_core): Likewise.
12799 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12800 (grub_elf64_load_phdrs): Likewise.
12801
d4e2dad3 128022008-07-13 Pavel Roskin <proski@gnu.org>
12803
12804 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12805 between signed and unsigned.
12806 (LzmaEnc_Finish): Fix warning about an unused parameter.
12807
aa24b516 128082008-07-13 Bean <bean123ch@gmail.com>
12809
12810 * Makefile.in (enable_lzo): New rule.
12811
12812 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12813
12814 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12815
12816 * boot/i386/pc/lnxboot.S: #include <config.h>.
12817
12818 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12819 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12820
12821 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12822 compression algorithm according to configure macro.
12823
12824 * kern/i386/pc/startup.S (codestart): Likewise.
12825
12826 * kern/i386/pc/lzma_decode.S: New file.
12827
12828 * include/grub/lib/LzFind.h: Likewise.
12829
12830 * include/grub/lib/LzHash.h: Likewise.
12831
12832 * include/grub/lib/LzmaDec.h: Likewise.
12833
12834 * include/grub/lib/LzmaEnc.h: Likewise.
12835
12836 * include/grub/lib/LzmaTypes.h: Likewise.
12837
12838 * lib/LzFind.c: Likewise.
12839
12840 * lib/LzmaDec.c: Likewise.
12841
12842 * lib/LzmaEnc.c: Likewise.
12843
4ae821ac 128442008-07-13 Bean <bean123ch@gmail.com>
12845
12846 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
12847 (grub_ext4_extent_header): New structure.
12848 (grub_ext4_extent): Likewise.
12849 (grub_ext4_extent_idx): Likewise.
12850 (grub_ext4_find_leaf): New function.
12851 (grub_ext2_read_block): Handle extents.
12852
9a745147 128532008-07-12 Robert Millan <rmh@aybabtu.com>
12854
12855 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
12856
d49a4cf6 128572008-07-11 Robert Millan <rmh@aybabtu.com>
12858
12859 * util/grub.d/40_custom.in: New file. Example on how to add custom
12860 entries to /etc/grub.d.
12861 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
12862 40_custom (implicitly, by merging all the grub.d rules).
12863
947414b4 128642008-07-11 Pavel Roskin <proski@gnu.org>
12865
0059cf6f 12866 * commands/read.c (grub_getline): Fix invalid memory access.
12867 Don't add newline to the variable value.
12868
947414b4 12869 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
12870 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
12871 (serial_hw_get_port): Check validity of the port number.
12872 (grub_cmd_serial): Check return value of serial_hw_get_port().
12873
62a02d00 128742008-07-07 Pavel Roskin <proski@gnu.org>
12875
12876 * boot/i386/pc/diskboot.S (notification_string): Replace
12877 "Loading kernel" with just "loading". This is shorter, less
12878 confusing and saves a few bytes for possible future changes.
12879
3e5581b0 128802008-07-05 Pavel Roskin <proski@gnu.org>
12881
ea387a48 12882 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
12883 size for ATAPI devices, they are undefined. Output sector
12884 number in decimal form.
12885
3e5581b0 12886 * disk/ata.c: Use named constants for status bits.
12887
fdecb8fd 128882008-07-04 Pavel Roskin <proski@gnu.org>
12889
bcd35b90 12890 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
12891 grub_addr_t before casting it to the void pointer to fix a
12892 warning. Non-addressable regions are discarded earlier.
12893 (grub_arch_modules_addr): Cast _end to grub_addr_t.
12894 * kern/i386/linuxbios/table.c: Include grub/misc.h.
12895 (check_signature): Don't shadow table_header.
12896 (grub_linuxbios_table_iterate): Cast numeric constants to
12897 grub_linuxbios_table_header_t.
12898 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
12899 grub_stop().
12900
af58ab3d 12901 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
12902 prevent warnings.
12903
1759aa57 12904 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
12905 pointer, which can cause warnings. Support 64-bit addresses.
12906
fdecb8fd 12907 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
12908 of sizeof(long). This fixes PowerPC image generation on x86_64.
12909
8516d2a8 129102008-07-04 Robert Millan <rmh@aybabtu.com>
12911
12912 This fixes a performance issue when pc & gpt partmap iterators
12913 didn't abort iteration even after our hook found what it was
fe987087 12914 looking for (often causing expensive probes of non-existent drives).
8516d2a8 12915
12916 Some callers relied on previous buggy behaviour, since they would
34c44600 12917 raise an error when their own hooks caused early abortion of its
8516d2a8 12918 iteration.
12919
12920 * kern/device.c (grub_device_open): Improve error message.
12921 * disk/lvm.c (grub_lvm_open): Likewise.
12922 * disk/raid.c (grub_raid_open): Likewise.
12923
12924 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
12925 when hook requests it, independently of grub_errno.
12926 (pc_partition_map_probe): Do not fail when find_func() caused
12927 early abortion of pc_partition_map_iterate().
12928
12929 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
12930 when hook requests it, independently of grub_errno.
12931 (gpt_partition_map_probe): Do not fail when find_func() caused
12932 early abortion of gpt_partition_map_iterate().
12933
12934 * kern/partition.c (grub_partition_iterate): Abort parent iteration
12935 when hook requests it, independently of grub_errno. Do not fail when
12936 part_map_iterate_hook() caused early abortion of p->iterate().
12937
12938 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
12939 when grub_partition_iterate() returned with non-zero.
12940
277d0de9 129412008-07-03 Pavel Roskin <proski@gnu.org>
12942
12943 * disk/ata.c (grub_ata_pio_write): Check status before writing,
12944 like we do in grub_ata_pio_read().
12945 (grub_ata_readwrite): Always write individual sectors. Fix the
12946 sector count for the remainder.
12947 (grub_ata_write): Enable writing to ATA devices. Correctly
12948 report error for ATAPI devices.
12949
d4c9b428 129502008-07-02 Pavel Roskin <proski@gnu.org>
12951
e43fc690 12952 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
12953 warning.
12954
f707af42 12955 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
12956 for every read sector, we already increment it for the whole
12957 batch. This fixes reading more than 256 sectors at once.
12958
11e16b15 12959 * util/grub-editenv.c (cmd_info): Cast argument to long
12960 explicitly. ptrdiff_t reduces to int on i386.
12961
cbabfdd4 12962 * util/grub-editenv.c (main): Be specific which parameter is
12963 missing.
12964
b8fbce0a 12965 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
12966 (memdisk): Make memdisk_orig_addr a pointer.
12967
c9c8e606 12968 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
12969 for file offsets, use grub_off_t instead. Fix printf format
12970 warnings.
12971
ca62e598 12972 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
12973 there. Real unexpected warnings should not drown in the noise
12974 about known problems.
12975
ce8d1766 12976 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
12977 grub_disk_addr_t for memory addresses.
12978
00c7a56a 12979 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
12980 explicitly to fix a warning.
12981
08d3ef09 12982 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
12983
cb71ba20 12984 * Makefile.in (MODULE_LDFLAGS): New variable.
12985 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
12986 the linker accepts --build-id=none.
12987 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
12988 MODULE_LDFLAGS.
12989 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
12990
d4c9b428 12991 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
12992 those in Linux XFS code. Provide a way to access 64-bit parent
12993 inode.
12994 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
12995 the end of struct grub_xfs_dir_header.
12996
d4156eee 129972008-07-02 Bean <bean123ch@gmail.com>
12998
12999 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13000 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13001 and GRUB_IEEE1275_FLAG_NO_ANSI.
13002
13003 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13004 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13005 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13006
13007 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13008 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13009
13010 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13011 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13012
13013 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13014 esc sequence on non ANSI terminal.
13015 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13016
13017 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13018 beginning of file.
13019
2270f77b 130202008-07-02 Bean <bean123ch@gmail.com>
13021
13022 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13023 (grub_editenv_SOURCES): New variable.
13024 (pkglib_MODULES): Add loadenv.mod.
13025 (loadenv_mod_SOURCES): New variable.
13026 (loadenv_mod_CFLAGS): Likewise.
13027 (loadenv_mod_LDFLAGS): Likewise.
13028
13029 * include/grub/envblk.h: New file.
13030
13031 * util/envblk.c: New file.
13032
13033 * util/grub-editenv.c: New file.
13034
13035 * commands/loadenv.c: New file.
13036
0e9e51ec 130372008-07-01 Pavel Roskin <proski@gnu.org>
13038
d89b7634 13039 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13040 not unsigned char. This fixes warnings and is consistent with
13041 other tags.
13042
bf1835b1 13043 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13044
8222a04b 13045 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13046
6a42d99d 13047 * term/tparm.c (analyze): Always set *popcount.
13048
10b159d1 13049 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13050 cast to fix a warning.
13051
b8789f6c 13052 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13053 cast to suppress a warning.
13054
29d7e38a 13055 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13056 grub_fshelp_read_file() expects.
13057
f341f669 13058 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13059 write uuid as a 32-bit value in CPU byte order, so declare and
13060 use it as such.
13061
0e9e51ec 13062 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13063 long if the format specifier expects it.
13064 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13065 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13066 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13067 long to fix a warning.
13068 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13069 grub_dprintf() arguments to fix warnings.
13070
3aefa857 130712008-06-30 Pavel Roskin <proski@gnu.org>
13072
56c7668b 13073 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13074 install_bsd_part immediately before core.img is embedded or
13075 modified on disk. This fixes core.img verification if core.img
13076 cannot be embedded.
13077
3aefa857 13078 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13079 core_path to calculate the blocklist.
13080 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
13081
5444088d 130822008-06-29 Robert Millan <rmh@aybabtu.com>
13083
13084 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13085 block to disk block.
13086 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13087 Patch from Niels Böhm <bitbucket@arcor.de>
13088
674835c8 130892008-06-29 Robert Millan <rmh@aybabtu.com>
13090
13091 * util/update-grub_lib.in (font_path): Search for fonts in
13092 /boot/grub first, which is more likely to be readable (we aren't
13093 deciding where fonts live, just looking for them).
13094
f527dbc8 130952008-06-26 Pavel Roskin <proski@gnu.org>
13096
6c2d8df6 13097 * util/biosdisk.c (read_device_map): Don't leave dead map
13098 entries for devices failing stat() check.
13099
f527dbc8 13100 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13101 core_path_dev for the core.img path on the target device.
13102
aebe3d13 131032008-06-26 Robert Millan <rmh@aybabtu.com>
13104
13105 * disk/fs_uuid.c: New file.
13106 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13107 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13108 (fs_uuid_mod_LDFLAGS): New variables.
13109 * include/grub/disk.h (grub_disk_dev_id): Add
13110 `GRUB_DISK_DEVICE_UUID_ID'.
13111 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13112 implement iterate().
13113
37aaf354 131142008-06-26 Robert Millan <rmh@aybabtu.com>
13115
13116 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13117 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13118 Linux image includes no initrd.
13119
25ff262a 131202008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
13121
13122 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13123 call to resolve the core image location that effectively appended the
13124 name twice.
13125
76a2bd44 131262008-06-21 Robert Millan <rmh@aybabtu.com>
13127
13128 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13129 call from here ...
13130
13131 * util/grub.d/10_hurd.in: ... to here ...
13132 * util/grub.d/10_linux.in: ... and here.
13133
650e1c79 131342008-06-19 Robert Millan <rmh@aybabtu.com>
13135
fe987087 13136 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13137 after it has been set by grub_machine_set_prefix().
13138
6ce63911 131392008-06-19 Robert Millan <rmh@aybabtu.com>
13140
13141 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13142 search result when not saving to variable, not the other way around.
13143 When saving to variable, abort iteration as soon as a match is found.
13144
73940cec 131452008-06-19 Robert Millan <rmh@aybabtu.com>
13146
13147 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13148 check for partition that provides /boot/grub. Its logic is flawed,
13149 as it prevents prepare_grub_to_access_device() from being called
13150 multiple times.
13151
3c62a39d 131522008-06-19 Robert Millan <rmh@aybabtu.com>
13153
13154 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13155 "insmod" command directly when abstraction modules are needed,
fe987087 13156 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13157 since it had already been processed).
13158
47395a42 131592008-06-19 Pavel Roskin <proski@gnu.org>
13160
13161 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13162 changed. This is needed in case GRUB_LIBDIR changes.
13163 * conf/i386-ieee1275.rmk: Likewise.
13164 * conf/i386-linuxbios.rmk: Likewise.
13165 * conf/i386-pc.rmk: Likewise.
13166 * conf/powerpc-ieee1275.rmk: Likewise.
13167
a145ac2d 131682008-06-18 Pavel Roskin <proski@gnu.org>
13169
13170 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13171 kernel_elf_symlist.c to symlist.c for consistency with other
13172 architectures. Update all users.
13173 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13174
7847c51e 131752008-06-18 Robert Millan <rmh@aybabtu.com>
13176
13177 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13178 it in prefix.
13179
13180 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13181 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13182 a RAID device, run setup() for all members independently on whether
13183 LVM abstraction is being used.
13184 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13185 If grub-mkimage has set `*install_dos_part == -2', don't override this
13186 value.
13187 Perform *install_dos_part adjustments independently on whether
13188 we're embedding or not.
13189 Clarify error message when image is too big for embedding.
13190 Remove duplicate *install_dos_part stanza.
13191
b23e5644 131922008-06-17 Robert Millan <rmh@aybabtu.com>
13193
13194 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13195 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13196 variables.
13197 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13198 values in grub_ofconsole_normal_color and
13199 grub_ofconsole_highlight_color (they're not directly related to
13200 background and foreground).
13201 (grub_ofconsole_setcolorstate): Extract background and foreground
13202 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13203
0aac2f79 132042008-06-17 Robert Millan <rmh@aybabtu.com>
13205
13206 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13207 /boot/grub for the check in last commit, not /boot (they could be
13208 different partitions).
13209
3cca7ef3 132102008-06-16 Robert Millan <rmh@aybabtu.com>
13211
13212 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13213 asked to setup access for the same partition that provides /boot,
13214 don't bother using UUIDs since our root already has the value we
13215 want.
13216
347396d8 132172008-06-16 Robert Millan <rmh@aybabtu.com>
13218
13219 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13220 I2O devices.
13221 Patch from Sven Mueller <sven@debian.org>.
13222
991477f8 132232008-06-16 Robert Millan <rmh@aybabtu.com>
13224
13225 * util/update-grub.in: Check for $EUID instead of $UID.
13226 Reported by Vincent Zweije.
13227
d31a32a1 132282008-06-16 Bean <bean123ch@gmail.com>
13229
fe987087 13230 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13231 (grub_ext2_read_block): Likewise.
13232 (grub_ext2_read_inode): Likewise.
13233 (grub_ext2_mount): Likewise.
13234 (grub_ext2_close): Likewise.
13235 (grub_ext3_get_journal): Removed.
13236
fe987087 13237 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13238 (grub_reiserfs_read_symlink): Likewise.
13239 (grub_reiserfs_mount): Likewise.
13240 (grub_reiserfs_open): Likewise.
13241 (grub_reiserfs_read): Likewise.
13242 (grub_reiserfs_close): Likewise.
13243 (grub_reiserfs_get_journal): Removed.
13244
13245 * fs/fshelp.c (grub_fshelp_read): Removed.
13246 (grub_fshelp_map_block): Likewise.
13247
13248 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13249 (grub_fshelp_journal): Likewise.
13250 (grub_fshelp_read): Likewise.
13251 (grub_fshelp_map_block): Likewise.
13252
3540a760 132532008-06-16 Pavel Roskin <proski@gnu.org>
13254
13255 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13256 floating point anymore.
13257 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13258
95614c84 132592008-06-15 Pavel Roskin <proski@gnu.org>
13260
13261 * commands/ls.c (grub_ls_list_files): Use integer calculations
13262 for human readable format, avoid floating point use.
13263 * kern/misc.c (grub_ftoa): Remove.
13264 (grub_vsprintf): Remove floating point support.
13265
50465dd6 132662008-06-15 Robert Millan <rmh@aybabtu.com>
13267
fe6b695a 13268 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13269 devices.
13270 Reported by Max Vozeler.
13271
a9207284 132722008-06-15 Robert Millan <rmh@aybabtu.com>
13273
13274 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13275 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13276 skipped later.
13277 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13278 the beginning of the prefix.
13279
13280 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13281 It is assumed that if we have a memdisk, grub-mkimage has set
13282 grub_prefix to include the "(memdisk)" drive in it.
13283
a7cbd45a 132842008-06-15 Robert Millan <rmh@aybabtu.com>
13285
13286 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13287 Initialize keyboard controller after registering the terminal, so that
13288 grub_printf() can be called from grub_keyboard_controller_init().
13289
21cf716a 132902008-06-15 Robert Millan <rmh@aybabtu.com>
13291
13292 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13293 extent-btree which is written as big endian on disk.
13294 Reported by Alain Greppin <al@chilibi.org>.
13295
23a64d8e 132962008-06-14 Robert Millan <rmh@aybabtu.com>
13297
13298 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13299 * util/i386/pc/grub-install.in (modules): Likewise.
13300
d687651c 133012008-06-13 Pavel Roskin <proski@gnu.org>
13302
13303 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13304
dfe9ddd4 133052008-06-13 Bean <bean123ch@gmail.com>
13306
13307 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13308
13309 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13310
13311 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13312 to indicate sparse block.
13313
16ae7781 133142008-06-12 Pavel Roskin <proski@gnu.org>
13315
e6d1a308 13316 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13317 number, grub_fshelp_read() does it for us.
13318
16ae7781 13319 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13320 linear disk read with journal translation.
13321 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13322 * include/grub/fshelp.h: Declare grub_fshelp_read().
13323
40fd3a2b 133242008-06-09 Pavel Roskin <proski@gnu.org>
13325
13326 * fs/minix.c (grub_minix_mount): Handle error reading
13327 superblock.
13328
f5679726 133292008-06-08 Robert Millan <rmh@aybabtu.com>
13330
13331 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13332 don't append the RAID prefix afterwards.
13333 Reported by Clint Adams.
13334
ce525529 133352008-06-08 Robert Millan <rmh@aybabtu.com>
13336
13337 Based on description from Pavel:
13338 * kern/disk.c (grub_disk_check_range): Rename to ...
13339 (grub_disk_adjust_range): ... this. Add a comment explaining the
13340 tasks performed by this function.
13341
ad4936a0 133422008-06-08 Robert Millan <rmh@aybabtu.com>
13343
13344 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13345 `num_serial' (for consistency with other variables).
13346 (struct grub_ntfs_data): Add `uuid' member.
13347 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13348 (grub_ntfs_uuid): New function.
13349 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13350
dc20b0f9 133512008-06-07 Pavel Roskin <proski@gnu.org>
13352
13353 * util/biosdisk.c (open_device): Revert last change to the
13354 function, it broke installation. The sector needs to be
13355 different dependent on which device is opened.
13356
c5e3cfba 133572008-06-06 Robert Millan <rmh@aybabtu.com>
13358
13359 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13360 rest of GRUB, and breakage doesn't happen if its value were modified.
13361
13362 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13363 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13364 a constant (same value).
13365 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13366 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13367
26a1f8c4 133682008-06-06 Robert Millan <rmh@aybabtu.com>
13369
13370 * util/biosdisk.c (open_device): Do not modify sector offset when
13371 accessing a partition. kern/disk.c already handles this for us.
13372
25d6b327 133732008-06-06 Robert Millan <rmh@aybabtu.com>
13374
13375 * util/grub-emu.c (grub_machine_init): Move code in this function from
13376 here ...
13377 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
13378 segfault in case grub_printf() is called).
13379
13380 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
13381 grub_probe. Update all users not to explicitly add it again.
13382 (grub_device): New variable; contains corresponding device for grubdir.
13383 (fs_module, partmap_module, devabstraction_module): Pass
13384 `--device ${grub_device}' to grub_probe to avoid traversing /dev
13385 every time.
13386
9ece62fb 133872008-06-05 Robert Millan <rmh@aybabtu.com>
13388
13389 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
13390 is found, print it (same layout as with labels).
13391
1ad36d37 133922008-06-04 Robert Millan <rmh@aybabtu.com>
13393
13394 * util/biosdisk.c (get_drive): Rename to ...
13395 (find_grub_drive): ... this. Update all users.
13396
13397 (get_os_disk): Rename to ...
13398 (convert_system_partition_to_system_disk): ... this. Update all users.
13399
13400 (find_drive): Rename to ...
13401 (find_system_device): ... this. Update all users.
13402
e6a30859 134032008-06-04 Robert Millan <rmh@aybabtu.com>
13404
13405 * util/biosdisk.c (get_os_disk): Handle IDA devices.
13406 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13407 (make_device_map): Likewise.
13408
00c108a4 134092008-06-01 Robert Millan <rmh@aybabtu.com>
13410
13411 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
13412 before dereferencing it.
13413
13414 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
13415 union with fat12/fat16-specific ones. Add some new fields, including
13416 `num_serial' for both versions.
13417 (struct grub_fat_data): Add `uuid' member.
13418 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
13419 names. Initialize `data->uuid' using `num_serial'.
13420 (grub_fat_uuid): New function.
13421 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
13422
13423 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
13424 (grub_reiserfs_uuid): New function.
13425 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
13426 member.
13427
13428 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
13429 (grub_xfs_uuid): New function.
13430 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
13431
1385c5bb 134322008-06-01 Robert Millan <rmh@aybabtu.com>
13433
13434 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
13435 code that is backward compatible with pre-uuid search command.
13436
c682dfd7 134372008-05-31 Robert Millan <rmh@aybabtu.com>
13438
13439 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
13440 floppies after everything else, to ensure floppy drive isn't accessed
13441 unnecessarily (patch from Bean).
13442
b7db5d47 134432008-05-31 Robert Millan <rmh@aybabtu.com>
13444
13445 * commands/search.c (search_label, search_fs_uuid, search_file): Do
13446 not print device names when we were asked to set a variable.
13447
6e037aa9 134482008-05-31 Robert Millan <rmh@aybabtu.com>
13449
13450 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
13451 using "cursor-on" and "cursor-off" commands (understood at least by
13452 the Open Firmware flavour on OLPC).
13453
41305bc8 134542008-05-31 Michael Gorven <michael@gorven.za.net>
13455
13456 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
13457 on and off sequences.
13458
69ba137e 134592008-05-31 Robert Millan <rmh@aybabtu.com>
13460
13461 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
13462 * util/update-grub.in: Likewise.
13463
520ae21b 134642008-05-30 Pavel Roskin <proski@gnu.org>
13465
13466 * util/biosdisk.c (linux_find_partition): Simplify logic and
13467 make the code more universal. Keep special processing for
13468 devfs, but use a simple rule for all other devices. If the
13469 device ends with a number, append 'p' and the partition number.
13470 Otherwise, append only the partition number.
13471
5786569b 134722008-05-30 Robert Millan <rmh@aybabtu.com>
13473
13474 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
13475 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
13476 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
13477 the `root' parameter to Linux.
13478
51500452 134792008-05-30 Robert Millan <rmh@aybabtu.com>
13480
13481 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
13482 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
13483 --fs_uuid with --fs-uuid.
13484 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
13485 all filesystems support them).
13486
811d3878 134872008-05-30 Robert Millan <rmh@aybabtu.com>
13488
13489 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 13490 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 13491
cab63c95 134922008-05-30 Robert Millan <rmh@aybabtu.com>
13493
13494 * util/grub.d/00_header.in: Remove obsolete comment referencing
13495 convert_system_path_to_grub_path().
13496 * util/update-grub.in: Likewise.
13497 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
13498 (convert_system_path_to_grub_path): Add a warning message explaining
13499 that this function is deprecated. Rely on is_path_readable_by_grub()
13500 for the readability checks.
13501 (font_path): Use is_path_readable_by_grub() for the readability
13502 check rather than convert_system_path_to_grub_path().
13503
972e2f7a 135042008-05-30 Robert Millan <rmh@aybabtu.com>
13505
13506 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
13507 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
13508 converting it first.
13509 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
13510 grub.cfg for access to font file, and afterwards call it again to set
13511 the root device.
13512
62191274 135132008-05-30 Robert Millan <rmh@aybabtu.com>
13514
13515 * commands/search.c (options): Add --fs_uuid option.
13516 (search_fs_uuid): New function.
13517 (grub_cmd_search): Fix --set argument passing.
13518 Use search_fs_uuid() when requested via --fs_uuid.
13519 (grub_search_init): Update help message.
13520 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
13521 and redeclare it as an array of 16-bit words.
13522 (grub_ext2_uuid): New function.
13523 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
13524 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
13525 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
13526 (GRUB_DEVICE_BOOT_UUID): New variables.
13527 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
13528 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
13529 whenever possible.
13530 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
13531 just assume `root' variable has the right value.
13532 * util/grub.d/10_linux.in: Likewise.
13533 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
13534 via PRINT_FS_UUID.
13535 (main): Recognise `-t fs_uuid' argument.
13536
01b73ec8 135372008-05-30 Robert Millan <rmh@aybabtu.com>
13538
13539 * util/biosdisk.c (map): Redefine structure to hold information
13540 about GRUB drive name.
fe6b695a 13541 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 13542 drive names.
13543 (call_hook): Remove.
13544 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
13545 member. Assume drive has partitions.
13546 (grub_util_biosdisk_open): Access device names via `.device' struct
13547 member.
13548 (open_device): Likewise.
13549 (find_drive): Likewise.
13550 (read_device_map): Adjust map[] usage to match the new struct
13551 definition. Don't check for duplicates (still possible, but not cheap
13552 anymore).
13553 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
13554 (make_device_name): Remove assumption of BIOS-like drive names.
13555
22f16596 135562008-05-30 Pavel Roskin <proski@gnu.org>
13557
13558 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
13559 compiling execute.c doesn't need grub_script.tab.h anymore.
13560 (normal/command.c_DEPENDENCIES): Likewise.
13561 (normal/function.c_DEPENDENCIES): Likewise.
13562 * conf/i386-ieee1275.rmk: Likewise.
13563 * conf/i386-linuxbios.rmk: Likewise.
13564 * conf/i386-pc.rmk: Likewise.
13565 * conf/powerpc-ieee1275.rmk: Likewise.
13566 * conf/sparc64-ieee1275.rmk: Likewise.
13567
528ad8f2 135682008-05-29 Pavel Roskin <proski@gnu.org>
13569
d1dff95d 13570 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
13571 when scanning metadata for volume group name.
13572
528ad8f2 13573 * include/grub/script.h: Don't include grub_script.tab.h. It's
13574 a generated file, which may only be included from the files with
13575 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
13576 use union YYSTYPE, as the later allows forward declaration.
13577 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
13578
47248e08 135792008-05-29 Robert Millan <rmh@aybabtu.com>
13580
13581 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
13582 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
13583 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
13584 (grub_console_checkkey): Add grub_dprintf() call to report unknown
13585 scan codes.
13586
ee632529 135872008-05-29 Robert Millan <rmh@aybabtu.com>
13588
13589 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
13590 control key combinations.
13591
eee96e08 135922008-05-29 Robert Millan <rmh@aybabtu.com>
13593
13594 * util/powerpc/ieee1275/grub-install.in: Move from here ...
13595 * util/ieee1275/grub-install.in: ... to here.
13596 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
13597 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
13598 (grub_install_SOURCES): Likewise.
13599
da9a6a94 136002008-05-29 Robert Millan <rmh@aybabtu.com>
13601
13602 * fs/affs.c: Update copyright year.
13603 * fs/ext2.c: Likewise.
13604 * fs/fshelp.c: Likewise.
13605 * fs/hfsplus.c: Likewise.
13606 * fs/ntfs.c: Likewise.
13607 * fs/xfs.c: Likewise.
13608 * include/grub/fshelp.h: Likewise.
13609 * util/grub-mkdevicemap.c: Likewise.
13610
12e65f3a 136112008-05-28 Robert Millan <rmh@aybabtu.com>
13612
13613 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
13614 might need to be fatfs to support some firmware implementations
13615 (e.g. OFW or EFI).
13616
23023641 136172008-05-28 Robert Millan <rmh@aybabtu.com>
13618
13619 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
13620 devices.
13621 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13622 (make_device_map): Likewise.
13623
887d2619 136242008-05-20 Bean <bean123ch@gmail.com>
13625
13626 * fs/fshelp.c (grub_fshelp_map_block): New function.
13627 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
13628 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
13629
13630 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
13631 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
13632 (grub_fshelp_journal): New structure.
13633 (grub_fshelp_map_block): New function prototype.
13634 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
13635 (grub_fshelp_map_block): Likewise.
13636
13637 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
13638 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
13639 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
13640 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
13641 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
13642 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
13643 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
13644 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
13645 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
13646 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
13647 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
13648 (grub_ext2_sblock): New members for journal support.
13649 (grub_ext3_journal_header): New structure.
13650 (grub_ext3_journal_revoke_header): Likewise.
13651 (grub_ext3_journal_block_tag): Likewise.
13652 (grub_ext3_journal_sblock): Likewise.
13653 (grub_fshelp_node): New members logfile and journal.
13654 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
13655 grub_fshelp_map_block to get real block number.
13656 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
13657 number.
13658 (grub_ext2_read_inode): Likewise.
13659 (grub_ext3_get_journal): New function.
13660 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
13661 (grub_ext2_close): Release memory used by journal.
13662
13663 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
13664 (REISERFS_MAGIC_DESC_BLOCK): New macro.
13665 (grub_reiserfs_transaction_header): Renamed to
13666 grub_reiserfs_description_block, replace field data with real_blocks.
13667 (grub_reiserfs_commit_block): New structure.
13668 (grub_reiserfs_data): New member journal.
13669 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
13670 number.
13671 (grub_reiserfs_read_symlink): Likewise.
13672 (grub_reiserfs_iterate_dir): Likewise.
13673 (grub_reiserfs_open): Likewise.
13674 (grub_reiserfs_read): Likewise.
13675 (grub_reiserfs_get_journal): New function.
13676 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
13677 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
13678 using grub_reiserfs_get_journal.
13679 (grub_reiserfs_close): Release memory used by journal.
13680
13681 * fs/affs.c (grub_affs_read_block): Change block type to
13682 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
13683
13684 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
13685
13686 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
13687
13688 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
13689
13690 * fs/udf.c (grub_udf_read_block): Change block type to
13691 grub_disk_addr_t. Use type cast to avoid warning.
13692
13693 * fs/xfs.c (grub_xfs_read_block): Likewise.
13694
b7c6bed5 136952008-05-16 Christian Franke <franke@computer.org>
13696
13697 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
13698 to ensure that break with ESC will always work.
13699 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
13700 Remove ESC from keyboard queue.
13701
eedf167f 137022008-05-16 Christian Franke <franke@computer.org>
13703
13704 * util/biosdisk.c: [__CYGWIN__] Add includes.
13705 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
13706 (get_os_disk): Move variable declarations to OS specific
13707 parts to avoid warning.
13708 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
13709 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
13710 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
13711 Cygwin.
13712 * util/getroot.c: [__CYGWIN__] Add includes.
13713 (strip_extra_slashes): Fix "/" case.
13714 [__CYGWIN__] (get_win32_path): New function.
13715 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
13716 [__CYGWIN__] (find_root_device): Disable.
13717 [__CYGWIN__] (get_bootsec_serial): New function.
13718 [__CYGWIN__] (find_cygwin_root_device): Likewise.
13719 [__linux__] (grub_guess_root_device): Add early returns to simplify
13720 structure.
13721 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
13722 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
13723 check for Linux only.
13724
a079699e 137252008-05-15 Bean <bean123ch@gmail.com>
13726
13727 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
13728 keyboard hang problem in apple's intel mac.
13729
1cf4059a 137302008-05-09 Robert Millan <rmh@aybabtu.com>
13731
13732 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
13733 devices.
13734 * util/grub-mkdevicemap.c (get_virtio_disk_name)
13735 (make_device_map): Likewise.
13736 Reported by Aurelien Jarno <aurel32@debian.org>
13737
ed759390 137382008-05-07 Ian Campbell <ijc@hellion.org.uk>
13739
13740 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
13741 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13742 (make_device_map): Output entries for xvd type disks.
13743
b56c4eaa 137442008-05-07 Robert Millan <rmh@aybabtu.com>
13745
13746 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
13747 devices.
13748 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13749 (make_device_map): Likewise.
13750 Reported by Roland Dreier <rdreier@cisco.com>
13751
7f8866ed 137522008-05-07 Robert Millan <rmh@aybabtu.com>
13753
13754 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13755 grub_strstr() call. Correct a few mistakes in failure path handling.
13756
b0346e0f 137572008-05-06 Robert Millan <rmh@aybabtu.com>
13758
13759 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13760 Do not print a trailing slash (therefore, the root directory is an
13761 empty string).
13762 (convert_system_path_to_grub_path): Do not remove trailing slash
13763 from make_system_path_relative_to_its_root() output.
13764
13765 * util/i386/pc/grub-install.in: Add trailing slash to output from
13766 make_system_path_relative_to_its_root().
13767
6cf12cbd 137682008-05-06 Robert Millan <rmh@aybabtu.com>
13769
13770 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13771 ensures that output lines aren't intermangled with those sent to
13772 stderr (via grub_util_info()).
13773 * util/grub-probe.c (grub_refresh): Likewise.
13774 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13775
0fbb3117 137762008-05-05 Christian Franke <franke@computer.org>
13777
13778 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13779 Add Cygwin device names.
13780 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13781 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13782 (check_device): Return error instead of success on empty name.
13783 (make_device_map): Move label inside linux specific code to
13784 prevent compiler warning.
13785
8124cdb7 137862008-04-30 Robert Millan <rmh@aybabtu.com>
13787
13788 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13789 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13790 first boot option.
13791 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13792
094c01d0 137932008-04-29 Robert Millan <rmh@aybabtu.com>
13794
13795 * docs/grub.cfg: New file (example GRUB configuration).
13796
f4b1fc02 137972008-04-26 Robert Millan <rmh@aybabtu.com>
13798
329ce2a5 13799 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13800 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13801 and `disk/ieee1275/nand.c'.
f4b1fc02 13802
25f16ec1 138032008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13804
25f16ec1 13805 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13806 i386-linuxbios.
13807
13808 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13809 change the buffer size to 4096 for cdrom device.
13810
13811 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13812 and nand.mod.
13813 (_linux_mod_SOURCES): New variable.
13814 (_linux_mod_CFLAGS): Likewise.
13815 (_linux_mod_LDFLAGS): Likewise.
13816 (linux_mod_SOURCES): Likewise.
13817 (linux_mod_CFLAGS): Likewise.
13818 (linux_mod_LDFLAGS): Likewise.
13819 (nand_mod_SOURCES): Likewise.
13820 (nand_mod_CFLAGS): Likewise.
13821 (nand_mod_LDFLAGS): Likewise.
13822
13823 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13824 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13825 type property. (nand device in olpc don't have this property)
13826
13827 * include/grub/disk.h (grub_disk_dev_id): New macro
13828 GRUB_DISK_DEVICE_NAND_ID.
13829
13830 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13831 function prototype.
13832 (grub_rescue_cmd_initrd): Likewise.
13833
13834 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
13835 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
13836 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 13837
25f16ec1 13838 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
13839 GRUB_MACHINE_IEEE1275 is defined.
13840
13841 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
13842 Use NESTED_FUNC_ATTR attribute on the hook parameter.
13843
13844 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
13845 on nested function heap_init.
13846 (grub_upper_mem): New variable for i386-ieee1275.
13847 (grub_get_extended_memory): New function for i386-ieee1275.
13848 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
13849
13850 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
13851 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
13852 property.
f19dbdb7 13853
25f16ec1 13854 * loader/i386/ieee1275/linux.c: New file.
13855
13856 * loader/i386/ieee1275/linux_normal.c: New file.
13857
13858 * disk/ieee1275/nand.c: New file.
13859
e89d61e9 138602008-04-18 Thomas Schwinge <tschwinge@gnu.org>
13861
13862 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
13863 value.
13864 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
13865
602566f6 138662008-04-18 Robert Millan <rmh@aybabtu.com>
13867
13868 Restructures early code path on ieee1275 to unify grub_main() as
13869 the first C function that is executed in every platform.
13870
13871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
13872 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
13873 cmain().
13874 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
13875 * kern/ieee1275/cmain.c (cmain): Rename to ...
13876 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
13877 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
13878 at the beginning.
13879
57490c2b 138802008-04-18 Robert Millan <rmh@aybabtu.com>
13881
13882 * util/update-grub.in: Fix syntax error when setting
13883 `GRUB_PRELOAD_MODULES'.
13884 Reported by Stephane Chazelas <stephane@artesyncp.com>
13885
1977517d 138862008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
13887
13888 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
13889 section into account, newer toolchains generate unique build ids
13890 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 13891 we want build ids to be preserved
1977517d 13892 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
13893 far from other sections don't cause the raw binary images grow
13894 size
13895
bfb1f1a2 138962008-04-15 Robert Millan <rmh@aybabtu.com>
13897
13898 * disk/lvm.c: Update copyright year.
13899 * kern/misc.c: Likewise.
13900
01979850 139012008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13902
13903 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 13904 there is no memory left for physical volume name.
01979850 13905
0a1150e2 139062008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13907
13908 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
13909 volume name mapping to support bigger than 9 character names properly.
13910
82ead3fe 139112008-04-13 Robert Millan <rmh@aybabtu.com>
13912
13913 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
13914 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
13915
e54a72f5 139162008-04-13 Christian Franke <franke@computer.org>
13917
13918 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
13919 to create a floppy emulation boot CD when non emulation mode
13920 does not work.
13921 Enable Joliet CD filesystem extension.
13922
9fe86034 139232008-04-13 Robert Millan <rmh@aybabtu.com>
13924
13925 * kern/misc.c (grub_strncat): Fix off-by-one error.
13926 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
13927
13928 * kern/env.c (grub_env_context_close): Clear current context, not
13929 previous one.
13930 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
13931
13932 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
13933
7ceeee39 139342008-04-13 Robert Millan <rmh@aybabtu.com>
13935
13936 Improve robustness when handling LVM.
13937
13938 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 13939 (and leave `*p' unmodified).
7ceeee39 13940 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
13941 through it.
13942 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
13943 iterating through it.
13944 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
13945 through it.
fe6b695a 13946 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 13947 when due) on each grub_lvm_getvalue() or grub_strstr() call.
13948 Don't assume `vg->pvs != NULL' when iterating through it.
13949
58cd3d85 139502008-04-13 Robert Millan <rmh@aybabtu.com>
13951
13952 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
13953 * genmk.rb (partmap): New variable.
13954 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
13955 (#{partmap}): New target rule.
13956 * genpartmaplist.sh: New file.
13957 * Makefile.in (pkglib_DATA): Add partmap.lst.
13958 (partmap.lst): New target rule.
13959 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
13960 modules (including all partition maps), instead of preloading them.
13961
78b51059 139622007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
13963
13964 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
13965 `linux-boot-prober' (if installed) to detect other operating
13966 systems which are installed on the computer and add them to
13967 the boot menu.
13968 * conf/common.rmk: Build and install 30_os-prober.
13969
a91627b4 139702008-04-12 Robert Millan <rmh@aybabtu.com>
13971
13972 * kern/powerpc/ieee1275/init.c: Move from here ...
13973 * kern/ieee1275/init.c: ... to here. Update all users.
13974
13975 * kern/powerpc/ieee1275/cmain.c: Move from here ...
13976 * kern/ieee1275/cmain.c: ... to here. Update all users.
13977
13978 * kern/powerpc/ieee1275/openfw.c: Move from here ...
13979 * kern/ieee1275/openfw.c: ... to here. Update all users.
13980
13981 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
13982 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
13983
322562ea 139842008-04-10 Pavel Roskin <proski@gnu.org>
13985
13986 * configure.ac: Always use "_cv_" in cache variables for
13987 compatibility with Autoconf 2.62.
13988
a02a73c5 139892008-04-07 Robert Millan <rmh@aybabtu.com>
13990
13991 Revert grub/machine/init.h addition by Pavel (since it breaks on
13992 i386-ieee1275 and others):
13993 * util/i386/pc/misc.c: Remove grub/machine/init.h.
13994 * util/powerpc/ieee1275/misc.c: Likewise.
13995
25c024b1 139962008-04-07 Robert Millan <rmh@aybabtu.com>
13997
13998 * util/grub-probe.c (probe): Improve error message.
13999
3cbd2f98 140002008-04-07 Robert Millan <rmh@aybabtu.com>
14001
14002 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14003 (this prevents the presence of a bogus entry from ruining the whole
14004 thing).
14005
87a297bf 140062008-04-06 Pavel Roskin <proski@gnu.org>
14007
36747a62 14008 * util/biosdisk.c: Include grub/util/biosdisk.h.
14009 * util/grub-fstest.c (execute_command): Make static.
14010 * util/grub-mkdevicemap.c (check_device): Likewise.
14011 * util/i386/pc/misc.c: Include grub/machine/init.h.
14012 * util/powerpc/ieee1275/misc.c: Likewise.
14013 * util/lvm.c: Include grub/util/lvm.h.
14014 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14015 grub/cache.h.
14016 * util/raid.c: Include grub/util/raid.h.
14017 (grub_util_getdiskname): Make static.
14018
87a297bf 14019 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14020 grub_hostfs_fini(), as they are called from grub_init_all() and
14021 grub_fini_all() respectively. This fixes an infinite loop in
14022 grub-fstest due to double registration of hostfs.
14023 Reported by Christian Franke <Christian.Franke@t-online.de>
14024
f6ce7629 140252008-04-05 Pavel Roskin <proski@gnu.org>
14026
14027 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14028 all 8 functions. Otherwise, probe function 0 only.
14029
070e49e4 140302008-04-04 Pavel Roskin <proski@gnu.org>
14031
8b088a4c 14032 * commands/lspci.c (grub_lspci_iter): Print the bus number
14033 correctly.
14034
4f657021 14035 * commands/lspci.c (grub_pci_classes): Fix typos.
14036 (grub_lspci_iter): Don't print func twice. Print vendor ID
14037 before device ID, as it's normally done.
14038
070e49e4 14039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14040 Fix signedness warnings.
14041 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14042 Likewise.
14043 * util/ieee1275/get_disk_name.c: Include config.h so that
14044 _GNU_SOURCE is defined and getline() is declared. Mark an
14045 unused argument as such. Fix a signedness warning.
14046
ba7328dc 140472008-04-02 Pavel Roskin <proski@gnu.org>
14048
26887f22 14049 * genkernsyms.sh.in: Use more robust assignments for CC and
14050 srcdir. Quote srcdir.
14051 * gensymlist.sh.in: Likewise. Assert at the compile time that
14052 the symbol table is not empty.
14053
ba7328dc 14054 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14055 * fs/cpio.c (grub_cpio_read): Likewise.
14056
0f582c6b 140572008-04-01 Pavel Roskin <proski@gnu.org>
14058
4b6e1995 14059 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14060 * disk/host.c (grub_host_open): Likewise.
14061 * disk/loopback.c (grub_loopback_open): Likewise.
14062 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14063 disk->id as in disk/host.c, not a multi-character constant.
14064
828a2768 14065 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14066 later is obsolete, potentially dangerous and sets a bad example.
14067 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14068 * util/misc.c (grub_util_get_image_size): Likewise.
14069
2bb4fb47 14070 * disk/loopback.c (options): Improve help for "--partitions".
14071
0f582c6b 14072 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14073 options to align them with the short options, e.g. "echo -e".
14074
a33224e0 140752008-03-31 Bean <bean123ch@gmail.com>
14076
14077 * video/reader/png.c (grub_png_data): New member is_16bit and
14078 image_data.
14079 (grub_png_decode_image_header): Detect 16 bit png image.
14080 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14081 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14082 (grub_video_reader_png): Release memory occupied by image_data.
14083
14084 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14085 4096 bytes.
14086 (grub_nfs_mount): Skip the test for sector per cluster.
14087
14088 * include/grub/ntfs.h (MAX_SPC): Removed.
14089
86cb4f54 140902008-03-31 Bean <bean123ch@gmail.com>
14091
14092 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14093 (grub_probe_SOURCES): Add fs/afs.c.
14094 (grub_fstest_SOURCES): Likewise.
14095 (afs_mod_SOURCES): New variable.
14096 (afs_mod_CFLAGS): Likewise.
14097 (afs_mod_LDFLAGS): Likewise.
14098
14099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14100 (grub_emu_SOURCES): Likewise.
14101
14102 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14103
14104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14105
14106 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14107
14108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14109
14110 * fs/afs.c: New file.
14111
17c74c21 141122008-03-30 Pavel Roskin <proski@gnu.org>
14113
4cb68e89 14114 * disk/host.c: Include grub/misc.h to fix a warning.
14115 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14116 warnings about implicit declarations.
14117
8790bb04 14118 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14119 variable.
14120 * include/grub/i386/loader.h: Change declaration of
14121 grub_linux_boot() to match what grub_loader_set() expects.
14122 * util/getroot.c (grub_guess_root_device): Return const char* to
14123 fix a warning.
14124 * util/grub-probe.c (probe): Fix a warning about uninitialized
14125 abstraction_name variable.
14126 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14127 second argument as unused to fix a warning.
14128
9a3f3296 14129 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14130 missing grub_error() call.
14131
0ecef90d 14132 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14133 2.60 and newer uses it to define datadir.
14134
0bf6d401 14135 * commands/sleep.c: Fix warning about implicit declaration.
14136 * disk/memdisk.c: Likewise.
14137 * loader/aout.c: Likewise.
14138 * loader/i386/bsd_normal.c: Likewise.
14139 * util/grub-probe.c: Likewise.
14140
7cdacf97 14141 * commands/i386/cpuid.c (has_longmode): Make static.
14142 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14143 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14144
17c74c21 14145 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14146 GDT. This is more robust, as %ds can change.
14147 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14148 calling real_to_prot().
14149 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14150
80a3e68b 141512008-03-28 Pavel Roskin <proski@gnu.org>
14152
14153 * kern/i386/pc/startup.S: Assert that uncompressed functions
14154 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14155 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14156 code, as they push parts of the code (error handlers) beyond
14157 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14158 code as correctness and size.
14159
77bcd272 141602008-03-28 Pavel Roskin <proski@gnu.org>
14161
14162 * kern/i386/pc/startup.S
14163 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14164 data block address to the real mode, keep offset minimal. This
14165 works around a bug in AWARD BIOS on old Athlon systems, which
14166 makes CD detection hang.
14167
c5dfd43b 141682008-03-26 Pavel Roskin <proski@gnu.org>
14169
14170 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14171 const.
14172 * include/grub/normal.h: Add grub_parse_color_name_pair()
14173 declaration.
14174
bf962df2 141752008-03-24 Bean <bean123ch@gmail.com>
14176
14177 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14178 (cd_count): Removed.
14179 (cd_drive): New variable.
14180 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14181 (grub_biosdisk_call_hook): Likewise.
14182 (grub_biosdisk_iterate): Change cdrom detection method.
14183 (grub_biosdisk_open): Replace cd_start with cd_drive.
14184 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14185 detect cdrom device.
14186
14187 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14188 Removed.
14189 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14190 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14191 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14192 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14193 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14194 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14195 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14196 (grub_biosdisk_cdrp): New structure.
14197 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14198
14199 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14200
14201 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14202 device.
14203
14204 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14205 New function.
14206
68e7fc7a 142072008-03-20 Robert Millan <rmh@aybabtu.com>
14208
14209 Remove 2 TiB limit in ata.mod.
14210 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14211 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14212 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14213 grub_uint64_t instead of grub_uint32_t.
14214
38ad2cf5 142152008-03-05 Bean <bean123ch@gmail.com>
14216
14217 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14218 (grub_multiboot): Set boot device.
14219
14220 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14221
2b89344e 142222008-03-02 Bean <bean123ch@gmail.com>
14223
14224 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14225 symlink_buffer.
14226
87a95d1f 142272008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14228
14229 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14230 texinfo.tex.
14231
14232 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14233 modified.
14234
14235 * docs/fdl.texi: New file.
f19dbdb7 14236
87a95d1f 14237 * docs/mdate-sh: New file. Copied from gnulib.
14238 * docs/texinfo.tex: Likewise.
14239
14240 * config.guess: Updated from gnulib.
14241 * install-sh: Likewise.
14242
7dc15d8e 142432008-02-28 Robert Millan <rmh@aybabtu.com>
14244
14245 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14246 (aout_mod_SOURCES): New variable.
14247 (aout_mod_CFLAGS): Likewise.
14248 (aout_mod_LDFLAGS): Likewise.
14249
14250 * conf/i386-ieee1275.rmk: Likewise.
14251
b00ab696 142522008-02-28 Robert Millan <rmh@aybabtu.com>
14253
14254 * util/update-grub.in: Reorganise terminal validity check. Accept
14255 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14256 Based on suggestion by Franklin PIAT.
14257
79ca2d78 142582008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14259
14260 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14261 function.
14262 * util/getroot.c (grub_util_check_block_device): New function that
14263 returns the given argument if it is a block device and returns NULL else.
14264 * util/grub-probe.c (argument_is_device): New variable.
14265 (probe): Promote device_name from a variable to an argument. Receive
14266 device_name from grub_util_check_block_device() if path is NULL and from
14267 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14268 (options): Introduce new parameter '-d, --device'.
79ca2d78 14269 (main): Add description of the new parameter to the help screen.
14270 Rename path variable to argument. Set argument_is_device if the '-d'
14271 option is given. Pass argument to probe() depending on
14272 argument_is_device.
14273
0d16e571 142742008-02-24 Bean <bean123ch@gmail.com>
14275
14276 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14277 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14278 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14279 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14280 (GRUB_ISO9660_VOLDESC_END): Likewise.
14281 (grub_iso9660_primary_voldesc): New member escape.
14282 (grub_iso9660_data): New member joliet.
14283 (grub_iso9660_convert_string): New function.
14284 (grub_iso9660_mount): Detect joliet extension.
14285 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14286 (grub_iso9660_iso9660_label): Likewise.
14287
14288 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14289 (grub_setup_SOURCES): Add fs/udf.c.
14290 (grub_fstest_SOURCES): Likewise.
14291 (udf_mod_SOURCES): New variable.
14292 (udf_mod_CFLAGS): Likewise.
14293 (udf_mod_LDFLAGS): Likewise.
14294
14295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14296 (grub_emu_SOURCES): Likewise.
14297
14298 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14299
14300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14301
14302 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14303
14304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14305
14306 * fs/udf.c: New file.
14307
8a594a17 143082008-02-24 Robert Millan <rmh@aybabtu.com>
14309
14310 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14311 (normal/lexer.c_DEPENDENCIES): New variables.
14312 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14313 (normal/lexer.c_DEPENDENCIES): Likewise.
14314 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14315 (normal/lexer.c_DEPENDENCIES): Likewise.
14316 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14317 (normal/lexer.c_DEPENDENCIES): Likewise.
14318 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14319 (normal/lexer.c_DEPENDENCIES): Likewise.
14320 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14321 (normal/lexer.c_DEPENDENCIES): Likewise.
14322
2dc33c03 143232008-02-23 Robert Millan <rmh@aybabtu.com>
14324
14325 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14326 since they were intended to be in hex. This didn't break previously
14327 because of a bug in gpt_partition_map_iterate() (see below).
14328
14329 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14330 when checking the validity of GPT header.
14331 Remove `partno', since it always provides the same information as `i'.
14332
f6f4cfb0 143332008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14334
14335 * include/grub/efi/time.h: Fix a wrong comment.
14336
79ff665f 143372008-02-19 Pavel Roskin <proski@gnu.org>
14338
14339 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14340 message.
14341
d38e24c2 143422008-02-19 Bean <bean123ch@gmail.com>
14343
14344 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14345 (aout_mod_SOURCES): New variable.
14346 (aout_mod_CFLAGS): Likewise.
14347 (aout_mod_LDFLAGS): Likewise.
14348 (_bsd_mod_SOURCES): New variable.
14349 (_bsd_mod_CFLAGS): Likewise.
14350 (_bsd_mod_LDFLAGS): Likewise.
14351 (bsd_mod_SOURCES): New variable.
14352 (bsd_mod_CFLAGS): Likewise.
14353 (bsd_mod_LDFLAGS): Likewise.
14354
14355 * include/grub/aout.h: New file.
14356
14357 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14358
14359 * include/grub/i386/bsd.h: New file.
14360
14361 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14362 to make it public.
14363
14364 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14365 function is called, so that it's possible to change it inside the hook.
14366 (grub_elf64_load): Likewise.
14367 (grub_elf_file): Don't close the file if elf header is not found.
14368 (grub_elf_close): Close the file if grub_elf_file fails (The new
14369 grub_elf_file won't close it).
14370 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14371 (grub_elf64_size): Likewise.
14372
14373 * kern/i386/loader.S (grub_unix_real_boot): New function.
14374
14375 * loader/aout.c: New file.
14376
14377 * loader/i386/bsd.c: New file.
14378
14379 * loader/i386/bsd_normal.c: New file.
14380
14381 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
14382
14383 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 14384 can test other formats.
d38e24c2 14385
b93bdb0f 143862008-02-19 Robert Millan <rmh@aybabtu.com>
14387
14388 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
14389 (grub_gpt_partition_type_empty): Redefine with macro from
14390 `<grub/gpt_partition.h>'.
14391 (gpt_partition_map_iterate): Adjust partition type comparison.
14392
14393 Export `entry' as partmap-specific `part.data' struct.
14394 (grub_gpt_header, grub_gpt_partentry): Move from here ...
14395
14396 * include/grub/gpt_partition.h (grub_gpt_header)
14397 (grub_gpt_partentry): ... to here (new file).
14398
14399 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
14400
14401 (grub_gpt_partition_type_bios_boot): New const variable, defined
14402 with macro from `<grub/gpt_partition.h>'.
14403
14404 (setup): Replace `first_start' with `embed_region', which keeps
14405 track of the embed region (and is partmap-agnostic).
14406
14407 Replace find_first_partition_start() with find_usable_region(),
14408 which finds a usable region for embedding using partmap-specific
14409 knowledge (supports PC/MSDOS and GPT).
14410
14411 Fix all assumptions that the embed region start at sector 1, using
14412 `embed_region.start' from now on. Similarly, use `embed_region.end'
14413 rather than `first_start' to calculate available size.
14414
14415 In grub_util_info() message, replace "into after the MBR" with an
14416 indication of the specific sector our embed region starts at.
14417
66cb40f6 144182008-02-19 Robert Millan <rmh@aybabtu.com>
14419
14420 * DISTLIST: Replace `commands/ieee1275/halt.c' and
14421 `commands/ieee1275/reboot.c' with `commands/halt.c' and
14422 `commands/reboot.c'.
14423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14424 (halt_mod_SOURCES): Likewise.
14425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14426 (halt_mod_SOURCES): Likewise.
14427
b7202015 144282008-02-17 Christian Franke <franke@computer.org>
14429
14430 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
14431
32b0fc49 144322008-02-17 Robert Millan <rmh@aybabtu.com>
14433
14434 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14435 set `first_start' to 0 for non-PC/MSDOS partition maps.
14436
aca63502 144372008-02-16 Robert Millan <rmh@aybabtu.com>
14438
14439 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14440 do not assume partition map is PC/MSDOS before performing checks that
14441 are specific to that layout.
14442
0de8be86 144432008-02-13 Robert Millan <rmh@aybabtu.com>
14444
14445 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
14446 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
14447 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
14448
c3db8364 144492008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
14450
14451 * configure.ac: Only a cosmetic change on the handling of
14452 -fno-stack-protector.
14453
f714229e 144542008-02-12 Alexandre Boeglin <alex@boeglin.org>
14455
c3db8364 14456 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
14457 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
14458 reboot.c.
f714229e 14459 (grub_install_SOURCES): Add halt.mod and reboot.mod.
14460 (halt_mod_SOURCES): New variable.
14461 (halt_mod_CFLAGS): Likewise.
14462 (halt_mod_LDFLAGS): Likewise.
14463 (reboot_mod_SOURCES): Likewise.
14464 (reboot_mod_CFLAGS): Likewise.
14465 (reboot_mod_LDFLAGS): Likewise.
14466
c3db8364 14467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
14468 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
14469 reboot.c.
f714229e 14470 (halt_mod_SOURCES): Likewise.
14471 (reboot_mod_SOURCES): Likewise.
14472
c3db8364 14473 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
14474 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 14475 (reboot_mod_SOURCES): Likewise.
14476
14477 * commands/i386/pc/reboot.c: merge this file ...
14478
14479 * commands/ieee1275/reboot.c: ... and this file ...
14480
14481 * commands/reboot.c: ... to this file.
c3db8364 14482 Add some precompiler directive to include the correct header for
14483 each machine.
f714229e 14484
14485 * commands/ieee1275/halt.c: move this file ...
14486
14487 * commands/halt.c: ... to here.
c3db8364 14488 Add some precompiler directive to include the correct header for
14489 each machine.
f714229e 14490
14491 * include/grub/efi/efi.h (grub_reboot): New function declaration.
14492 (grub_halt): Likewise.
14493
14494 * kern/efi/efi.c (grub_reboot): New function.
14495 (grub_halt): Likewise.
14496
c74493e0 144972008-02-12 Robert Millan <rmh@aybabtu.com>
14498
14499 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
14500 /dev (like it is done for /dev/mapper). This doesn't provide support
14501 for EVMS, but at least it is now easy to identify the problem when it
14502 arises.
14503
d0db4b04 145042008-02-11 Robert Millan <rmh@aybabtu.com>
14505
14506 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
14507 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
14508 comparing it with -1, not 0.
14509
bf748642 145102008-02-10 Robert Millan <rmh@aybabtu.com>
14511
14512 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
14513 `disk/lvm.c'.
14514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14515 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14516
14517 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
14518 `disk/lvm.c' to the end of the list.
14519 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14520 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14521
b5db202a 145222008-02-10 Robert Millan <rmh@aybabtu.com>
14523
14524 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
14525 grub_print_error() instead. This will let user know why we're entering
14526 rescue mode.
14527 Based on suggestions from Sam Morris.
14528
83abee31 145292008-02-10 Alexandre Boeglin <alex@boeglin.org>
14530
14531 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
14532 on remaining N args, instead of "--" arg N times.
14533
78d5a08b 145342008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
14535
14536 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
14537 (fill_with_default_glyph): Changed to use unknown_glyph for fill
14538 pattern for unknown glyphs.
14539
68807e5f 145402008-02-09 Robert Millan <rmh@aybabtu.com>
14541
14542 * configure.ac: Probe for `help2man'.
14543 * Makefile.in (builddir): New variable.
14544 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
14545 or otherwise add a few flags/options to it.
14546 (install-local): For every executable utility or script that is
14547 installed, invoke $(HELP2MAN) to install a manpage based on --help
14548 output.
14549
14550 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
14551 that it doesn't prevent --help from working in build tree.
14552
14553 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
14554 with `bug-grub@gnu.org'.
14555 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
14556 * util/update-grub.in (usage): New function.
14557 Implement proper argument check, with support for --help and --version
14558 (as well as existing -y).
14559
145602008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 14561
14562 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
14563 avoid overwriting previous output.
14564 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
14565
c1962162 145662008-02-09 Robert Millan <rmh@aybabtu.com>
14567
14568 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
14569 drawing the menu.
14570
3dac2e3f 145712008-02-09 Robert Millan <rmh@aybabtu.com>
14572
14573 * commands/sleep.c: New file.
14574 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
14575 (sleep_mod_SOURCES): New variable.
14576 (sleep_mod_CFLAGS): Likewise.
14577 (sleep_mod_LDFLAGS): Likewise.
14578
7a634e08 145792008-02-09 Robert Millan <rmh@aybabtu.com>
14580
14581 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
14582 situations in which we can deduce the RAID size and the superblock
14583 doesn't match it.
14584
b92f0c18 145852008-02-09 Robert Millan <rmh@aybabtu.com>
14586
14587 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
14588 and return a grub_diskmemberlist_t composed of LVM physical volumes.
14589 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
14590
14591 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
14592 and return a grub_diskmemberlist_t composed of physical array members.
14593 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
14594
14595 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
14596 prototype.
14597 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
14598 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
14599 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
14600
14601 * util/grub-probe.c (probe): Move partmap probing code from here ...
14602 (probe_partmap): ... to here.
14603 (probe): Use probe_partmap() once for the disk we're probing, and
14604 additionally, when such disk contains a memberlist() struct member,
14605 once for each disk that is contained in the structure returned by
14606 memberlist().
14607
91a4bf68 146082008-02-09 Robert Millan <rmh@aybabtu.com>
14609
14610 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
14611 environment variable to 'all' in order to obtain debug output from
14612 non-util/ code.
14613 * util/i386/pc/grub-setup.c (main): Likewise.
14614
a96f9caa 146152008-02-08 Robert Millan <rmh@aybabtu.com>
14616
14617 * disk/raid.c (grub_raid_scan_device): Check for
14618 `array->device[sb.this_disk.number]' rather than for
14619 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 14620 guaranteed to be accessible.
a96f9caa 14621
b37a9222 146222008-02-08 Robert Millan <rmh@aybabtu.com>
14623
14624 * disk/raid.c: Update copyright.
14625 * fs/cpio.c: Likewise.
14626 * include/grub/raid.h: Likewise.
14627 * loader/i386/pc/multiboot.c: Likewise.
14628 * util/hostfs.c: Likewise.
14629
5626aee1 146302008-02-08 Robert Millan <rmh@aybabtu.com>
14631
14632 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
14633 to a grub_disk_t array.
14634 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
14635 `device[x]'.
14636 (grub_raid_scan_device): Replace `device[x].name' accesses with
14637 `device[x]->name'. Simplify initialization of `array->device[x]'.
14638
554f0187 146392008-02-08 Robert Millan <rmh@aybabtu.com>
14640
14641 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
14642 grub_dprintf() calls.
14643 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
14644 error message.
14645
1ec8425d 146462008-02-07 Christian Franke <franke@computer.org>
14647
14648 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
14649 instead of fseek and ftell to support large files.
14650 (grub_hostfs_read): Likewise.
14651
f2156fda 146522008-02-07 Robert Millan <rmh@aybabtu.com>
14653
14654 Patch from Jeroen Dekkers.
14655 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 14656 failure, since successfully reading all array members might not be
f2156fda 14657 required.
14658
9216e0e7 146592008-02-06 Robert Millan <rmh@aybabtu.com>
14660
14661 * util/grub-probe.c (probe): Simplify partmap probing (with the
14662 assumption that the first word up to the underscore equals to
14663 the module name).
14664
b0dfd29a 146652008-02-06 Christian Franke <franke@computer.org>
14666
14667 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
14668 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
14669 last block of a cpio or tar stream.
14670 Check for "TRAILER!!!" instead of any empty data
14671 block to detect last block of a cpio stream.
14672 (grub_cpio_dir): Fix constness of variable np.
14673 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
14674 cpio or tar trailer is detected. This fixes a crash
14675 on open of a non existing file.
14676
c32865bf 146772008-02-05 Bean <bean123ch@gmail.com>
14678
14679 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
14680 address of entry.
14681 (grub_multiboot_load_elf64): Likewise.
14682 (grub_multiboot): Initialize mbi structure.
14683
14684 * util/grub-fstest.c: Don't include unused header file script.h.
14685
fe6b695a 14686 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 14687 of file.
14688 (grub_fstest_SOURCES): Likewise.
14689
409480b7 146902008-02-05 Robert Millan <rmh@aybabtu.com>
14691
14692 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
14693 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
14694 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
14695 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
14696
14697 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
14698 (translation_table): Replace hardcoded values with macros
14699 provided by `<grub/term.h>'.
14700
14701 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
14702 (keyboard_map): Correct/add a few values, with macros provided
14703 by `<grub/term.h>'.
14704 (keyboard_map_shift): Zero values that don't differ from their
14705 `keyboard_map' equivalents.
14706 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
14707 Discard the second scan code that is always sent by Caps lock.
14708 Only use `keyboard_map_shift' when it provides a non-zero value,
14709 otherwise fallback to `keyboard_map'.
14710
99fadbaa 147112008-02-04 Bean <bean123ch@gmail.com>
14712
14713 * Makefile.in (enable_grub_fstest): New variable.
14714
14715 * conf/common.rmk (grub_fstest_init.lst): New rule.
14716 (grub_fstest_init.h): Likewise.
14717 (grub_fstest_init.c): Likewise.
14718 (util/grub-fstest.c_DEPENDENCIES): New variable.
14719 (grub_fstest_SOURCES): Likewise.
14720
14721 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
14722
14723 * util/grub-fstest.c: New file.
14724
bf567c50 147252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14726
14727 Make grub-setup handle a separate root device.
f19dbdb7 14728
bf567c50 14729 * util/i386/pc/grub-setup.c (setup): Always open the root device,
14730 so that the root device can be compared with the destination
14731 device.
14732 When embedding the core image, if the root and destination devices
14733 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
14734 0xFF.
14735 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 14736
9be6b98b 147372008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14738
14739 Add support for having a grub directory in a different drive. This
14740 is still only the data handling part.
f19dbdb7 14741
9be6b98b 14742 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
14743 (codestart): Save %dh in GRUB_ROOT_DRIVE.
14744 (grub_root_drive): New variable.
14745
14746 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
14747 instead of GRUB_BOOT_DRIVE to construct a device name. Set
14748 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14749 as it was.
14750
14751 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14752
14753 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14754 macro.
14755 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14756
14757 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14758 is bogus, because PXE booting does not specify any drive
14759 correctly.
14760
14761 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14762 am not sure if this is really correct.
14763
14764 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14765 is always identical to the boot drive when booting from a CD.
14766
14767 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14768 longer.
14769 (root_drive): New variable.
14770 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14771 (setup_sectors): Push %dx right after popping it, because %dh will
14772 be modified later.
14773 (copy_buffer): Restore %dx.
14774
e0ca0677 147752008-02-03 Robert Millan <rmh@aybabtu.com>
14776
14777 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14778 use `cdboot.img' for cdrom images.
14779
3b3f6629 147802008-02-03 Robert Millan <rmh@aybabtu.com>
14781
14782 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14783 only setup gfxterm when `font' command has succeeded.
14784
d42b3672 147852008-02-03 Robert Millan <rmh@aybabtu.com>
14786
14787 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14788 (grub_rescue_cmd_multiboot_loader)
14789 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14790
fa370ea6 147912008-02-03 Pavel Roskin <proski@gnu.org>
14792
e0c5dacb 14793 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14794 %edx and %esi from stack only after grub_gate_a20() is called.
14795 grub_gate_a20() clobbers %edx.
14796
f2a76e1d 147972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14798
14799 * configure.ac (AC_INIT): Bumped to 1.96.
14800
14801 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14802 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14803 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14804 video/readers/png.c.
14805
90fd32d1 148062008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14807
14808 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14809 (cdboot_img_SOURCES): New variable.
14810 (cdboot_img_ASFLAGS): New variable.
14811 (cdboot_img_LDFLAGS): New variable.
14812
14813 * boot/i386/pc/cdboot.S: New file.
14814
14815 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14816 (cd_count): Likewise.
14817 (grub_biosdisk_get_drive): Add support for cd device.
14818 (grub_biosdisk_call_hook): Likewise.
14819 (grub_biosdisk_iterate): Likewise.
14820 (grub_biosdisk_open): Likewise.
14821 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14822 (grub_biosdisk_rw): Support reading from cd device.
14823 (GRUB_MOD_INIT): Iterate cd devices.
14824
14825 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14826 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14827 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14828
14829 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14830
4020aa53 148312008-02-02 Robert Millan <rmh@aybabtu.com>
14832
14833 * commands/read.c: New file.
14834 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
14835 (read_mod_SOURCES): New variable.
14836 (read_mod_CFLAGS): Likewise.
14837 (read_mod_LDFLAGS): Likewise.
14838
e03a1132 148392008-02-02 Robert Millan <rmh@aybabtu.com>
14840
14841 * normal/main.c (grub_normal_execute): Check for `menu->size' when
14842 determining whether menu has to be displayed.
14843
58c69220 148442008-02-02 Marco Gerards <marco@gnu.org>
14845
14846 * bus/pci.c: New file.
14847
14848 * include/grub/pci.h: Likewise.
14849
14850 * include/grub/i386/pc/pci.h: Likewise.
14851
14852 * commands/lspci.c: Likewise.
14853
14854 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
14855 `lspci.mod'.
14856 (pci_mod_SOURCES): New variable.
14857 (pci_mod_CFLAGS): Likewise.
14858 (pci_mod_LDFLAGS): Likewise.
14859 (lspci_mod_SOURCES): Likewise.
14860 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 14861 (lspci_mod_LDFLAGS): Likewise.
58c69220 14862
c004e1b4 148632008-02-02 Bean <bean123ch@gmail.com>
14864
14865 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
14866 (grub_ufs_get_file_block): Fix indirect block calculation problem.
14867
14868 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
14869 (grub_xfs_btree_node): New structure.
14870 (grub_xfs_btree_root): New structure.
14871 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
14872 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
14873 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14874 (GRUB_XFS_EXTENT_SIZE): Likewise.
14875 (grub_xfs_read_block): Support btree format type.
14876 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
14877 Use directory block as basic unit.
14878
14879 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
14880
14881 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
14882 __attribute__ ((__regparm__ (1))).
14883
f95562bf 148842008-02-01 Robert Millan <rmh@aybabtu.com>
14885
14886 Correct a mistake in previous commit.
14887
14888 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
14889 top.
14890 (normal/command.c_DEPENDENCIES): New variable.
14891
7d31f41f 148922008-02-01 Robert Millan <rmh@aybabtu.com>
14893
14894 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
14895 top.
14896 (normal/command.c_DEPENDENCIES): New variable.
14897 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
14898 * conf/i386-ieee1275.rmk: Likewise.
14899 * conf/i386-linuxbios.rmk: Likewise.
14900 * conf/i386-pc.rmk: Likewise.
14901 * conf/sparc64-ieee1275.rmk: Likewise.
14902 * conf/powerpc-ieee1275.rmk: Likewise.
14903 (grub_emu_SOURCES): Add `fs/fshelp.c'.
14904
14905 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
14906
60b6be74 149072008-02-01 Robert Millan <rmh@aybabtu.com>
14908
14909 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
14910 call at beginning of function.
14911
078522ab 149122008-01-31 Pavel Roskin <proski@gnu.org>
14913
14914 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 14915 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
14916 (grub_mkrescue_SOURCES): Likewise.
078522ab 14917 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
14918
ccaa8a5f 149192008-01-30 Robert Millan <rmh@aybabtu.com>
14920
14921 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
14922 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
14923 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
14924 (grub_probe_SOURCES): ... to here.
14925
14926 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
14927 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
14928 * conf/i386-ieee1275.rmk: Likewise.
14929 * conf/i386-linuxbios.rmk: Likewise.
14930 * conf/powerpc-ieee1275.rmk: Likewise.
14931
ae5a9cd7 149322008-01-30 Tristan Gingold <gingold@free.fr>
14933
14934 * kern/rescue.c: Silently accept empty lines.
14935
70bc2ef2 149362008-01-29 Bean <bean123ch@gmail.com>
14937
14938 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
14939 (real_code_2): Code cleanup and change comment style.
14940 (move_memory): Avoid using 32-bit address mode.
14941
6a4d50ea 149422008-01-29 Bean <bean123ch@gmail.com>
14943
14944 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
14945 (png_mod_SOURCES): New variable.
14946 (png_mod_CFLAGS): Likewise.
14947 (png_mod_LDFLAGS): Likewise.
14948
14949 * video/readers/png.c: New file.
14950
11cc30ac 149512008-01-28 Robert Millan <rmh@aybabtu.com>
14952
14953 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
14954 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
14955 `ifndef GRUB_MOD_GAP' hack.
14956 * util/elf/grub-mkimage.c (add_segments): Likewise.
14957
3abc589f 149582008-01-27 Robert Millan <rmh@aybabtu.com>
14959
14960 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
14961 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 14962 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 14963
e1907778 149642008-01-27 Robert Millan <rmh@aybabtu.com>
14965
14966 Get grub-emu to build again (including parallel builds).
14967
14968 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
14969 Split into ...
14970 (util/grub-emu.c_DEPENDENCIES): ... this, ...
14971 (normal/execute.c_DEPENDENCIES): ... this, ...
14972 (grub-emu_DEPENDENCIES): ... and this.
14973
14974 * conf/i386-efi.rmk: Likewise.
14975 * conf/i386-linuxbios.rmk: Likewise.
14976 * conf/i386-ieee1275.rmk: Likewise.
14977 * conf/powerpc-ieee1275.rmk: Likewise.
14978 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
14979
2216b101 149802008-01-27 Robert Millan <rmh@aybabtu.com>
14981
14982 * NEWS: Add a few items.
14983
f75172d9 149842008-01-27 Robert Millan <rmh@aybabtu.com>
14985
14986 Fix parallel builds with grub-emu. Based on earlier commit for
14987 grub-probe and grub-setup.
14988
14989 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14990 (util/grub-emu.c_DEPENDENCIES): ... this.
14991 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14992 (util/grub-emu.c_DEPENDENCIES): ... this.
14993 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14994 (util/grub-emu.c_DEPENDENCIES): ... this.
14995 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14996 (util/grub-emu.c_DEPENDENCIES): ... this.
14997 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14998 (util/grub-emu.c_DEPENDENCIES): ... this.
14999
3f51de77 150002008-01-27 Pavel Roskin <proski@gnu.org>
15001
15002 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15003 to create a gap between _end and the modules added to the image
15004 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15005 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15006 * util/elf/grub-mkimage.c (add_segments): Likewise.
15007
2033f53e 150082008-01-26 Pavel Roskin <proski@gnu.org>
15009
15010 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15011 just return an error.
15012
22da1f6f 150132008-01-26 Bean <bean123ch@gmail.com>
15014
15015 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15016 (grub_reiserfs_get_item): Save offset of the next item.
15017 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15018
2a9525e6 150192008-01-25 Robert Millan <rmh@aybabtu.com>
15020
15021 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15022 make all filesystem sources appear together (possibly fixing omissions
15023 while at it).
15024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15026 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15028
15029 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15030 add `kern/file.c'.
15031 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15032 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15033 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15034 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15035
15036 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15037 (probe): Add a sanity check to make sure of our ability to read
15038 requested files when probing for filesystem type.
15039
15040 * genmk.rb: Update copyright year (2007).
15041
15042 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15043 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15044 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15045 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15046 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15047 : Remove function prototypes.
15048
b95f71b5 150492008-01-25 Robert Millan <rmh@aybabtu.com>
15050
15051 Revert my previous commits (based on wrong assumption of how grub_errno
15052 works).
15053
fe6b695a 15054 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15055 * kern/file.c (grub_file_open): Likewise.
15056
d08bbb49 150572008-01-24 Pavel Roskin <proski@gnu.org>
15058
15059 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15060 that hang if GRUB tries to setup colors.
15061 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15062 colors for firmwares that don't support it.
15063 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15064 Recognize Open Hack'Ware, set flags to work around its
15065 limitations.
15066
605e36ed 150672008-01-24 Robert Millan <rmh@aybabtu.com>
15068
15069 * kern/file.c (grub_file_open): Do not account previous failures of
15070 unrelated functions when grub_errno is checked for.
15071 Reported by Oleg Strikov.
15072
bac332a1 150732008-01-24 Bean <bean123ch@gmail.com>
15074
15075 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15076 (grub_ufs_sblock): New member volume name.
15077 (grub_ufs_find_file): Fix string copy bug.
15078 (grub_ufs_label): Implement this function properly.
15079
15080 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15081 (grub_hfs_iterate_records): Use the correct file number for extents
15082 and catalog file. Fix problem in next index calculation.
15083 (grub_hfs_find_node): Replace recursive function call with loop.
15084 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15085
15c80c09 150862008-01-23 Robert Millan <rmh@aybabtu.com>
15087
15088 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15089 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15090 (grub_multiboot2_real_boot): New function prototype.
15091
15092 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15093 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15094
15095 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15096 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15097
305338fd 150982008-01-23 Robert Millan <rmh@aybabtu.com>
15099
15100 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15101 #ifdef'ed out grub_printf().
15102
3ea52685 151032008-01-23 Robert Millan <rmh@aybabtu.com>
15104
15105 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15106 grub_dprintf calls, since they make "debug=all" mode unusable.
15107 (grub_console_checkkey): Likewise.
15108
5882ae4b 151092008-01-23 Robert Millan <rmh@aybabtu.com>
15110
15111 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15112 `term/i386/pc/at_keyboard.c'.
15113 (pkglib_MODULES): Add `serial.mod'.
15114 (serial_mod_SOURCES): New variable.
15115 (serial_mod_CFLAGS): Likewise.
15116 (serial_mod_LDFLAGS): Likewise.
15117
15118 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15119 `<grub/powerpc/ieee1275/console.h>'.
15120 (grub_keyboard_controller_init): New function prototype.
15121 (grub_console_checkkey): Likewise.
15122 (grub_console_getkey): Likewise.
15123
15124 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15125 keyboard on i386.
15126
15127 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15128 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15129
06ab5303 151302008-01-23 Robert Millan <rmh@aybabtu.com>
15131
15132 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15133 present, "(memdisk)/boot/grub" becomes the default prefix.
15134
15135 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15136 a memdisk tarball with all the modules. Add --overlay=DIR option that
15137 allows users to overlay additional files into the image.
15138
dbb475a4 151392008-01-23 Robert Millan <rmh@aybabtu.com>
15140
15141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15142 and `machine/memory.h'.
15143 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15144 (_multiboot_mod_SOURCES): New variable.
15145 (_multiboot_mod_CFLAGS): Likewise.
15146 (_multiboot_mod_LDFLAGS): Likewise.
15147 (multiboot_mod_SOURCES): Likewise.
15148 (multiboot_mod_CFLAGS): Likewise.
15149 (multiboot_mod_LDFLAGS): Likewise.
15150
15151 * include/grub/i386/ieee1275/loader.h: New file.
15152
15153 * include/grub/i386/ieee1275/machine.h: Likewise.
15154
15155 * include/grub/i386/ieee1275/memory.h: Likewise.
15156
15157 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15158 variable declaration.
15159 (grub_os_area_size): Likewise.
15160
15161 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15162 (grub_lower_mem, grub_upper_mem): New variables.
15163 (grub_stop_floppy): New function (just to make
15164 grub_multiboot2_real_boot() happy).
15165
15166 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15167 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15168 (grub_stop): New function.
15169 Include `"../realmode.S"' and `"../loader.S"'.
15170
15171 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15172 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15173
15174 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15175 rely on grub_multiboot2_real_boot() for final boot.
15176
25638629 151772008-01-22 Robert Millan <rmh@aybabtu.com>
15178
15179 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15180 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15181 device that doesn't look like an SD card.
15182 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15183 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15184 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15185 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15186 found.
15187
9dad816d 151882008-01-22 Robert Millan <rmh@aybabtu.com>
15189
15190 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15191 avoid claiming over our own code.
15192
34842f2d 151932008-01-22 Bean <bean123ch@gmail.com>
15194
15195 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15196 (jpeg_mod_SOURCES): New variable.
15197 (jpeg_mod_CFLAGS): Likewise.
15198 (jpeg_mod_LDFLAGS): Likewise.
15199
15200 * video/readers/jpeg.c : New file.
15201
44023a28 152022008-01-22 Bean <bean123ch@gmail.com>
15203
15204 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15205 there are no more items.
15206
bc2d8ac6 152072008-01-21 Robert Millan <rmh@aybabtu.com>
15208
15209 * kern/mm.c (grub_mm_init_region): Improve debug message.
15210
261bd4bc 152112008-01-21 Robert Millan <rmh@aybabtu.com>
15212
15213 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15214 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15215 address.
15216 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15217 a C macro.
15218 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15219 Indicates start of upper memory.
15220 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15221 (generate_image): Abort when image size is big enough to corrupt
15222 upper memory.
15223
15224 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15225 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15226 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15227 instead of hardcoding 0xA0000.
15228 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15229 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15230 instead of hardcoding 0xA0000.
15231
f970b55e 152322008-01-21 Robert Millan <rmh@aybabtu.com>
15233
15234 * disk/memdisk.c (memdisk_size): New variable.
15235 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15236 `memdisk_size'.
15237 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15238 image to dynamic memory.
15239 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15240 `memdisk_size'. Free memdisk block.
15241
1a8b0526 152422008-01-21 Robert Millan <rmh@aybabtu.com>
15243
15244 Fix detection of very small filesystems (like tar).
15245
15246 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15247 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15248 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15249 a problem with this disk).
15250
6e9b4aab 152512008-01-21 Robert Millan <rmh@aybabtu.com>
15252
15253 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15254 on grub_biosdisk_rw_standard() error.
15255
0d8837b2 152562008-01-21 Robert Millan <rmh@aybabtu.com>
15257
15258 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15259 recent changes.
15260 * kern/elf.c: Likewise.
15261 * kern/ieee1275/ieee1275.c: Likewise.
15262 * kern/powerpc/ieee1275/openfw.c: Likewise.
15263 * term/ieee1275/ofconsole.c: Likewise.
15264
ffd36e34 152652008-01-21 Robert Millan <rmh@aybabtu.com>
15266
15267 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15268
3f0093d0 15269 * include/grub/kernel.h (grub_arch_memdisk_addr)
15270 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15271
3f0093d0 15272 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15273 (grub_arch_memdisk_size): ... to here.
ffd36e34 15274
6c391b21 152752008-01-21 Robert Millan <rmh@aybabtu.com>
15276
15277 Mostly based on bugfix from Bean.
15278
15279 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15280 attribute with hook() parameter.
15281 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15282 declaration.
15283 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15284 attribute with hook() parameter.
15285 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15286 declaration.
15287
55a581dc 152882008-01-21 Robert Millan <rmh@aybabtu.com>
15289
15290 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15291 (pkglib_MODULES): Add `memdisk.mod'.
15292 (memdisk_mod_SOURCES): New variable.
15293 (memdisk_mod_CFLAGS): Likewise.
15294 (memdisk_mod_LDFLAGS): Likewise.
15295
15296 * disk/memdisk.c: New file.
15297
15298 * include/grub/disk.h (grub_disk_dev_id): Add
15299 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15300
15301 * include/grub/i386/pc/kernel.h
15302 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15303 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15304 (grub_kernel_image_size): New variable declaration.
15305 (grub_total_module_size): Likewise.
15306 (grub_memdisk_image_size): Likewise.
15307
15308 * include/grub/i386/pc/memory.h
15309 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15310
15311 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15312 (grub_arch_memdisk_addr): New variable declaration.
15313 (grub_arch_memdisk_size): Likewise.
15314
15315 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15316 (grub_arch_memdisk_size): Likewise.
15317
15318 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15319 (codestart): Replace hardcoded `0x100000' with
15320 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15321
15322 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15323 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15324 not NULL, append the contents of the file it refers to, at the end of
15325 the compressed kernel image. Initialize `grub_memdisk_image_size'
15326 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15327 (options): Add "memdisk"|'m' option.
15328 (main): Parse --memdisk|-m option, and pass user-provided path as
15329 parameter to generate_image().
15330
3d7f54c9 153312008-01-20 Robert Millan <rmh@aybabtu.com>
15332
15333 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15334 grub_dprintf() calls from here ...
15335 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15336
0bf74728 153372008-01-20 Robert Millan <rmh@aybabtu.com>
15338
15339 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15340
15341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15342 declaration.
15343 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15344 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15345 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15346 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15347 property).
15348 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15349 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15350
33bf70a7 153512008-01-19 Robert Millan <rmh@aybabtu.com>
15352
fe6b695a 15353 Get rid of confusing function (superseded by
33bf70a7 15354 `grub_ieee1275_get_integer_property')
15355 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15356 prototype.
15357 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15358 function.
15359 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15360 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15361 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15362
e2da7d26 153632008-01-19 Robert Millan <rmh@aybabtu.com>
15364
15365 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15366 command after "shut-down", since implementations differ on which
15367 the command for halt is.
15368
59f1fd8d 153692008-01-19 Robert Millan <rmh@aybabtu.com>
15370
15371 * include/grub/i386/linuxbios/console.h: Add header protection.
15372 (grub_keyboard_controller_init): New function prototype.
15373 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
15374 (KEYBOARD_COMMAND_READ): Likewise.
15375 (KEYBOARD_COMMAND_WRITE): Likewise.
15376 (KEYBOARD_SCANCODE_SET1): Likewise.
15377 (grub_keyboard_controller_write): New function.
15378 (grub_keyboard_controller_read): Likewise.
15379 (grub_keyboard_controller_init): Likewise.
15380
15381 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
15382 (grub_console_init): On coreboot/LinuxBIOS, call
15383 grub_keyboard_controller_init().
15384
5f5a7c15 153852008-01-19 Robert Millan <rmh@aybabtu.com>
15386
15387 PowerPC changes provided by Pavel Roskin.
15388
15389 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
15390 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
15391 don't rely on cmain() doing it.
15392 * kern/i386/ieee1275/startup.S (_start): Store %eax in
15393 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
15394
1210e168 153952008-01-16 Robert Millan <rmh@aybabtu.com>
15396
15397 * include/grub/i386/linuxbios/memory.h
15398 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
15399 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
15400 receive `table_header' as argument. Instead, probe for it in the
15401 known memory ranges where it can be present.
15402 (grub_available_iterate): Do not pass a fixed `table_header' address
15403 to grub_linuxbios_table_iterate().
15404
3d04eab8 154052008-01-15 Robert Millan <rmh@aybabtu.com>
15406
15407 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
15408 * conf/i386-ieee1275.rmk: New file.
15409 * include/grub/i386/ieee1275/console.h: Likewise.
15410 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
15411 * include/grub/i386/ieee1275/kernel.h: Likewise.
15412 * include/grub/i386/ieee1275/time.h: Likewise.
15413 * kern/i386/ieee1275/init.c: Likewise.
15414 * kern/i386/ieee1275/startup.S: Likewise.
15415
d1bc1b73 154162008-01-15 Robert Millan <rmh@aybabtu.com>
15417
15418 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
15419 when pointers are 32-bit (but still do set it to one when they are
15420 64-bit).
15421
66a65807 154222008-01-15 Robert Millan <rmh@aybabtu.com>
15423
15424 * include/grub/ieee1275/ieee1275.h
15425 (grub_ieee1275_get_integer_property): New function prototype.
15426
15427 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
15428 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 15429 grub_ieee1275_get_property() to handle endianness.
66a65807 15430
15431 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
15432 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 15433 where appropriate.
66a65807 15434 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
15435 (grub_map): Likewise.
15436 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
15437
a83ccafd 154382008-01-15 Bean <bean123ch@gmail.com>
15439
15440 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
15441 (grub_script_execute_cmdline): Reset grub_errno.
15442
15443 * normal/main.c (read_config_file): Reset grub_errno.
15444
15445 * normal/parse.y (script_init): New.
15446 (script): Move function and menuentry here.
15447 (delimiter): New.
15448 (command): Add delimiter at the end of command.
15449 (commands): Adjust to match the new command.
15450 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 15451 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 15452 (if): Use the new commands.
15453
15454 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
15455
df6ecfc6 154562008-01-15 Robert Millan <rmh@aybabtu.com>
15457
15458 * normal/menu.c (run_menu): Move timeout message from here ...
15459 (print_timeout): ... to here.
15460 (run_menu): Use print_timeout() once during initial draw to print
15461 the whole message, and again in every clock tick to update only
15462 the number of seconds.
15463
87ae25eb 154642008-01-15 Robert Millan <rmh@aybabtu.com>
15465
15466 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
15467 actual size of `available' from grub_ieee1275_get_property(), and
15468 restrict parsing to that bound.
15469
47bf09a4 154702008-01-15 Christian Franke <franke@computer.org>
15471
15472 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
15473 (argp_program_version): Remove variable.
15474 (argp_program_bug_address): Likewise.
15475 (options): Convert from struct argp_option to struct option.
15476 (struct arguments): Remove.
15477 (parse_opt): Remove.
15478 (usage): New function.
15479 (main): Replace struct args members by simple variables.
15480 Replace argp_parse() by getopt_long().
15481 Add switch to evaluate options.
15482 Add missing "(...)" around root_dev in prefix string.
15483
c86f1469 154842008-01-14 Robert Millan <rmh@aybabtu.com>
15485
15486 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
15487 for grub_ieee1275_exit(), in order to improve portability.
15488
e622c559 154892008-01-14 Robert Millan <rmh@aybabtu.com>
15490
15491 * util/grub.d/10_linux.in (prefix): Define.
15492 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
15493
44cb1ec8 154942008-01-13 Pavel Roskin <proski@gnu.org>
15495
15496 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
15497 grub_errno if no errors have been detected.
15498
1eb8c802 154992008-01-12 Robert Millan <rmh@aybabtu.com>
15500
15501 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
15502 (grub_util_get_dev_abstraction): New function prototype.
15503
15504 * util/getroot.c: Include `<grub/util/getroot.h>'
15505 (grub_util_get_grub_dev): Move detection of abstraction type to ...
15506 (grub_util_get_dev_abstraction): ... here (new function).
15507
15508 * util/grub-probe.c: Convert PRINT_* to an enum. Add
15509 `PRINT_ABSTRACTION'.
15510 (probe): Probe for abstraction type when requested.
15511 (main): Understand `--target=abstraction'.
15512
15513 * util/i386/efi/grub-install.in: Add abstraction module to core
15514 image when it is found to be necessary.
15515 * util/i386/pc/grub-install.in: Likewise.
15516 * util/powerpc/ieee1275/grub-install.in: Likewise.
15517
15518 * util/update-grub_lib.in (font_path): Return system path without
15519 converting to GRUB path.
15520 * util/update-grub.in: Convert system path returned by font_path()
15521 to a GRUB path. Use `grub-probe -t abstraction' to determine what
15522 abstraction module is needed for loading fonts (if any). Export
15523 that as `GRUB_PRELOAD_MODULES'.
15524 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
15525 insmod commands).
15526
52bd3de9 155272008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
15528
15529 Remove some unused code from reiserfs.
f19dbdb7 15530
52bd3de9 15531 * fs/reiserfs.c (struct grub_reiserfs_key)
15532 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
15533 (struct grub_reiserfs_node_body): Removed.
15534 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15535 Likewise.
15536 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15537 Likewise.
15538 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15539 Likewise.
15540 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15541 Likewise.
15542 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15543 Likewise.
15544 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
15545 Likewise.
15546 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15547 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15548 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15549
2f80039d 155502008-01-10 Robert Millan <rmh@aybabtu.com>
15551
15552 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
15553 Determines if a file is garbage left by packaging systems, etc.
15554 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
15555 for processing /etc/grub.d scripts.
15556 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
15557 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
15558 as a condition for processing Linux images.
15559
87888032 155602008-01-10 Pavel Roskin <proski@gnu.org>
15561
15562 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
15563 to compile reiserfs.c on PowerPC.
15564
7e54fced 155652008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 15566
15567 * kern/device.c (grub_device_iterate): Do not abort device iteration
15568 when one of the devices cannot be opened.
15569 * kern/disk.c (grub_disk_open): Do not account previous failures of
15570 unrelated functions when grub_errno is checked for.
15571
5aa541e6 155722008-01-08 Robert Millan <rmh@aybabtu.com>
15573
15574 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
15575 `! grub_linux_is_bzimage', change order of address comparison to make
15576 it more intuitive, and improve "too big zImage" error message.
15577
7076340d 155782008-01-08 Robert Millan <rmh@aybabtu.com>
15579
15580 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
15581 `$(update-grub_DATA)'.
15582 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
15583 targets.
15584
9ca70333 155852008-01-07 Robert Millan <rmh@aybabtu.com>
15586
15587 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
15588 which instruction is modified by grub-setup during installation
15589 (since it wasn't obvious by only looking at this file).
15590
38ccf575 155912008-01-07 Robert Millan <rmh@aybabtu.com>
15592
15593 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
15594 listing actual TODO items.
15595
f5db4291 155962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15597
868967cf 15598 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
15599 correctly.
15600 (grub_reiserfs_get_key_offset): Likewise.
15601 (grub_reiserfs_set_key_offset): Likewise.
15602 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 15603 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 15604
15605 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
15606 better to remove the bitfield version completely.
f19dbdb7 15607
868967cf 156082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15609
f5db4291 15610 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
15611 allocated from the heap, due to the fshelp implementation.
15612 (grub_reiserfs_dir): Free NODE, due to the same reason.
15613
492e6d9d 156142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15615
15616 Mostly from Vincent Pelletier:
f19dbdb7 15617
492e6d9d 15618 * fs/reiserfs.c: New file.
f19dbdb7 15619
492e6d9d 15620 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
15621 (reiserfs_mod_SOURCES): New variable.
15622 (reiserfs_mod_CFLAGS): Likewise.
15623 (reiserfs_mod_LDFLAGS): Likewise.
15624
15625 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
15626 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
15627 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
15628 normal/color.c.
15629
9ce3e7c1 156302008-01-06 Robert Millan <rmh@aybabtu.com>
15631
15632 * normal/color.c: Remove `<grub/env.h>'.
15633
f3b58148 156342008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
15635
15636 * include/grub/normal.h: Include <grub/env.h>.
15637
7ac3bcfa 156382008-01-05 Robert Millan <rmh@aybabtu.com>
15639
15640 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
15641 usage example with `(hd0,1)'.
fb358190 15642 Reported by Samuel Thibault.
7ac3bcfa 15643
c8ee99d7 156442008-01-05 Robert Millan <rmh@aybabtu.com>
15645
15646 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
15647 (grub_linux_boot_zimage): Rename to ...
15648 (grub_linux_boot): ... this.
15649 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
15650 (grub_linux_boot_zimage): Conditionalize zImage copy.
15651
15652 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
15653 (grub_linux_boot_bzimage): Remove prototype.
15654 (grub_linux_boot_zimage): Rename to ...
15655 (grub_linux_boot): ... this.
15656
15657 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
15658 (grub_linux_boot): Remove function.
15659
0ece25b1 156602008-01-05 Robert Millan <rmh@aybabtu.com>
15661
15662 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
15663 (grub_env_write_color_highlight): Likewise.
15664 (grub_wait_after_message): Likewise.
15665
15666 * normal/color.c: New file.
15667
15668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15669 (normal_mod_DEPENDENCIES): Likewise.
15670
15671 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15672 (normal_mod_DEPENDENCIES): Likewise.
15673
15674 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15675 (normal_mod_DEPENDENCIES): Likewise.
15676
15677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15678 (normal_mod_DEPENDENCIES): Likewise.
15679
15680 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
15681 for waiting after a message is printed.
15682 * normal/main.c (read_config_file): Likewise.
15683 (grub_normal_init): Register grub_env_write_color_normal() and
15684 grub_env_write_color_highlight() hooks. Mark `color_normal' and
15685 `color_highlight' variables as global.
15686
15687 * normal/menu.c (grub_wait_after_message): New function.
15688 (grub_color_menu_normal): New variable. Replaces ...
15689 (GRUB_COLOR_MENU_NORMAL): ... this macro.
15690 (grub_color_menu_highlight): New variable. Replaces ...
15691 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
15692 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
15693 `GRUB_TERM_COLOR_STANDARD'.
15694 (print_message): Use `grub_setcolorstate' to reload colors. Rename
15695 `normal_code' and `highlight_code' to `old_color_normal' and
15696 `old_color_highlight', respectively.
15697 (grub_menu_init_page): Update colors when drawing the menu, based on
15698 `menu_color_normal' and `menu_color_highlight' variables.
15699 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
15700 a message is printed.
15701
182dd4e5 157022008-01-05 Robert Millan <rmh@aybabtu.com>
15703
15704 * kern/env.c (grub_env_context_open): Propagate hooks for global
15705 variables to new context.
15706
15707 * kern/main.c (grub_set_root_dev): Export `root' variable.
15708
ddf8f6ad 157092008-01-05 Robert Millan <rmh@aybabtu.com>
15710
15711 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 15712 discs unconditionally, since udev and others have options to provide
ddf8f6ad 15713 them.
15714
d8b43d9b 157152008-01-05 Robert Millan <rmh@aybabtu.com>
15716
15717 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
15718
2bff2de3 157192008-01-04 Christian Franke <franke@computer.org>
15720
15721 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
15722 of eisa_mmap.
15723
97eab917 157242008-01-03 Pavel Roskin <proski@gnu.org>
15725
15726 * kern/i386/linuxbios/init.c: Put "void" to all function
15727 declarations with no arguments.
15728 * kern/powerpc/ieee1275/init.c: Likewise.
15729 * term/i386/pc/at_keyboard.c: Likewise.
15730 * term/i386/pc/vga_text.c: Likewise.
15731 * util/grub-mkdevicemap.c: Likewise.
15732
b9416d00 157332008-01-02 Robert Millan <rmh@aybabtu.com>
15734
15735 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
15736 message when loaded image is out of bounds.
15737 (grub_multiboot_load_elf64): Likewise.
15738
92695df9 157392008-01-02 Pavel Roskin <proski@gnu.org>
15740
15741 * util/grub.d/10_linux.in: Try version without ".old" when
15742 looking for initrd. It's better to use initrd from the newer
15743 kernel of the same version than no initrd at all.
15744
d98d9cad 157452008-01-01 Robert Millan <rmh@aybabtu.com>
15746
15747 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
15748
dbfdce36 157492008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15750
f19dbdb7 15751 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15752 grub_video_get_active_render_target.
15753 (grub_video_adapter): Added unmap_color and get_active_render_target.
15754
f19dbdb7 15755 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15756 grub_video_get_active_render_target.
15757 (grub_video_get_info): Changed method to accept NULL pointer as an
15758 argument to allow detection of active video adapter.
15759
15760 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15761 grub_video_vbe_unmap_color_int.
15762 Added grub_video_vbe_unmap_color and
15763 grub_video_vbe_get_active_render_target.
15764 (grub_video_vbe_adapter): Added unmap_color and
15765 get_active_render_target.
15766
f19dbdb7 15767 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15768 with grub_video_vbe_unmap_color_int.
15769
15770 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15771 (DEFAULT_NORMAL_COLOR): Likewise.
15772 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15773 (DEFAULT_FG_COLOR): Removed.
15774 (DEFAULT_BG_COLOR): Likewise.
15775 (DEFAULT_CURSOR_COLOR): Changed value.
15776 (grub_virtual_screen): Added standard_color_setting,
15777 normal_color_setting, highlight_color_setting and term_color.
15778 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15779 (bitmap_width): Added.
15780 (bitmap_height): Likewise.
15781 (bitmap): Likewise.
15782 (set_term_color): Likewise.
15783 (grub_virtual_screen_setup): Changed to use new terminal coloring
15784 settings.
15785 (grub_gfxterm_init): Added init for bitmap.
15786 (grub_gfxterm_fini): Added destroy for bitmap.
15787 (redraw_screen_rect): Updated to use background bitmap and new
15788 terminal coloring.
15789 (scroll_up): Added optimization for case when there is no bitmap.
15790 (grub_gfxterm_cls): Fixed to use correct background color.
15791 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15792 coloring.
15793 (grub_virtual_screen_setcolor): Likewise.
15794 (grub_virtual_screen_getcolor): Added.
15795 (grub_gfxterm_background_image_cmd): Likewise.
15796 (grub_video_term): Added setcolor and getcolor.
15797 (MOD_INIT): Added registration of background_image command.
15798 (MOD_TERM): Added unregistration for background_image command.
15799
c3c20931 158002007-12-30 Pavel Roskin <proski@gnu.org>
15801
15802 * loader/multiboot_loader.c: Fix multiboot command
15803 unregistration. Fix all typos in the word "multiboot".
15804
df266716 158052007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15806
15807 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15808 support for initrd names used in Fedora.
15809
fc6e896c 158102007-12-26 Bean <bean123ch@gmail.com>
15811
15812 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15813 (cpio_mod_SOURCES): New variable.
15814 (cpio_mod_CFLAGS): Likewise.
15815 (cpio_mod_LDFLAGS): Likewise.
15816
15817 * fs/cpio.c: New file.
15818
15819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15820
15821 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15822
15823 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15824
15825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15826
533110ad 158272007-12-25 Robert Millan <rmh@aybabtu.com>
15828
15829 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15830 (grub_getcolor): New function.
15831
15832 * kern/term.c (grub_getcolor): New function.
15833 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15834 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
15835 (print_entry): Set normal and highlight colors to
15836 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
15837 respectively, before printing and restore them to old
15838 values afterwards.
15839 (grub_menu_init_page): Likewise. Fill an additional colored space
15840 that would otherwise be left blank.
15841
15842 * term/efi/console.c (grub_console_getcolor): New function.
15843 (struct grub_console_term.getcolor): New variable.
15844 * term/i386/pc/console.c (grub_console_getcolor): New function.
15845 (struct grub_console_term.getcolor): New variable.
15846 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
15847 (struct grub_console_term.getcolor): New variable.
15848
15849 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
15850 (struct grub_console_term.setcolor): Remove variable.
15851 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
15852 (struct grub_console_term.setcolor): Remove variable.
15853 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
15854 (struct grub_console_term.setcolor): Remove variable.
15855 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
15856 (struct grub_console_term.setcolor): Remove variable.
15857
4931827f 158582007-12-25 Robert Millan <rmh@aybabtu.com>
15859
15860 * configure.ac: Search for possible unifont.hex locations, and
15861 define UNIFONT_HEX if found.
15862
15863 * Makefile.in (UNIFONT_HEX): Define variable.
15864 (DATA): Rename to ...
15865 (PKGLIB): ... this. Update all users.
15866 (PKGDATA): New variable.
15867 (pkgdata_IMAGES): Rename to ...
15868 (pkglib_IMAGES): ... this. Update all users.
15869 (pkgdata_MODULES): Rename to ...
15870 (pkglib_MODULES): ... this. Update all users.
15871 (pkgdata_PROGRAMS): Rename to ...
15872 (pkglib_PROGRAMS): ... this. Update all users.
15873 (pkgdata_DATA): Rename to ...
15874 (pkglib_DATA): ... this. Update all users.
15875 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
15876 (unicode.pff, ascii.pff): New rules.
15877 (all-local): Add `$(PKGDATA)' dependency.
15878 (install-local): Process `$(PKGDATA)'.
15879
15880 * util/update-grub_lib.in (font_path): Search for *.pff files in
15881 a few more locations, including `${pkgdata}'.
15882
57e57e31 158832007-12-23 Robert Millan <rmh@aybabtu.com>
15884
15885 Patch from Bean <bean123ch@gmail.com>:
15886 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
15887 `size'.
15888
4bc72aa9 158892007-12-21 Bean <bean123ch@gmail.com>
15890
15891 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
15892 (ntfscomp_mod_SOURCES): New variable.
15893 (ntfscomp_mod_CFLAGS): Likewise.
15894 (ntfscomp_mod_LDFLAGS): Likewise.
15895
15896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
15897 (grub_probe_SOURCES): Likewise.
15898 (grub_emu_SOURCES): Likewise.
15899
15900 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15901 (grub_emu_SOURCES): Likewise.
15902
15903 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15904 (grub_emu_SOURCES): Likewise.
15905
15906 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15907 (grub_emu_SOURCES): Likewise.
15908
15909 * fs/ntfs.c (grub_ntfscomp_func): New variable.
15910 (read_run_list): Renamed to grub_ntfs_read_run_list.
15911 (decomp_nextvcn): Moved to ntfscomp.c.
15912 (decomp_getch): Likewise.
15913 (decomp_get16): Likewise.
15914 (decomp_block): Likewise.
15915 (read_block): Likewise.
15916 (read_data): Partially moved to ntfscomp.c.
15917 (fixup): Change unsigned to grub_uint16_t.
15918 (read_mft): Change unsigned long to grub_uint32_t.
15919 (read_attr): Likewise.
15920 (read_data): Likewise.
15921 (read_run_data): Likewise.
15922 (read_run_list): Likewise.
15923 (read_mft): Likewise.
15924
15925 * fs/ntfscomp.c: New file.
15926
15927 * include/grub/ntfs.h: New file.
15928
af680a87 159292007-12-16 Robert Millan <rmh@aybabtu.com>
15930
15931 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
15932 IDE disk check, since Linux is known to support 20 IDE disks.
15933 Reported by Colin Watson.
15934
84be7599 159352007-12-15 Bean <bean123ch@gmail.com>
15936
15937 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
15938 (lnxboot_img_SOURCES): New variable.
15939 (lnxboot_img_ASFLAGS): Likewise.
15940 (lnxboot_img_LDFLAGS): Likewise.
15941
15942 * boot/i386/pc/lnxboot.S: New file.
15943
6af9db01 159442007-11-24 Pavel Roskin <proski@gnu.org>
15945
15946 * configure.ac: Test if '--build-id=none' is supported by the
15947 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
15948 objcopy to generate incorrect binary files (binutils
15949 2.17.50.0.18-1 as shipped by Fedora 8).
15950 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
15951 linking, so that build ID doesn't break the test.
15952
7361cfe6 159532007-11-24 Pavel Roskin <proski@gnu.org>
15954
15955 * include/grub/i386/time.h: use "void" in the argument list
15956 of grub_cpu_idle().
15957 * include/grub/powerpc/time.h: Likewise.
15958 * include/grub/sparc64/time.h: Likewise.
15959
1593e10c 159602007-11-18 Christian Franke <franke@computer.org>
15961
15962 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
15963 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
15964 This fixes the problem that function keys did not work in grub-emu.
15965
3b8db1a8 159662007-11-18 Christian Franke <franke@computer.org>
15967
15968 * disk/host.c (grub_host_open): Remove attribute unused from
15969 name parameter. Add check for "host". This fixes the problem
15970 that grub-emu does not find partitions.
15971
2e29408d 159722007-11-18 Christian Franke <franke@computer.org>
15973
15974 * util/hostfs.c (is_dir): New function.
15975 (grub_hostfs_dir): Handle missing dirent.d_type case.
15976 (grub_hostfs_read): Add missing fseek().
15977 (grub_hostfs_label): Clear label pointer. This fixes a crash
15978 of grub-emu on "ls (host)".
15979
398cd047 159802007-11-18 Christian Franke <franke@computer.org>
15981
15982 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
15983 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
15984 to 64 bit boundary by default.
15985
c405c391 159862007-11-18 Bean <bean123ch@gmail.com>
15987
15988 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
15989 (hexdump_mod_SOURCES): New variable.
15990 (hexdump_mod_CFLAGS): Likewise.
15991 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 15992
c405c391 15993 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15994
15995 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15996
15997 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15998
15999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16000
16001 * include/grub/hexdump.h: New file.
16002
16003 * commands/hexdump.c: New file.
16004
5cced7fd 160052007-11-10 Robert Millan <rmh@aybabtu.com>
16006
16007 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16008 in grub_outb() calls.
16009 (beep_on): Likewise.
16010
8b714eb0 160112007-11-10 Christian Franke <franke@computer.org>
16012
16013 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16014 (grub_menu_run): Likewise.
16015
ce0f1839 160162007-11-10 Robert Millan <rmh@aybabtu.com>
16017
16018 * include/grub/i386/efi/machine.h: New file.
16019 * include/grub/i386/linuxbios/machine.h: Likewise.
16020 * include/grub/i386/pc/machine.h: Likewise.
16021 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16022 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16023
16024 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16025 (serial_hw_io_addr): New variable.
16026 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16027 instead of `(unsigned short *) 0x400'.
16028
270c237d 160292007-11-10 Bean <bean123ch@gmail.com>
16030
16031 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16032
a87783bf 160332007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16034
16035 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16036 (vga_mod_SOURCES): Added.
16037 (vga_mod_CFLAGS): Likewise.
16038 (vga_mod_LDFLAGS): Likewise.
16039
16040 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16041 grub_outb() calls.
16042 (set_map_mask): Likewise.
16043 (set_read_map): Likewise.
16044 (set_read_address): Likewise.
16045 (vga_font): Removed variable.
16046 (get_vga_glyph): Removed function.
16047 (invalidate_char): Likewise.
16048 (write_char): Changed to use grub_font_get_glyph() for font
16049 information.
16050 (grub_vga_putchar): Likewise.
16051 (grub_vga_getcharwidth): Likewise.
16052
6433b448 160532007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16054
16055 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16056 flags.
16057 (pxeboot_img_LDFLAGS): Likewise.
16058 (diskboot_img_LDFLAGS): Likewise.
16059 (kernel_img_LDFLAGS): Likewise.
16060
49178511 160612007-11-06 Robert Millan <rmh@aybabtu.com>
16062
16063 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16064 in grub_outb() calls.
16065 (serial_hw_init): Likewise.
16066
53b052de 160672007-11-05 Robert Millan <rmh@aybabtu.com>
16068
16069 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16070 spaces. Skip non-regular files.
16071
5ab33bba 160722007-11-05 Robert Millan <rmh@aybabtu.com>
16073
16074 * kern/disk.c (grub_disk_firmware_fini)
16075 (grub_disk_firmware_is_tainted): New variables.
16076
16077 * include/grub/disk.h (grub_disk_firmware_fini)
16078 (grub_disk_firmware_is_tainted): Likewise.
16079
16080 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16081 (grub_disk_biosdisk_fini): ... to here.
16082 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16083 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16084 is set. Register grub_disk_biosdisk_fini() in
16085 `grub_disk_firmware_fini'.
16086
16087 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16088 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16089 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16090 to finish existing firmware disk interface.
16091
16092 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16093 (ata_mod_SOURCES): New variable.
16094 (ata_mod_CFLAGS): Likewise.
16095 (ata_mod_LDFLAGS): Likewise.
16096
0149ab7c 160972007-11-05 Robert Millan <rmh@aybabtu.com>
16098
16099 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16100 (grub_ata_wait): Reimplement using grub_millisleep().
16101
16102 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16103 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16104
be7ac41e 161052007-11-03 Marco Gerards <marco@gnu.org>
16106
16107 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16108 (CRTC_ADDR_PORT): New macro.
16109 (CRTC_DATA_PORT): Likewise.
16110 (CRTC_CURSOR): Likewise.
16111 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16112 (CRTC_CURSOR_ADDR_LOW): Likewise.
16113 (update_cursor): New function.
16114 (grub_console_real_putchar): Call `update_cursor'.
16115 (grub_console_gotoxy): Likewise.
16116 (grub_console_cls): Set the default color when clearing the
16117 screen.
16118 (grub_console_setcursor): Implemented.
16119
bb06ab2e 161202007-11-03 Marco Gerards <marco@gnu.org>
16121
16122 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16123 become activate.
16124 (grub_ata_pio_write): Likewise.
16125
16126 (grub_atapi_identify): Wait after issuing an ATA command.
16127 (grub_atapi_packet): Likewise.
16128 (grub_ata_identify): Likewise.
16129 (grub_ata_readwrite): Likewise.
16130
cf8f780b 161312007-11-03 Marco Gerards <marco@gnu.org>
16132
16133 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16134 (grub_ata_pio_write): Likewise.
16135 (grub_ata_readwrite): Use `grub_error', instead of
16136 returning `grub_errno'.
16137
ed649e54 161382007-11-03 Marco Gerards <marco@gnu.org>
16139
16140 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16141 grub_ata_pio_write once for every single sector, instead of for
16142 multiple sectors.
16143
ca25d8f0 161442007-10-31 Robert Millan <rmh@aybabtu.com>
16145
16146 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16147
16148 * conf/i386-linuxbios.rmk: New file.
16149
16150 * kern/i386/pc/hardware.c: Likewise.
16151 * term/i386/pc/at_keyboard.c: Likewise.
16152 * term/i386/pc/vga_text.c: Likewise.
16153
16154 * include/grub/i386/linuxbios/boot.h: Likewise.
16155 * include/grub/i386/linuxbios/console.h: Likewise.
16156 * include/grub/i386/linuxbios/init.h: Likewise.
16157 * include/grub/i386/linuxbios/kernel.h: Likewise.
16158 * include/grub/i386/linuxbios/loader.h: Likewise.
16159 * include/grub/i386/linuxbios/memory.h: Likewise.
16160 * include/grub/i386/linuxbios/serial.h: Likewise.
16161 * include/grub/i386/linuxbios/time.h: Likewise.
16162
16163 * kern/i386/linuxbios/init.c: Likewise.
16164 * kern/i386/linuxbios/startup.S: Likewise.
16165 * kern/i386/linuxbios/table.c: Likewise.
16166
e911ecc1 161672007-10-31 Marco Gerards <marco@gnu.org>
16168
16169 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16170 (ata_mod_SOURCES): New variable.
16171 (ata_mod_CFLAGS): Likewise.
16172 (ata_mod_LDFLAGS): Likewise.
16173
16174 * disk/ata.c: New file.
16175
16176 * include/grub/disk.h (grub_disk_dev_id): Add
16177 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16178
7f66d0e0 161792007-10-31 Robert Millan <rmh@aybabtu.com>
16180
16181 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16182 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16183
16184 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16185 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16186
16187 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16188 `<grub/types.h>'.
16189
16190 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16191
5cd7dd46 161922007-10-27 Robert Millan <rmh@aybabtu.com>
16193
3236ca65 16194 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16195
2ebfc90f 161962007-10-22 Robert Millan <rmh@aybabtu.com>
16197
16198 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16199 `"../realmode.S"'.
16200 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16201
73fcb0f3 162022007-10-22 Robert Millan <rmh@aybabtu.com>
16203
16204 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16205 (pkgdata_MODULES): Add `biosdisk.mod'.
16206 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16207 variables.
16208
16209 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16210 (grub_biosdisk_init): Replace with ...
16211 (GRUB_MOD_INIT(biosdisk)): ... this.
16212 (grub_biosdisk_fini): Replace with ...
16213 (GRUB_MOD_FINI(biosdisk)): ... this.
16214
16215 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16216 (grub_machine_init): Remove call to grub_biosdisk_init().
16217 (grub_machine_fini): Remove call to grub_machine_fini().
16218
16219 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16220
3381d274 162212007-10-22 Robert Millan <rmh@aybabtu.com>
16222
16223 * include/grub/time.h: New file.
16224 * include/grub/i386/time.h: Likewise.
16225 * include/grub/powerpc/time.h: Likewise.
16226 * include/grub/sparc64/time.h: Likewise.
16227
16228 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16229 instances to ...
16230 (KERNEL_MACHINE_TIME_HEADER): ... this.
16231 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16232 instances to ...
16233 (KERNEL_MACHINE_TIME_HEADER): ... this.
16234 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16235 instances to ...
16236 (KERNEL_MACHINE_TIME_HEADER): ... this.
16237
16238 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16239 (grub_millisleep): New function.
16240 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16241 (grub_millisleep): New function.
16242 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16243 Remove `grub/machine/time.h' include.
16244 (grub_millisleep): New function.
16245 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16246 Remove `grub/machine/time.h' include.
16247 (grub_millisleep): New function.
16248
16249 * include/grub/misc.h (grub_div_roundup): New function.
16250
16251 * kern/misc.c: Include `<grub/time.h>'.
16252 (grub_millisleep_generic): New function.
16253
16254 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16255 Add `time.h'.
16256 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16257 Add `time.h'.
16258 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16259 `machine/time.h'. Add `time.h'.
16260 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16261
a39a0312 162622007-10-21 Robert Millan <rmh@aybabtu.com>
16263
16264 * include/grub/misc.h (grub_max): New function.
16265
2aad70e2 162662007-10-21 Robert Millan <rmh@aybabtu.com>
16267
16268 * util/misc.c (grub_util_info): Call fflush() before returning.
16269
54b71c4b 162702007-10-20 Robert Millan <rmh@aybabtu.com>
16271
16272 * genmk.rb (Image): Copy `extra_flags' from here ...
16273 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16274
16275 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16276 to `argc' and `args' arguments.
16277
a979f513 162782007-10-17 Robert Millan <rmh@aybabtu.com>
16279
16280 * kern/i386/loader.S: New file.
16281
16282 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16283 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16284 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16285 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16286 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16287 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16288 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16289 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16290 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16291 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16292 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16293 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16294 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16295 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16296
16297 * kern/i386/realmode.S: New file.
16298
16299 * kern/i386/pc/startup.S (protstack): Moved from here ...
16300 * kern/i386/realmode.S (protstack)... to here.
16301 * kern/i386/pc/startup.S (gdt): Moved from here ...
16302 * kern/i386/realmode.S (gdt)... to here.
16303 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16304 * kern/i386/realmode.S (prot_to_real)... to here.
16305
16306 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16307 `kern/i386/realmode.S'.
16308
825fc8fd 163092007-10-17 Robert Millan <rmh@aybabtu.com>
16310
16311 * include/grub/i386/loader.h: New file.
16312
16313 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16314 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16315 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16316 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16317 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16318 * include/grub/i386/loader.h (grub_linux_prot_size)
16319 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16320 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16321 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16322 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16323
16324 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16325
e179b2f4 163262007-10-15 Robert Millan <rmh@aybabtu.com>
16327
16328 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16329 filesystem when dev->disk is unset.
16330 Do probe for filesystem even when dev->disk->has_partitions is set.
16331 In case a filesystem is found, always report it.
16332 In case it isn't, if dev->disk->has_partitions is set, report that
16333 a partition table was found instead of reporting that no filesystem
16334 could be identified.
16335
5db82af6 163362007-10-12 Robert Millan <rmh@aybabtu.com>
16337
16338 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16339 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16340
68f6ac74 16341 * include/grub/types.h (grub_host_to_target16): New macro.
16342 (grub_host_to_target32): Likewise.
16343 (grub_host_to_target64): Likewise.
16344 (grub_target_to_host16): Likewise.
16345 (grub_target_to_host32): Likewise.
16346 (grub_target_to_host64): Likewise.
5db82af6 16347
16348 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16349 Renamed from to ...
16350 (GRUB_MOD_ALIGN): ...this. Update all users.
16351
68f6ac74 16352 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16353 grub_host_to_target32.
16354 Replace grub_be_to_cpu32 with grub_target_to_host32.
16355 (load_modules): Likewise.
16356 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16357 Replace grub_be_to_cpu32 with grub_target_to_host32.
16358 Replace grub_cpu_to_be16 with grub_host_to_target16.
16359 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16360
3cf497cc 163612007-10-12 Robert Millan <rmh@aybabtu.com>
16362
16363 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16364 * util/elf/grub-mkimage.c: ... here.
16365
16366 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16367 `util/powerpc/ieee1275/grub-mkimage.c'.
16368
c8cc3692 163692007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16370
c8cc3692 16371 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16372 and make it easier to figure out.
16373 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
16374 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
16375 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
16376 leave us with less than HEAP_MIN_SIZE total heap.
16377 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 16378
5c58b791 163792007-10-03 Robert Millan <rmh@aybabtu.com>
16380
16381 * include/grub/i386/io.h: New file.
16382 * commands/i386/pc/play.c (inb): Removed.
16383 (outb): Removed.
16384 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16385 with grub_outb().
afcd2ef8 16386 * term/i386/pc/serial.c (inb): Removed.
16387 (outb): Removed.
16388 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16389 with grub_outb().
16390 * term/i386/pc/vga.c (inb): Removed.
16391 (outb): Removed.
16392 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16393 with grub_outb().
5c58b791 16394
1a477ed6 163952007-10-02 Robert Millan <rmh@aybabtu.com>
16396
16397 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
16398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16399 Reported by Marcin Kurek.
16400
6b5d80fa 164012007-09-07 Robert Millan <rmh@aybabtu.com>
16402
16403 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
16404 SmartFirmware version updates (as released by Sven Luther), and avoid
16405 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
16406 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
16407 known broken.
16408
5618afbf 164092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16410
16411 From Hitoshi Ozeki:
16412 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
16413 when merging two regions.
16414
6139dcd9 164152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16416
508e39ee 16417 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
16418 * normal/completion.c (grub_normal_do_completion): Likewise.
16419 Reported by Hitoshi Ozeki.
16420
164212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16422
6139dcd9 16423 Do not use devices at boot in chainloading.
f19dbdb7 16424
6139dcd9 16425 * loader/i386/pc/chainloader.c (boot_drive): New variable.
16426 (boot_part_addr): Likewise.
16427 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
16428 with BOOT_DRIVE and BOOT_PART_ADDR.
16429 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
16430 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
16431
38da6516 164322007-08-29 Robert Millan <rmh@aybabtu.com>
16433
16434 Patch from Simon Peter <dn.tlp@gmx.net>:
16435 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
16436 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
16437 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
16438 util/i386/pc/grub-setup.c_DEPENDENCIES.
16439 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
16440 util/grub-probe.c_DEPENDENCIES.
16441 * conf/powerpc-ieee1275.rmk: Likewise.
16442
29d0928c 164432007-08-28 Robert Millan <rmh@aybabtu.com>
16444
16445 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
16446 to tell grub-mkdevicemap how to name devices.
16447 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
16448 feature).
16449
16450 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
16451 util/i386/get_disk_name.c.
16452 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
16453 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
16454 util/ieee1275/get_disk_name.c.
16455
16456 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
16457
16458 * DISTLIST: Add util/i386/get_disk_name.c and
16459 util/ieee1275/get_disk_name.c.
16460
16461 * util/grub-mkdevicemap.c: Replace device naming logic with
16462 grub_util_get_disk_name() calls.
16463
5a0d3cca 164642007-08-20 Robert Millan <rmh@aybabtu.com>
16465
16466 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
16467 (so that it works for both plural and singular quantities).
16468
8b72db2f 164692007-08-05 Robert Millan <rmh@aybabtu.com>
16470
16471 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
16472 so that [xz] isn't taken into account when determining order.
16473
352466bf 164742007-08-02 Marco Gerards <marco@gnu.org>
16475
16476 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
16477 `include/multiboot2.h', `include/grub/elfload.h',
16478 `include/multiboot.h', `include/grub/multiboot.h',
16479 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
16480 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
16481 `kern/elf.c', `loader/multiboot_loader.c',
16482 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
16483 `loader/i386/pc/multiboot2.c',
16484 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
16485 `util/i386/pc/grub-mkrescue.in'. Remove
16486 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
16487 `include/grub/i386/pc/util/biosdisk.h' and
16488 `include/grub/powerpc/ieee1275/multiboot.h'.
16489
8f096014 164902007-08-02 Bean <bean123ch@gmail.com>
16491
16492 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
16493 (ntfs_mod_SOURCES): New variable.
16494 (ntfs_mod_CFLAGS): Likewise.
16495 (ntfs_mod_LDFLAGS): Likewise.
16496
16497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
16498 (grub_probe_SOURCES): Likewise.
16499 (grub_emu_SOURCES): Likewise.
16500
16501 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16502 (grub_emu_SOURCES): Likewise.
16503
16504 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16505 (grub_emu_SOURCES): Likewise.
f19dbdb7 16506
8f096014 16507 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
16508
16509 * fs/ntfs.c: New file.
16510
9959f7db 165112007-08-02 Bean <bean123ch@gmail.com>
16512
16513 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
16514
16515 * file.h (grub_file): Likewise.
16516
16517 * fshelp.h (grub_fshelp_read_file): Likewise.
16518
16519 * util/i386/pc/grub-setup.c (setup): Likewise.
16520 (save_first_sector): Likewise.
16521 (save_blocklists): Likewise.
f19dbdb7 16522
9959f7db 16523 * fs/affs.c (grub_affs_read_file): Likewise.
16524
16525 * fs/ext2.c (grub_ext2_read_file): Likewise.
16526
16527 * fs/fat.c (grub_fat_read_data): Likewise.
16528
16529 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
16530
16531 * fs/hfs.c (grub_hfs_read_file): Likewise.
16532
16533 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16534
16535 * fs/jfs.c (grub_jfs_read_file): Likewise.
16536
16537 * fs/minix.c (grub_minix_read_file): Likewise.
16538
16539 * fs/sfs.c (grub_sfs_read_file): Likewise.
16540
16541 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 16542
9959f7db 16543 * fs/xfs.c (grub_xfs_read_file): Likewise.
16544
16545 * command/blocklist.c (read_blocklist): Likewise.
16546 (print_blocklist): Likewise.
16547
0a203f83 165482007-08-02 Marco Gerards <marco@gnu.org>
16549
16550 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
16551 `util/hostfs.c'.
16552
16553 * disk/host.c: New file.
16554
16555 * util/hostfs.c: Likewise.
16556
16557 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
16558 return `GRUB_ERR_BAD_FS'.
16559 * fs/sfs.c (grub_sfs_mount): Likewise.
16560 * fs/xfs.c (grub_xfs_mount): Likewise.
16561
16562 * include/grub/disk.h (enum grub_disk_dev_id): Add
16563 `GRUB_DISK_DEVICE_HOST_ID'.
16564
16565 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
16566
e5dfe777 165672007-07-24 Jerone Young <jerone@gmail.com>
16568
f19dbdb7 16569 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 16570 modules for compilation.
16571 * conf/powerpc-ieee1275.rmk: Likewise.
16572
16573 * include/multiboot.h: Move multiboot definitions to one file. Rename
16574 many definitions to not get grub specific.
16575 * include/multiboot2.h: Create header with multiboot 2 definitions.
16576 * include/grub/multiboot.h: Header for grub specific function
16577 prototypes and definitions.
16578 * include/grub/multiboot2.h: Likewise.
16579 * include/grub/multiboot_loader.h: Likewise.
16580 * include/grub/i386/pc/multiboot.h: Removed.
16581 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
16582
16583 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
16584 and 2 to allow for one multiboot and module commands.
16585 * loader/multiboot2.c: Add multiboot2 functionality.
16586 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
16587 and definition names.
16588 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
16589 2 functions.
16590 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
16591 ieee1275 specific multiboot2 code.
16592
16593 * kern/i386/pc/startup.S: Change headers and definition names for
16594 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
16595
daf0f0ba 165962007-07-22 Robert Millan <rmh@aybabtu.com>
16597
16598 * geninitheader.sh: Process file specified in first parameter rather
16599 than hardcoding grub_modules_init.lst.
fe6b695a 16600 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 16601 than hardcoding grub_modules_init.h.
16602
16603 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
16604 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
16605 grub_probe_init.[ch] and grub_setup_init.[ch].
16606
16607 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
16608 grub_modules_init.h with grub_emu_init.h.
16609 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
16610 grub_probe_init.[ch] files.
16611 * conf/i386-efi.rmk: Likewise.
16612 * conf/i386-pc.rmk: Likewise.
16613 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
16614 grub_setup_init.[ch] files.
16615
16616 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
16617 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
16618 to initialize modules rather than a list of hardcoded functions.
16619 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
16620 grub_init_all() to initialize modules rather than a list of hardcoded
16621 functions.
16622
54cdc1cc 166232007-07-22 Robert Millan <rmh@aybabtu.com>
16624
16625 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16626 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
16627
ad0686cc 166282007-07-22 Robert Millan <rmh@aybabtu.com>
16629
16630 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16631 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
16632 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
16633 flag when running on SmartFirmware.
16634 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
16635 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
16636 was set.
16637
16638 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16639 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
16640 rather than decreasing it.
16641
16642 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
16643 there's not enough space to do it, fail in the same way as when it
16644 can't be done because there are no partitions.
16645
16646 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
16647 when nvsetenv failed.
16648
969c02ec 166492007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16650
16651 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
16652 because this rule is automatically generated.
16653 (grub-mkrescue): Removed for the same reason as above.
16654
5a79f472 166552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16656
16657 Migrate to GNU General Public License Version 3.
f19dbdb7 16658
5a79f472 16659 * COPYING: Replaced with the plain text version of GPLv3.
16660
16661 * config.guess: Updated from gnulib.
16662 * config.sub: Likewise.
16663
16664 * geninit.sh: Output a GPLv3 copyright notice.
16665 * geninitheader.sh: Likewise.
16666 * genmodsrc.sh: Likewise.
16667 * gensymlist.sh.in: Likewise.
16668
16669 * boot/i386/pc/boot.S: Upgraded to GPLv3.
16670 * boot/i386/pc/diskboot.S: Likewise.
16671 * boot/i386/pc/pxeboot.S: Likewise.
16672 * commands/blocklist.c: Likewise.
16673 * commands/boot.c: Likewise.
16674 * commands/cat.c: Likewise.
16675 * commands/cmp.c: Likewise.
16676 * commands/configfile.c: Likewise.
16677 * commands/echo.c: Likewise.
16678 * commands/help.c: Likewise.
16679 * commands/ls.c: Likewise.
16680 * commands/search.c: Likewise.
16681 * commands/terminal.c: Likewise.
16682 * commands/test.c: Likewise.
16683 * commands/videotest.c: Likewise.
16684 * commands/i386/cpuid.c: Likewise.
16685 * commands/i386/pc/halt.c: Likewise.
16686 * commands/i386/pc/play.c: Likewise.
16687 * commands/i386/pc/reboot.c: Likewise.
16688 * commands/i386/pc/vbeinfo.c: Likewise.
16689 * commands/i386/pc/vbetest.c: Likewise.
16690 * commands/ieee1275/halt.c: Likewise.
16691 * commands/ieee1275/reboot.c: Likewise.
16692 * commands/ieee1275/suspend.c: Likewise.
16693 * disk/loopback.c: Likewise.
16694 * disk/lvm.c: Likewise.
16695 * disk/raid.c: Likewise.
16696 * disk/efi/efidisk.c: Likewise.
16697 * disk/i386/pc/biosdisk.c: Likewise.
16698 * disk/ieee1275/ofdisk.c: Likewise.
16699 * font/manager.c: Likewise.
16700 * fs/affs.c: Likewise.
16701 * fs/ext2.c: Likewise.
16702 * fs/fat.c: Likewise.
16703 * fs/fshelp.c: Likewise.
16704 * fs/hfs.c: Likewise.
16705 * fs/hfsplus.c: Likewise.
16706 * fs/iso9660.c: Likewise.
16707 * fs/jfs.c: Likewise.
16708 * fs/minix.c: Likewise.
16709 * fs/sfs.c: Likewise.
16710 * fs/ufs.c: Likewise.
16711 * fs/xfs.c: Likewise.
16712 * hello/hello.c: Likewise.
16713 * include/grub/acorn_filecore.h: Likewise.
16714 * include/grub/arg.h: Likewise.
16715 * include/grub/bitmap.h: Likewise.
16716 * include/grub/boot.h: Likewise.
16717 * include/grub/cache.h: Likewise.
16718 * include/grub/device.h: Likewise.
16719 * include/grub/disk.h: Likewise.
16720 * include/grub/dl.h: Likewise.
16721 * include/grub/elfload.h: Likewise.
16722 * include/grub/env.h: Likewise.
16723 * include/grub/err.h: Likewise.
16724 * include/grub/file.h: Likewise.
16725 * include/grub/font.h: Likewise.
16726 * include/grub/fs.h: Likewise.
16727 * include/grub/fshelp.h: Likewise.
16728 * include/grub/gzio.h: Likewise.
16729 * include/grub/hfs.h: Likewise.
16730 * include/grub/kernel.h: Likewise.
16731 * include/grub/loader.h: Likewise.
16732 * include/grub/lvm.h: Likewise.
16733 * include/grub/misc.h: Likewise.
16734 * include/grub/mm.h: Likewise.
16735 * include/grub/net.h: Likewise.
16736 * include/grub/normal.h: Likewise.
16737 * include/grub/parser.h: Likewise.
16738 * include/grub/partition.h: Likewise.
16739 * include/grub/pc_partition.h: Likewise.
16740 * include/grub/raid.h: Likewise.
16741 * include/grub/rescue.h: Likewise.
16742 * include/grub/script.h: Likewise.
16743 * include/grub/setjmp.h: Likewise.
16744 * include/grub/symbol.h: Likewise.
16745 * include/grub/term.h: Likewise.
16746 * include/grub/terminfo.h: Likewise.
16747 * include/grub/tparm.h: Likewise.
16748 * include/grub/types.h: Likewise.
16749 * include/grub/video.h: Likewise.
16750 * include/grub/efi/api.h: Likewise.
16751 * include/grub/efi/chainloader.h: Likewise.
16752 * include/grub/efi/console.h: Likewise.
16753 * include/grub/efi/console_control.h: Likewise.
16754 * include/grub/efi/disk.h: Likewise.
16755 * include/grub/efi/efi.h: Likewise.
16756 * include/grub/efi/pe32.h: Likewise.
16757 * include/grub/efi/time.h: Likewise.
16758 * include/grub/i386/linux.h: Likewise.
16759 * include/grub/i386/setjmp.h: Likewise.
16760 * include/grub/i386/types.h: Likewise.
16761 * include/grub/i386/efi/kernel.h: Likewise.
16762 * include/grub/i386/efi/loader.h: Likewise.
16763 * include/grub/i386/efi/time.h: Likewise.
16764 * include/grub/i386/pc/biosdisk.h: Likewise.
16765 * include/grub/i386/pc/boot.h: Likewise.
16766 * include/grub/i386/pc/chainloader.h: Likewise.
16767 * include/grub/i386/pc/console.h: Likewise.
16768 * include/grub/i386/pc/init.h: Likewise.
16769 * include/grub/i386/pc/kernel.h: Likewise.
16770 * include/grub/i386/pc/loader.h: Likewise.
16771 * include/grub/i386/pc/memory.h: Likewise.
16772 * include/grub/i386/pc/multiboot.h: Likewise.
16773 * include/grub/i386/pc/serial.h: Likewise.
16774 * include/grub/i386/pc/time.h: Likewise.
16775 * include/grub/i386/pc/vbe.h: Likewise.
16776 * include/grub/i386/pc/vbeblit.h: Likewise.
16777 * include/grub/i386/pc/vbefill.h: Likewise.
16778 * include/grub/i386/pc/vbeutil.h: Likewise.
16779 * include/grub/i386/pc/vga.h: Likewise.
16780 * include/grub/ieee1275/ieee1275.h: Likewise.
16781 * include/grub/ieee1275/ofdisk.h: Likewise.
16782 * include/grub/powerpc/libgcc.h: Likewise.
16783 * include/grub/powerpc/setjmp.h: Likewise.
16784 * include/grub/powerpc/types.h: Likewise.
16785 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16786 * include/grub/powerpc/ieee1275/console.h: Likewise.
16787 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16788 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16789 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16790 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16791 * include/grub/powerpc/ieee1275/time.h: Likewise.
16792 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16793 * include/grub/sparc64/libgcc.h: Likewise.
16794 * include/grub/sparc64/setjmp.h: Likewise.
16795 * include/grub/sparc64/types.h: Likewise.
16796 * include/grub/sparc64/ieee1275/console.h: Likewise.
16797 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16798 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16799 * include/grub/sparc64/ieee1275/time.h: Likewise.
16800 * include/grub/util/biosdisk.h: Likewise.
16801 * include/grub/util/getroot.h: Likewise.
16802 * include/grub/util/lvm.h: Likewise.
16803 * include/grub/util/misc.h: Likewise.
16804 * include/grub/util/raid.h: Likewise.
16805 * include/grub/util/resolve.h: Likewise.
16806 * io/gzio.c: Likewise.
16807 * kern/device.c: Likewise.
16808 * kern/disk.c: Likewise.
16809 * kern/dl.c: Likewise.
16810 * kern/elf.c: Likewise.
16811 * kern/env.c: Likewise.
16812 * kern/err.c: Likewise.
16813 * kern/file.c: Likewise.
16814 * kern/fs.c: Likewise.
16815 * kern/loader.c: Likewise.
16816 * kern/main.c: Likewise.
16817 * kern/misc.c: Likewise.
16818 * kern/mm.c: Likewise.
16819 * kern/parser.c: Likewise.
16820 * kern/partition.c: Likewise.
16821 * kern/rescue.c: Likewise.
16822 * kern/term.c: Likewise.
16823 * kern/efi/efi.c: Likewise.
16824 * kern/efi/init.c: Likewise.
16825 * kern/efi/mm.c: Likewise.
16826 * kern/i386/dl.c: Likewise.
16827 * kern/i386/efi/init.c: Likewise.
16828 * kern/i386/efi/startup.S: Likewise.
16829 * kern/i386/pc/init.c: Likewise.
16830 * kern/i386/pc/lzo1x.S: Likewise.
16831 * kern/i386/pc/startup.S: Likewise.
16832 * kern/ieee1275/ieee1275.c: Likewise.
16833 * kern/powerpc/cache.S: Likewise.
16834 * kern/powerpc/dl.c: Likewise.
16835 * kern/powerpc/ieee1275/cmain.c: Likewise.
16836 * kern/powerpc/ieee1275/crt0.S: Likewise.
16837 * kern/powerpc/ieee1275/init.c: Likewise.
16838 * kern/powerpc/ieee1275/openfw.c: Likewise.
16839 * kern/sparc64/cache.S: Likewise.
16840 * kern/sparc64/dl.c: Likewise.
16841 * kern/sparc64/ieee1275/init.c: Likewise.
16842 * kern/sparc64/ieee1275/openfw.c: Likewise.
16843 * loader/efi/chainloader.c: Likewise.
16844 * loader/efi/chainloader_normal.c: Likewise.
16845 * loader/i386/efi/linux.c: Likewise.
16846 * loader/i386/efi/linux_normal.c: Likewise.
16847 * loader/i386/pc/chainloader.c: Likewise.
16848 * loader/i386/pc/chainloader_normal.c: Likewise.
16849 * loader/i386/pc/linux.c: Likewise.
16850 * loader/i386/pc/linux_normal.c: Likewise.
16851 * loader/i386/pc/multiboot.c: Likewise.
16852 * loader/i386/pc/multiboot_normal.c: Likewise.
16853 * loader/powerpc/ieee1275/linux.c: Likewise.
16854 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16855 * normal/arg.c: Likewise.
16856 * normal/cmdline.c: Likewise.
16857 * normal/command.c: Likewise.
16858 * normal/completion.c: Likewise.
16859 * normal/execute.c: Likewise.
16860 * normal/function.c: Likewise.
16861 * normal/lexer.c: Likewise.
16862 * normal/main.c: Likewise.
16863 * normal/menu.c: Likewise.
16864 * normal/menu_entry.c: Likewise.
16865 * normal/misc.c: Likewise.
16866 * normal/parser.y: Likewise.
16867 * normal/script.c: Likewise.
16868 * normal/i386/setjmp.S: Likewise.
16869 * normal/powerpc/setjmp.S: Likewise.
16870 * normal/sparc64/setjmp.S: Likewise.
16871 * partmap/acorn.c: Likewise.
16872 * partmap/amiga.c: Likewise.
16873 * partmap/apple.c: Likewise.
16874 * partmap/gpt.c: Likewise.
16875 * partmap/pc.c: Likewise.
16876 * partmap/sun.c: Likewise.
16877 * term/gfxterm.c: Likewise.
16878 * term/terminfo.c: Likewise.
16879 * term/efi/console.c: Likewise.
16880 * term/i386/pc/console.c: Likewise.
16881 * term/i386/pc/serial.c: Likewise.
16882 * term/i386/pc/vesafb.c: Likewise.
16883 * term/i386/pc/vga.c: Likewise.
16884 * term/ieee1275/ofconsole.c: Likewise.
16885 * util/biosdisk.c: Likewise.
16886 * util/console.c: Likewise.
16887 * util/genmoddep.c: Likewise.
16888 * util/getroot.c: Likewise.
16889 * util/grub-emu.c: Likewise.
16890 * util/grub-mkdevicemap.c: Likewise.
16891 * util/grub-probe.c: Likewise.
16892 * util/lvm.c: Likewise.
16893 * util/misc.c: Likewise.
16894 * util/raid.c: Likewise.
16895 * util/resolve.c: Likewise.
16896 * util/update-grub.in: Likewise.
16897 * util/update-grub_lib.in: Likewise.
16898 * util/grub.d/00_header.in: Likewise.
16899 * util/grub.d/10_hurd.in: Likewise.
16900 * util/grub.d/10_linux.in: Likewise.
16901 * util/i386/efi/grub-install.in: Likewise.
16902 * util/i386/efi/grub-mkimage.c: Likewise.
16903 * util/i386/pc/grub-install.in: Likewise.
16904 * util/i386/pc/grub-mkimage.c: Likewise.
16905 * util/i386/pc/grub-mkrescue.in: Likewise.
16906 * util/i386/pc/grub-setup.c: Likewise.
16907 * util/i386/pc/misc.c: Likewise.
16908 * util/powerpc/ieee1275/grub-install.in: Likewise.
16909 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
16910 * util/powerpc/ieee1275/misc.c: Likewise.
16911 * video/bitmap.c: Likewise.
16912 * video/video.c: Likewise.
16913 * video/i386/pc/vbe.c: Likewise.
16914 * video/i386/pc/vbeblit.c: Likewise.
16915 * video/i386/pc/vbefill.c: Likewise.
16916 * video/i386/pc/vbeutil.c: Likewise.
16917 * video/readers/tga.c: Likewise.
16918
3572d015 169192007-07-02 Robert Millan <rmh@aybabtu.com>
16920
16921 * conf/i386-efi.rmk: Replace obsolete reference to
16922 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
16923 with util/getroot.c.
16924 * conf/powerpc-ieee1275.rmk: Likewise.
16925 * conf/sparc64-ieee1275.rmk: Likewise.
16926
16927 * util/grub-emu.c (main): Fix unchecked pointer handling.
16928
2c2a681b 169292007-07-02 Robert Millan <rmh@aybabtu.com>
16930
16931 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
16932 invocation to fail, in order to support partition-less media.
16933
16934 * util/i386/pc/grub-install.in: Likewise.
16935
16936 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
16937 which fs or partmap modules are needed (akin to its sister scripts).
16938
16939 Also use grub-probe to get rid of unportable /proc/mounts check.
16940
16941 Print the same informational message that the other scripts do, before
fe6b695a 16942 exiting.
2c2a681b 16943
6193defe 169442007-06-23 Robert Millan <rmh@aybabtu.com>
16945
fe6b695a 16946 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 16947 a font file can be found and, if so, echo the GRUB path to it.
16948
16949 * util/update-grub.in: Handle multiple terminals depending on user
16950 input, platform availability and font file presence. Propagate
16951 variables of our findings to /etc/grub.d/ children.
16952
16953 * util/grub.d/00_header.in: Handle multiple terminals, based on
16954 environment setup by update-grub.
16955
eface1dc 169562007-06-23 Robert Millan <rmh@aybabtu.com>
16957
ba50d28f 16958 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 16959
bf697e28 169602007-06-21 Robert Millan <rmh@aybabtu.com>
16961
16962 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
16963 indicate end of data section in kernel image.
16964 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
16965 GRUB_KERNEL_MACHINE_DATA_END.
16966
16967 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
16968 space for it.
16969 * kern/i386/efi/startup.S: Likewise.
16970
16971 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
16972 during image generation. Implement --prefix option to override this
16973 patch.
16974 * util/i386/efi/grub-mkimage.c: Likewise.
16975
16976 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
16977 code to make path relative to its root into a separate function.
16978
16979 * util/i386/pc/grub-install.in: Use newly provided
16980 make_system_path_relative_to_its_root() to convert ${grubdir}, then
16981 pass the result to grub-install --prefix.
16982
baa574b4 169832007-06-13 Robert Millan <rmh@aybabtu.com>
16984
16985 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
16986 DEFAULT_DEVICE_MAP.
16987 * util/grub-emu.c: Use above definitions from misc.h instead of
16988 defining them.
16989 * util/grub-mkdevicemap.c: Likewise.
16990 * util/i386/pc/grub-setup.c: Likewise.
16991 * util/grub-probe.c: Likewise.
16992 (probe): Abort with grub_util_error() when either
16993 grub_guess_root_device or grub_util_get_grub_dev fails.
16994
0215dcbf 169952007-06-12 Robert Millan <rmh@aybabtu.com>
16996
16997 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
16998 "pager" assignment.
16999 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17000 "pcdata".
17001 * util/grub-probe.c (probe): Likewise for "drive_name".
17002
8af2ab7b 170032007-06-11 Robert Millan <rmh@aybabtu.com>
17004
17005 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17006 not just the cdrom one.
17007
59d31694 170082007-06-11 Robert Millan <rmh@aybabtu.com>
17009
17010 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17011 Add --pkglibdir=DIR option to override pkglibdir.
17012 Mention --image-type=TYPE in help output.
17013 Fix --grub-mkimage (it was a no-op).
fe6b695a 17014 Abort gracefully when no parameter is given.
59d31694 17015
7ee367e4 170162007-06-11 Robert Millan <rmh@aybabtu.com>
17017
17018 * util/i386/pc/grub-mkrescue.in: New file.
17019 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17020 * Makefile.in: Handle bin_SCRIPTS.
17021
29b0ed46 170222007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17023
17024 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17025 list of video modes.
17026
c0f90770 170272007-06-06 Robert Millan <rmh@aybabtu.com>
17028
17029 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17030 file doesn't exist, or if it is in a filesystem grub can't read.
17031
17032 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17033 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17034 header comment to fit in 80 columns when the variables are resolved.
17035
17036 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17037 could be identified by update-grub. Remove redundant check for
fe6b695a 17038 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17039 handles that).
17040
fb36dc26 170412007-06-04 Robert Millan <rmh@aybabtu.com>
17042
17043 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17044
17045 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17046
17047 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17048
0c68c93e 170492007-06-04 Robert Millan <rmh@aybabtu.com>
17050
17051 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17052
17053 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17054 grub_apple_partition_map_fini.
17055
17056 * util/biosdisk.c
17057 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17058 to access >2 TiB disks).
17059
17060 Print disk->total_sectors with %llu instead of %lu, since this
17061 variable is always 64-bit (prevents wrong disk size from being displayed
17062 on either >2 TiB disk or big-endian CPU).
17063
17064 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17065 into a generic case that supports all (sane) partition maps.
17066
17067 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17068 breaks big-endian.
17069
17070 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17071 and grub_apple_partition_map_fini() after that.
17072
0f23eb74 170732007-06-01 Robert Millan <rmh@aybabtu.com>
17074
17075 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17076
17077 * util/grub.d/00_header.in: Only enable gfxterm when
17078 convert_system_path_to_grub_path() succeeds.
17079
42c71976 170802007-05-20 Robert Millan <rmh@aybabtu.com>
17081
17082 * util/update-grub_lib.in: New file.
17083 * DISTLIST: Add update-grub_lib.in.
17084 * conf/common.rmk: Generate update-grub_lib and install it in
17085 $(lib_DATA).
17086 * Makefile.in: Add install routine for $(lib_DATA).
17087
17088 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17089 function provided by update-grub_lib to support arbitrary paths of
17090 unifont.pff.
17091 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17092 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17093
5beb2291 170942007-05-19 Robert Millan <rmh@aybabtu.com>
17095
17096 * commands/i386/cpuid.c: New module.
17097 * DISTLIST: Add it.
17098 * conf/i386-efi.rmk: Enable cpuid.mod.
17099 * conf/i386-pc.rmk: Likewise.
17100
7262eca1 171012007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17102
17103 * kern/disk.c (grub_disk_read): Check return value of
17104 grub_realloc().
17105
260ba823 171062007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17107
17108 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17109 arrays.
17110 * disk/raid.c (grub_raid_open): Likewise.
17111
1ecb6cf2 171122007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17113
17114 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17115 stack instead of on the heap.
17116
17117 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17118 before doing a read on it.
17119
17120 * configure.ac: Only use -fno-stack-protector for the target
17121 environment.
f19dbdb7 17122
21c8cbb1 171232007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17124
17125 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17126 __attribute_ ((unused)) to mode_type argument.
17127
17128 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17129
21c8cbb1 17130 * kern/misc.c (memcmp): Fix prototype.
17131
17132 * include/grub/partition.h [GRUB_UTIL]
17133 (grub_gpt_partition_map_init): Add prototype.
17134 (grub_gpt_partition_map_fini): Likewise.
17135
17136 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17137 at the right place.
17138
17139 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17140 (grub_fat_read_data): Likewise.
17141 (grub_fat_find_dir): Likewise.
17142
17143 * font/manager.c (find_glyph): Make table a const.
17144 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17145
849d55d3 171462007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17147
17148 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17149 code, first search for device in /dev/mapper, then in /dev.
17150 (grub_util_get_grub_dev): New function.
17151 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17152 prototype.
17153 * util/grub-probe.c (probe): Remove check for RAID, call
17154 grub_util_get_grub_dev() instead of
17155 grub_util_biosdisk_get_grub_dev().
17156 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17157 grub_util_biosdisk_get_grub_dev().
17158 * util/i386/pc/grub-setup.c (main): Likewise.
17159
8fff7c2f 171602007-05-16 Robert Millan <rmh@aybabtu.com>
17161
17162 * DISTLIST: Update for the latest changes.
17163 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17164 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17165 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17166 grub/util/biosdisk.h.
17167 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17168 grub/util/biosdisk.h.
17169
48e12b52 171702007-05-16 Robert Millan <rmh@aybabtu.com>
17171
17172 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17173
46b9d128 171742007-05-16 Robert Millan <rmh@aybabtu.com>
17175
17176 * util/i386/efi/grub-install.in: New.
17177 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17178 newly added grub-install.
17179 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17180 include.
17181 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17182 grub/util/biosdisk.h.
17183 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17184 grub/util/biosdisk.h.
17185
2d1a40a9 171862007-05-16 Robert Millan <rmh@aybabtu.com>
17187
17188 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17189 * include/grub/util/biosdisk.h: ... here.
17190 * util/i386/pc/biosdisk.c: Moved to ...
17191 * util/biosdisk.c: ... here.
17192 * util/i386/pc/getroot.c: Moved to ...
17193 * util/getroot.c: ... here.
17194 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17195 * util/grub-mkdevicemap.c: ... here.
17196 * util/i386/pc/grub-probe.c: Moved to ...
17197 * util/grub-probe.c: ... here.
17198
9e26e3bc 171992007-05-15 Robert Millan <rmh@aybabtu.com>
17200
17201 * util/update-grub.in: Remove duplicated line in grub.cfg header
17202 message.
17203
57f96397 172042007-05-13 Robert Millan <rmh@aybabtu.com>
17205
17206 * util/update-grub.in: Fix a few assumptions about the devices holding
17207 /, /boot and /boot/grub being the same.
17208 * util/grub.d/00_header.in: Likewise.
17209 * util/grub.d/10_hurd.in: Likewise.
17210 * util/grub.d/10_linux.in: Likewise.
17211
17212 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17213 patterns. Use that to define the `.old' suffix as older than `'.
17214
17215 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17216
17217 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17218 the grub.cfg header message.
17219
2e610d62 172202007-05-11 Robert Millan <rmh@aybabtu.com>
17221
17222 * util/update-grub.in: Create device.map if it doesn't already exist,
17223 before attempting to run grub-probe.
17224 Check for grub-probe and grub-mkdevicemap with the same code
17225 grub-install is using.
17226 Remove test mode.
17227
3f6a10ef 172282007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17229
17230 * Makefile.in: Add the datarootdir autoconf variable.
17231
02e7b75e 172322007-05-09 Robert Millan <rmh@aybabtu.com>
17233
17234 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17235 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17236
75f396cc 172372007-05-07 Robert Millan <rmh@aybabtu.com>
17238
17239 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17240 determine partition map module.
17241 * util/i386/pc/grub-install.in: Use this feature to decide which
17242 partition module to load, instead of hardcoding pc and gpt.
17243
da65cb36 172442007-05-07 Robert Millan <rmh@aybabtu.com>
17245
17246 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17247 source directory differs from build directory.
17248
b57d6a91 172492007-05-05 Robert Millan <rmh@aybabtu.com>
17250
17251 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17252 initialisation.
17253
509d00f1 172542007-05-05 Robert Millan <rmh@aybabtu.com>
17255
17256 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17257
c48f23ef 172582007-05-05 Robert Millan <rmh@aybabtu.com>
17259
17260 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17261 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17262
20b97658 172632007-05-05 Robert Millan <rmh@aybabtu.com>
17264
17265 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17266 (grub_probe_SOURCES): Likewise.
17267 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17268 GPT and initialize dos_part and bsd_part accordingly.
17269 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17270 install_bsd_part.
17271 (main): Activate gpt module for use during partition identification,
17272 and deactivate it afterwards.
17273 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17274 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17275 partition identification, and deactivate it afterwards.
17276
99123174 172772007-05-05 Robert Millan <rmh@aybabtu.com>
17278
17279 * term/i386/pc/console.c (grub_console_fini): Call
17280 grub_term_set_current() before grub_term_unregister().
17281
ebd97f6e 172822007-05-04 Robert Millan <rmh@aybabtu.com>
17283
17284 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17285 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17286 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17287 and update-grub_DATA.
17288 * conf/common.rmk: Build and install update-grub components.
17289 * conf/common.mk: Regenerate.
17290 * util/update-grub.in: New. Core of update-grub.
17291 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17292 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17293 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17294 * util/grub.d/README: New. Document grub.d directory layout.
17295
b06a264d 172962007-05-01 Robert Millan <rmh@aybabtu.com>
17297
17298 * util/grub-emu.c: Move initialization functions
17299 grub_util_biosdisk_init() and grub_init_all() before
17300 grub_util_biosdisk_get_grub_dev(), which relies on them.
17301
41f0050e 173022007-04-19 Robert Millan <rmh@aybabtu.com>
17303
17304 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17305 it is used later.
17306
04582bb3 173072007-04-18 Jerone Young <jerone@gmail.com>
17308
f19dbdb7 17309 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17310 stanza.
17311
08db4632 173122007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17313
08db4632 17314 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17315 continue on and look for device node with real device name.
17316
801b76be 173172007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17318
fe6b695a 17319 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17320 ability.
17321 * Makefile.in: Add autoconf package transformation code.
17322 * util/i386/pc/grub-install.in: Likewise.
17323 * util/powerpc/ieee1275/grub-install.in: Likewise.
17324
6795c4e1 173252007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17326
17327 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17328 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17329 (EXT2_REVISION): Likewise.
17330 (EXT2_INODE_SIZE): Likewise.
17331 (struct grub_ext2_block_group): Added a missing member
17332 "used_dirs".
17333 (grub_ext2_read_inode): Divide by the inode size in a superblock
17334 instead of 128 to obtain INODES_PER_BLOCK.
17335 Use the macro EXT2_INODE_SIZE instead of directly using
17336 SBLOCK->INODE_SIZE.
17337
d70af616 173382007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17339
17340 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17341 superblock instead of the structure size to compute an
17342 offset. This fixes the problem that GRUB could not read a
17343 filesystem when inode size is different from 128-byte.
17344
3b801603 173452007-03-05 Marco Gerards <marco@gnu.org>
17346
17347 * normal/main.c (read_config_file): When "menu" is not set, create
17348 an initial context.
17349
4785bfe4 173502007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17351
17352 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17353 (HEAP_LIMIT): New macro.
17354 (grub_claim_heap): Claim memory up to `heaplimit'.
17355
a0cbb023 173562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17357
17358 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17359 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17360 (_start): Likewise.
17361 (grub_arch_modules_addr): Return address after `_end'.
17362 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17363 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17364 (add_segments): Calculate `_end' from phdr size and location.
17365 (ALIGN_UP): Moved to ...
17366 * include/grub/misc.h: here.
17367 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17368 New macro.
17369 (GRUB_IEEE1275_MODULE_BASE): Removed.
17370
fd7d8eba 173712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17372
17373 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
17374 loop boundary.
17375
9b09e6fc 173762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17377
17378 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
17379 All users updated.
17380 (grub_elf64_load_hook_t): Likewise.
17381 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
17382 debug output.
17383
3ce27299 173842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17385
17386 * kern/mm.c: Update copyright.
17387 (grub_mm_debug): Correct syntax error.
17388 (grub_mm_dump_free): New function.
17389 (grub_debug_free): Call `grub_free'.
17390 * include/grub/mm.h: Update copyright.
17391 (grub_mm_dump_free): Add declaration.
17392
077d5fee 173932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17394
17395 * include/grub/ieee1275/ieee1275.h: Update copyright.
17396 * kern/powerpc/ieee1275/init.c: Likewise.
17397 * kern/powerpc/ieee1275/openfw.c: Likewise.
17398
17399 * loader/powerpc/ieee1275/linux.c: Likewise.
17400 * include/grub/elfload.h: Likewise.
17401 * kern/elf.c: Likewise.
17402 (grub_elf32_load): Pass `base' and `size' parameters. Update all
17403 callers.
17404 (grub_elf64_load): Likewise.
17405 (grub_elf32_load_segment): Move to a nested function.
17406 (grub_elf64_load_segment): Likewise.
17407
dc946850 174082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17409
17410 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
17411 prototype.
17412 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
17413 (grub_heap_len): Likewise.
17414 (HEAP_SIZE): New macro.
17415 (grub_claim_heap): New function.
17416 (grub_machine_init): Don't claim heap directly. Call
17417 `grub_claim_heap'.
17418 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
17419 (grub_available_iterate): New function.
17420
baa2a121 174212007-02-03 Thomas Schwinge <tschwinge@gnu.org>
17422
17423 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
17424 * configure.ac: Use it for testing the HOST and TARGET compilers.
17425
4fe9862e 174262006-12-13 Thomas Schwinge <tschwinge@gnu.org>
17427
17428 * Makefile.in (enable_grub_emu): New variable.
17429 * configure.ac (--enable-grub-emu): New option.
17430 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
17431 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
17432 * conf/i386-pc.rmk: Likewise.
17433 * conf/powerpc-ieee1275.rmk: Likewise.
17434 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
17435
a8aa5762 174362006-12-12 Marco Gerards <marco@gnu.org>
17437
17438 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
17439
17440 * kern/env.c (grub_env_unset): Don't free the member `value' when
17441 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
17442 pointer.
17443
17444 * normal/main.c (current_menu): Removed.
17445 (free_menu): Unset the `menu' environment variable.
17446 (grub_normal_menu_addentry): Make use of the environment variable
17447 `menu', instead of using the global `current_menu'. Allocate
17448 memory for the sourcecode of this entry.
17449 (read_config_file): New argument `nested', changed all callers.
17450 Only in the case of a new context, initialize a new menu. Set the
17451 `menu' environment variable.
17452 (grub_normal_execute): Don't set and unset the environment
17453 variable `menu' here anymore. Only free the menu when leaving the
17454 context.
17455
17456 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
17457 leak.
17458
957b3a3e 174592006-12-11 Marco Gerards <marco@gnu.org>
17460
17461 * normal/menu_entry.c (run): Fix off by one bug so the last line
17462 is executed. Move the loader check to outside the loop.
17463
ef875714 174642006-12-08 Hollis Blanchard <hollis@penguinppc.org>
17465
17466 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
17467
4e739985 174682006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
17469
17470 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
17471 the number of sectors. Reported by Andrey Shuvikov
17472 <mr_hyro@yahoo.com>.
f19dbdb7 17473
790707f2 174742006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
17475
17476 * kern/disk.c (grub_disk_read): When there is a read error, always
17477 try to read only the necessary data.
f19dbdb7 17478
790707f2 17479 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
17480 disk/raid.c.
17481 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
17482 prototype.
17483 [GRUB_UTIL] (grub_raid_fini): Likewise.
17484 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 17485 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 17486 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
17487 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
17488 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
17489 and grub_raid_fini().
f19dbdb7 17490
03e58196 174912006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
17492
17493 * include/grub/types.h (__unused): Rename to UNUSED.
17494 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
17495 (grub_elf64_size): Likewise.
f19dbdb7 17496
ae4f23bf 174972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17498
17499 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
17500 grub_error_push and grub_error_pop in the error-handling path.
17501 (grub_elf32_load_segment): Only call grub_file_read with non-zero
17502 length.
17503
2166cc83 175042006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17505
17506 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
17507 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17509 (kernel_elf_SOURCES): Likewise.
17510 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
17511 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
17512 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17513 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17514 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
17515 (elf_mod_SOURCES): New variable.
17516 (elf_mod_CFLAGS): Likewise.
17517 (elf_mod_LDFLAGS): Likewise.
17518 * include/grub/types.h (__unused): New macro.
17519 * include/grub/elfload.h: New file.
17520 * kern/elf.c: Likewise.
17521 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
17522 (ELF32_LOADMASK): New macro.
17523 (ELF64_LOADMASK): Likewise.
17524 (vmlinux): Removed.
17525 (grub_linux_load32): New function.
17526 (grub_linux_load64): Likewise.
17527 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
17528 Use grub_elf_t instead of grub_file_t.
17529
a09d5aa5 175302006-11-02 Hollis Blanchard <hollis@penguinppc.org>
17531
17532 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
17533 `catch_result' to struct set_color_args.
17534
d976fc51 175352006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17536
17537 * normal/menu.c: Include grub/script.h.
17538 * normal/menu_entry.c: Likewise.
17539 * include/grub/normal.h: Do not include grub/script.h.
17540
67507549 175412006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17542
17543 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
17544
69203a99 175452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17546
17547 * kern/disk.c (grub_disk_open): Print debug messages when opening a
17548 disk.
17549 (grub_disk_close): Print debug messages when closing a disk.
17550 (grub_disk_read): Print debug messages when disk read fails.
17551 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
17552 filesystem type.
17553 * kern/partition.c: Include misc.h.
17554 (grub_partition_iterate): Print debug messages when detecting
17555 partition type.
17556
e2b8278c 175572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17558
17559 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
17560 is negative.
17561 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
17562
97b2f2ff 175632006-10-26 Hollis Blanchard <hollis@penguinppc.org>
17564
17565 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17566 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
17567
6555d655 175682006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
17569
17570 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
17571 instead of sizeof(lv). Patch by Michael Guntsche.
17572
4d42b77f 175732006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
17574
17575 * disk/lvm.c: Rename VGS to VG_LIST.
17576 (grub_lvm_iterate): Change VGS->LV to VG-LV.
17577 (grub_lvm_open): Likewise.
17578 Thanks to Michael Guntsche for finding this bug.
17579
5d74d927 175802006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17581
17582 * configure.ac (AC_INIT): Bumped to 1.95.
17583
a1bb27e4 175842006-10-14 Robert Millan <rmh@aybabtu.com>
17585
17586 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
17587 with "/dev/.static/dev/md".
17588
e0994b8b 175892006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17590
17591 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
17592 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
17593 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
17594 DRIVE_NAME are always freed.
17595
17596 * util/i386/pc/biosdisk.c (make_device_name): Add one into
17597 DOS_PART, as a DOS partition is counted from one instead of zero
17598 now. Reported by Robert Millan.
17599
ddd5cee9 176002006-10-14 Robert Millan <rmh@aybabtu.com>
17601
17602 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
17603 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
17604 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
17605 string returned by grub_guess_root_device.
17606 * util/i386/pc/grub-setup.c: Likewise.
17607 * util/i386/pc/grub-probefs.c: Likewise.
17608
17609 * util/i386/pc/grub-probefs.c: Rename to ...
17610 * util/i386/pc/grub-probe.c: ... this.
17611 * DISTLIST: Remove grub-probefs, add grub-probe.
17612 * conf/i386-efi.rmk: Likewise.
17613 * conf/i386-pc.rmk: Likewise.
17614 * util/i386/pc/grub-install.in: Likewise.
17615
17616 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
17617 choose which information we want to print.
17618
2b002173 176192006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17620
17621 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
17622 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
17623 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
17624 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
17625 video/readers/tga.c and video/i386/pc/vbeutil.c.
17626
176272006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
17628
17629 Added support for RAID and LVM.
f19dbdb7 17630
2b002173 17631 * disk/lvm.c: New file.
17632 * disk/raid.c: Likewise.
17633 * include/grub/lvm.h: Likewise.
f19dbdb7 17634 * include/grub/raid.h: Likewise.
2b002173 17635 * include/grub/util/lvm.h: Likewise.
17636 * include/grub/util/raid.h: Likewise.
17637 * util/lvm.c: Likewise.
17638 * util/raid.c: Likewise.
17639
17640 * include/grub/disk.h (grub_disk_dev_id): Add
17641 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
17642 (grub_disk_get_size): New prototype.
17643 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
17644 returns a partition.
17645 (grub_disk_get_size): New function.
f19dbdb7 17646
2b002173 17647 * kern/i386/pc/init.c (make_install_device): Copy the prefix
17648 verbatim if grub_install_dos_part is -2.
17649
17650 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
17651 and LVM devices.
17652
17653 * util/i386/pc/grub-setup.c (setup): New argument
17654 MUST_EMBED. Force embedding of GRUB when the argument is
17655 true. Close FILE before returning.
17656 (main): Add support for RAID and LVM.
f19dbdb7 17657
2b002173 17658 * conf/common.rmk: Add RAID and LVM modules.
17659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
17660 util/lvm.c.
17661 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
17662
17663 * kern/misc.c (grub_strstr): New function.
17664 * include/grub/misc.h (grub_strstr): New prototype.
17665
050548d0 176662006-10-10 Tristan Gingold <tristan.gingold@bull.net>
17667
17668 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
17669
da849d2d 176702006-10-05 Tristan Gingold <tristan.gingold@bull.net>
17671
17672 * kern/misc.c (grub_strtoull): Guess the base only if not
17673 specified.
17674
97b2f2ff 176752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 17676
17677 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
17678 PowerMac support.
17679
97b2f2ff 176802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 17681
17682 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
17683
17684 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
17685 Remove `flags' argument. All callers changed.
17686 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
17687 (IEEE1275_IHANDLE_INVALID): New variable.
17688 (IEEE1275_CELL_INVALID): New variable.
17689 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17690 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
17691 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
17692 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
17693 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
17694 codes from Open Firmware. All callers updated.
17695 (grub_ieee1275_next_property): Directly return Open Firmware return
17696 code.
17697 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17698 Standardize error checking from `grub_ieee1275_get_property'.
17699 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
17700 `devalias' to `aliases'. Correct comments. Consolidate error paths.
17701
97b2f2ff 177022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 17703
17704 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
17705 `instance_to_package_args' to `instance_to_path_args'.
17706
17707 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
17708 `grub_ieee1275_chosen'.
17709
17710 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
17711 `grub_ieee1275_interpret'.
17712
97b2f2ff 177132006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 17714
17715 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
17716
97b2f2ff 177172006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 17718
17719 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
17720 (__cmpdi): Likewise.
17721
17722 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
17723 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
17724 `grub_ssize_t'.
17725
02bb8acc 17726 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 17727
17728 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
17729 to type `grub_ssize_t'.
17730 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
17731
7f9a8531 177322006-09-22 Marco Gerards <marco@gnu.org>
17733
17734 * normal/script.c (grub_script_create_cmdmenu): Skip leading
17735 newlines.
17736
b5ef1102 177372006-09-22 Marco Gerards <marco@gnu.org>
17738
17739 * commands/echo.c: New file.
17740
17741 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
17742
17743 * conf/common.rmk (echo_mod_SOURCES): New variable.
17744 (echo_mod_CFLAGS): Likewise.
17745 (echo_mod_LDFLAGS): Likewise.
17746
2cff3677 177472006-09-22 Marco Gerards <marco@gnu.org>
17748
17749 * normal/main.c (get_line): Malloc memory instead of using
17750 preallocated memory. Removed the arguments `cmdline' and
17751 `max_len'. Updated all callers.
17752
6ba4688b 177532006-09-22 Marco Gerards <marco@gnu.org>
17754
17755 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17756 (normal_mod_DEPENDENCIES): Likewise.
17757
17758 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17759 (normal_mod_DEPENDENCIES): Likewise.
17760
17761 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17762
e02ac02c 177632006-09-22 Johan Rydberg <jrydberg@gnu.org>
17764
17765 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17766 programs.
17767 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17768 (normal_mod_DEPENDENCIES): Likewise.
17769 * conf/i386-pc.mk: Regenerate.
17770 * conf/i386-efi.mk: Likewise
17771 * conf/common.mk: Likewise.
17772 * conf/powerpc-ieee1275.mk: Likewise.
17773 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17774
8d252e44 177752006-09-22 Robert Millan <rmh@aybabtu.com>
17776
17777 Sync with i386 version.
17778 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17779 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17780
209bf7ac 177812006-09-21 Robert Millan <rmh@aybabtu.com>
17782
17783 Import from GRUB Legacy (lib/device.c):
17784 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17785 (init_device_map) [__linux__]: Add support for I2O devices.
17786
6b146090 177872006-09-14 Marco Gerards <marco@gnu.org>
17788
17789 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17790 `-melf_i386'.
17791
e38600a8 177922006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17793
17794 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17795 /boot/grub/*.lst.
78fa1790 17796
2952da5d 17797 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17798
2952da5d 17799 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17800 before adding it to device.map.
17801
01b82a64 178022006-08-15 Johan Rydberg <jrydberg@gnu.org>
17803
fe6b695a 17804 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17805 compiles a file; using the -MD option.
17806 * conf/common.mk: Regenerate.
17807 * conf/i386-pc.mk: Likewise.
17808 * conf/i386-efi.mk: Likewise.
17809 * conf/powerpc-ieee1275.mk: Likewise.
17810 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17811
1064790d 178122006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17813
17814 Move the prototypes of grub_setjmp and grub_longjmp to
17815 cpu/setjmp.h, so that each architecture may specify different
17816 attributes.
f19dbdb7 17817
1064790d 17818 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17819 (grub_longjmp): Likewise.
17820 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17821 (grub_longjmp): Likewise.
17822 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17823 (grub_longjmp): Likewise.
17824
17825 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17826 [!GRUB_UTIL] (grub_longjmp): Removed.
17827
29dda3ed 178282006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17829
17830 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17831 "color!" method does not return any value.
17832
ad2a06ed 178332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17834
17835 * include/grub/bitmap.h: New file.
17836
17837 * include/grub/i386/pc/vbeutil.h: Likewise.
17838
17839 * video/bitmap.c: Likewise.
17840
17841 * video/readers/tga.c: Likewise.
17842
17843 * video/i386/pc/vbeutil.c: Likewise.
17844
17845 * commands/videotest.c: Code cleanup and updated to reflect to new
17846 video API.
17847
17848 * term/gfxterm.c: Likewise.
17849
17850 * video/video.c: Likewise.
17851
17852 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
17853 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
17854 (bitmap_mod_SOURCES): New entry.
17855 (bitmap_mod_CFLAGS): Likewise.
17856 (bitmap_mod_LDFLAGS): Likewise.
17857 (tga_mod_SOURCES): Likewise.
17858 (tga_mod_CFLAGS): Likewise.
17859 (tga_mod_LDFLAGS): Likewise.
17860
17861 * include/grub/video.h (grub_video_blit_operators): New enum type.
17862 (grub_video_render_target): Changed as forward declaration and moved
17863 actual definition to be video driver specific.
17864 (grub_video_adapter.blit_bitmap): Added blitting operator.
17865 (grub_video_adapter.blit_render_target): Likewise.
17866 (grub_video_blit_bitmap): Likewise.
17867 (grub_video_blit_render_target): Likewise.
17868
17869 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
17870 driver specific render target definition.
17871 (grub_video_vbe_map_rgba): Added driver internal helper.
17872 (grub_video_vbe_unmap_color): Updated to use
17873 grub_video_i386_vbeblit_info.
17874 (grub_video_vbe_get_video_ptr): Likewise.
17875
17876 * include/grub/i386/pc/vbeblit.h
17877 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
17878 grub_video_i386_vbeblit_info.
17879 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17880 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17881 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17882 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17883 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17884 (grub_video_i386_vbeblit_index_index): Likewise.
17885 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
17886 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17887 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17888 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
17889 operator.
17890 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
17891 operator.
17892
17893 * video/i386/pc/vbeblit.c: Updated to reflect changes on
17894 include/grub/i386/pc/vbeblit.h.
17895
17896 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
17897 Updated to use grub_video_i386_vbeblit_info.
17898 (grub_video_i386_vbefill_R8G8B8): Likewise.
17899 (grub_video_i386_vbefill_index): Likewise.
17900 (grub_video_i386_vbefill): Added generic filler.
17901
17902 * video/i386/pc/vbefill.c: Updated to reflect changes on
17903 include/grub/i386/pc/vbefill.h.
17904
17905 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
17906 grub_video_i386_vbeblit_info.
17907 (grub_video_vbe_unmap_color): Likewise.
17908 (grub_video_vbe_blit_glyph): Likewise.
17909 (grub_video_vbe_scroll): Likewise.
17910 (grub_video_vbe_draw_pixel): Removed function.
17911 (grub_video_vbe_get_pixel): Likewise.
17912 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
17913 updated code to use it.
17914 (common_blitter): Added common blitter for render target and bitmap.
17915 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
17916 (grub_video_vbe_blit_render_target): Likewise.
17917
bc8c036d 179182006-07-30 Johan Rydberg <jrydberg@gnu.org>
17919
17920 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
17921 is in text mode if there is no console control protocol instance
17922 available.
17923
684a8eff 179242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17925
17926 * include/grub/video.h: Code cleanup.
17927
17928 * include/grub/i386/pc/vbe.h: Likewise.
17929
17930 * video/i386/pc/vbe.c: Likewise.
17931
17932 * video/i386/pc/vbeblit.c: Likewise.
17933
17934 * video/i386/pc/vbefill.c: Likewise.
17935
17936 * video/video.c: Likewise. Also added more comments.
17937
5915059b 179382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17939
17940 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
17941 (struct grub_biosdisk_dap): Likewise.
17942
17943 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
17944 linkage settings for all functions.
17945
90ce5d56 179462006-07-12 Marco Gerards <marco@gnu.org>
17947
17948 * configure.ac (--enable-mm-debug): Fix typo.
17949
17950 * genkernsyms.sh.in: Use proper quoting for `CC'.
17951
43e7f879 179522006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
17953
17954 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
17955 (normal_mod_ASFLAGS): Remove "-m32".
17956
4889bdec 179572006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
17958
17959 * util/misc.c: Include config.h.
17960 [!HAVE_MEMALIGN]: Do not include malloc.h.
17961 (grub_memalign): Use posix_memalign, if present. Then, use
17962 memalign, if present. Otherwise, emit an error.
17963
17964 * util/grub-emu.c: Do not include malloc.h.
17965
17966 * include/grub/util/misc.h: Include unistd.h. This is required for
17967 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
17968 D. Eades III <hde@foobar-qux.org>.
17969
17970 * configure.ac (AC_GNU_SOURCE): Added.
17971 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
17972 type.
17973
fd39d4da 179742006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
17975
17976 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
17977 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
17978
b786f3b5 179792006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
17980
17981 * include/grub/types.h (grub_host_addr_t): Rename to
17982 grub_target_addr_t.
17983 (grub_host_off_t): Rename to grub_target_off_t.
17984 (grub_host_size_t): Rename to grub_target_size_t.
17985 (grub_host_ssize_t): Rename to grub_target_ssize_t.
17986 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
17987
17988 * include/grub/kernel.h (struct grub_module_header): Change type
17989 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
17990 (grub_module_info): Likewise.
f19dbdb7 17991
051988bb 179922006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17993
17994 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
17995 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
17996 Velazquez <jesus.velazquez@gmail.com>.
17997
deae281b 179982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17999
18000 Count partitions from 1 instead of 0 in the string representation
18001 of partitions. Still use 0-based internally.
f19dbdb7 18002
deae281b 18003 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18004 (sun_partition_map_iterate): Use grub_partition_t instead of
18005 struct grub_partition *. Cast DESC->START_CYLINDER to
18006 grub_uint64_t after converting the endian.
18007 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18008 (sun_partition_map_get_name): Add 1 to P->INDEX.
18009
18010 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18011 PCDATA->DOS_PART.
18012 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18013
18014 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18015 zero instead of one.
18016 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18017 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18018
18019 * partmap/apple.c (apple_partition_map_iterate): Change the type
18020 of POS to unsigned.
18021 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18022 (apple_partition_map_get_name): Add 1 into P->INDEX.
18023
18024 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18025 of POS to unsigned.
18026 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18027 calculate the offset of a partition.
18028 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18029 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18030
18031 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18032 SECTOR to grub_disk_addr_t.
18033 (acorn_partition_map_iterate): Likewise.
18034 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18035 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18036 top.
18037 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18038
18039 * kern/i386/pc/init.c (make_install_device): Add 1 into
18040 GRUB_INSTALL_DOS_PART.
18041
18042 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18043 conditional.
18044
524a1e6a 180452006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18046
18047 Clean up the code to support 64-bit addressing in disks and
18048 files. This change is not enough for filesystems yet.
f19dbdb7 18049
524a1e6a 18050 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18051 type of "start" to grub_uint64_t.
18052 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18053 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18054 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18055 convert addresses.
18056
18057 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18058 to grub_disk_addr_t.
18059
18060 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18061 string.
18062
18063 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18064
18065 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18066 to char *.
18067
18068 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18069
18070 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18071
18072 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18073
18074 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18075 to grub_off_t, to detect an error from grub_file_seek.
18076 (grub_multiboot_load_elf32): Likewise.
18077
18078 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18079 maximum unsigned long value when an overflow is detected.
18080 (grub_strtoull): New function.
18081 (grub_divmod64): Likewise.
18082 (grub_lltoa): use grub_divmod64.
18083
18084 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18085 grub_disk_addr_t.
18086 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18087 the pointer to next character. Use grub_strtoull instead of
18088 grub_strtoul.
18089 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18090 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18091 respectively.
18092
fe6b695a 18093 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18094 return value is signed.
18095 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18096 test if OFFSET is less than zero, as OFFSET is unsigned now.
18097
18098 * kern/disk.c (struct grub_disk_cache): Change the type of
18099 "sector" to grub_disk_addr_t.
18100 (grub_disk_cache_get_index): Change the type of SECTOR to
18101 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18102 unsigned after shifting.
18103 (grub_disk_cache_invalidate): Change the type of SECTOR to
18104 grub_disk_addr_t.
18105 (grub_disk_cache_unlock): Likewise.
18106 (grub_disk_cache_store): Likewise.
18107 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18108 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18109 grub_disk_addr_t and grub_uint64_t, respectively.
18110 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18111 body, as the value of OFFSET is tweaked by
18112 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18113 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18114 respectively.
18115 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18116 body, as the value of OFFSET is tweaked by
18117 grub_disk_check_range. Change the types of LEN and N to
18118 grub_size_t.
18119
18120 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18121 and "saved_offset" to grub_off_t.
18122 (test_header): Cast BUF to char *.
18123 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18124 to char *.
18125 (grub_gzio_read): Change the types of OFFSET and SIZE to
18126 grub_off_t and grub_size_t, respectively.
18127
18128 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18129 Removed.
18130 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18131 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18132 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18133 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18134 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18135
18136 * include/grub/types.h (grub_off_t): Unconditionally set to
18137 grub_uint64_t.
18138 (grub_disk_addr_t): Changed to grub_uint64_t.
18139
18140 * include/grub/partition.h (struct grub_partition): Change the
18141 types of "start", "len" and "offset" to grub_disk_addr_t,
18142 grub_uint64_t and grub_disk_addr_t, respectively.
18143 (grub_partition_get_start): Return grub_disk_addr_t.
18144 (grub_partition_get_len): Return grub_uint64_t.
18145
18146 * include/grub/misc.h (grub_strtoull): New prototype.
18147 (grub_divmod64): Likewise.
18148
18149 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18150 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18151 grub_off_t, respectively.
18152 All callers and references changed.
18153
18154 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18155 grub_size_t in "read".
18156 All callers and references changed.
18157
18158 * include/grub/file.h (struct grub_file): Change the types of
18159 "offset" and "size" to grub_off_t and grub_off_t,
18160 respectively. Change the type of SECTOR to grub_disk_addr_t in
18161 "read_hook".
18162 (grub_file_read): Change the type of LEN to grub_size_t.
18163 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18164 grub_off_t.
18165 (grub_file_size): Return grub_off_t.
18166 (grub_file_tell): Likewise.
18167 All callers and references changed.
18168
18169 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18170 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18171 "write".
18172 (struct grub_disk): Change the type of "total_sectors" to
18173 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18174 "read_hook".
524a1e6a 18175 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18176 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18177 (grub_disk_write): Likewise.
18178 All callers and references changed.
18179
18180 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18181 char * for grub_strncmp to silence gcc.
18182 (grub_iso9660_mount): Likewise.
18183 (grub_iso9660_mount): Likewise.
18184 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18185 return statement.
18186 (grub_iso9660_iterate_dir): Likewise.
18187 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18188
18189 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18190 LEN to grub_disk_addr_t and grub_size_t, respectively.
18191
18192 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18193
18194 * fs/jfs.c (grub_jfs_read_file): Likewise.
18195
18196 * fs/minix.c (grub_jfs_read_file): Likewise.
18197
18198 * fs/sfs.c (grub_jfs_read_file): Likewise.
18199
18200 * fs/ufs.c (grub_jfs_read_file): Likewise.
18201
18202 * fs/xfs.c (grub_jfs_read_file): Likewise.
18203
18204 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18205 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18206 respectively.
18207
18208 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18209 BLKNR to -1 instead of returning GRUB_ERRNO.
18210 (grub_ext2_read_file): Change the types of SECTOR and
18211 LEN to grub_disk_addr_t and grub_size_t, respectively.
18212
18213 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18214 LEN to grub_disk_addr_t and grub_size_t, respectively.
18215
18216 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18217 grub_file_read.
18218
18219 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18220 string. Do not cast SECTOR explicitly.
18221
18222 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18223 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18224 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18225 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18226 over 2TB and LBA mode is not supported, raise an error.
18227 (get_safe_sectors): New function.
18228 (grub_biosdisk_read): Use get_safe_sectors.
18229 (grub_biosdisk_write): Likewise.
18230
18231 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18232 (grub_efidisk_write): Likewise.
18233
18234 * disk/loopback.c (delete_loopback): Cosmetic changes.
18235 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18236 correctly.
18237 (grub_loopback_open): Likewise.
18238 (grub_loopback_read): Likewise. Also, change the type of POS to
18239 grub_off_t, and fix the usage of grub_memset.
18240
18241 * commands/i386/pc/play.c: Include grub/machine/time.h.
18242
18243 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18244 print FILE->SIZE.
18245
18246 * commands/configfile.c: Include grub/env.h.
18247
18248 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18249 GRUB_ERRNO directly instead. Change the type of POS to
18250 grub_off_t. Follow the coding standard.
18251
18252 * commands/blocklist.c: Include grub/partition.h.
18253 (grub_cmd_blocklist): Return an error if the underlying device is
18254 not a disk. Take the starting sector of a partition into account,
18255 if a partition is used.
18256
18257 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18258 a length field.
18259 (lba_mode): Support 64-bit addresses.
18260 (chs_mode): Likewise.
18261 (copy_buffer): Adapted to the new offsets of a length field and a
18262 segment field.
18263 (blocklist_default_start): Allocate 64-bit space.
18264
18265 * boot/i386/pc/boot.S (force_lba): Removed.
18266 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18267 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18268 space.
18269 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18270 is useless.
18271 (lba_mode): Refactored to support a 64-bit address. More size
18272 optimization.
18273 (setup_sectors): Likewise.
18274
53af98ad 182752006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18276
18277 * DISTLIST: Added include/grub/i386/linux.h. Removed
18278 include/grub/i386/pc/linux.h
18279
18280 * configure.ac (AC_INIT): Bumped to 1.94.
18281
18282 * config.guess: Updated from gnulib.
18283 * config.sub: Likewise.
18284 * install-sh: Likewise.
18285 * mkinstalldirs: Likewise.
18286
b4c1940a 182872006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18288
18289 * conf/common.rmk (grub_modules_init.lst): Depended on
18290 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18291 MODSRCFILES.
18292
18293 * genmk.rb (PModule::rule): Reverted the previous change.
18294
cfca1cfd 182952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18296
18297 * conf/common.rmk (grub_modules_init.lst): Depends on
18298 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18299 that the target does not exist before producing.
18300 (grub_modules_init.h): Remove the target before generating.
18301 (grub_emu_init.c): Likewise.
18302
18303 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18304
aa6d7826 183052006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18306
18307 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18308 for the target-specific tests. Make sure that we also have the
18309 up-to-date target variables for those tests.
18310
26c607b9 183112006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18312
18313 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18314 (PModule::rule): Likewise.
18315
0162321a 183162006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18317
18318 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18319 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18320 target-specific flags should be prefixed.
18321 (PModule::rule): Likewise.
18322
6c826348 183232006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18324
18325 * configure.ac (CMP): Check if cmp is available explicitly.
18326
b977bf01 183272006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18328
18329 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18330 (target_cpu): New variable.
18331 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18332
b977bf01 18333 * util/i386/pc/grub-install.in (host_cpu): Removed.
18334 (target_cpu): New variable.
18335 (pkglibdir): Use target_cpu instead of host_cpu.
18336
18337 * util/genmoddep.c: Removed.
f19dbdb7 18338
b977bf01 18339 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18340 instead of GRUB_HOST_SIZEOF_VOID_P.
18341 * kern/dl.c: Likewise.
18342
18343 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18344 ...
18345 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18346 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18347 (GRUB_TARGET_SIZEOF_LONG): ... this.
18348 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18349 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18350 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18351 to ...
18352 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18353 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18354 (GRUB_TARGET_SIZEOF_LONG): ... this.
18355 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18356 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18357 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18358 to ...
18359 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18360 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18361 (GRUB_TARGET_SIZEOF_LONG): ... this.
18362 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18363 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18364
18365 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18366 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18367 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18368 instead of GRUB_HOST_SIZEOF_LONG.
18369 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18370 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18371 GRUB_CPU_WORDS_BIGENDIAN.
18372 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
18373 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
18374 grub_host_ssize_t.
18375
18376 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
18377 (genmoddep_SOURCES): Likewise.
18378 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
18379 (genmoddep_SOURCES): Likewise.
18380 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
18381 (genmoddep_SOURCES): Likewise.
18382 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
18383 Likewise.
18384 (genmoddep_SOURCES): Likewise.
18385
18386 * genmoddep.awk: New file.
18387
18388 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
18389 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
18390 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
18391 (PModule::rule): Likewise.
18392 (Program::rule): Likewise.
18393 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
18394 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
18395 respectively.
18396
18397 * configure.ac: Rewritten intensively to use host and target
18398 instead of build and host, respectively.
18399
18400 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
18401 (host_cpu): Removed.
18402 (target_cpu): New variable.
18403 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
18404 (BUILD_CC): Removed.
18405 (BUILD_CFLAGS): Likewise.
18406 (BUILD_CPPFLAGS): Likewise.
18407 (TARGET_CC): New variable.
18408 (TARGET_CFLAGS): Likewise.
18409 (TARGET_CPPFLAGS): Likewise.
18410 (TARGET_LDFLAGS): Likewise.
18411 (AWK): Likewise.
18412 (include): Use target_cpu instead of host_cpu.
18413 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 18414
b977bf01 18415 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
18416
f09771a1 184172006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
18418
18419 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
18420 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
18421 field 'false' to 'exec_on_false'.
18422 (grub_script_create_cmdif): Renamed argument names to reflect above
18423 changes.
18424
18425 * normal/execute.c (grub_script_execute_cmdif): Likewise.
18426
18427 * normal/script.c (grub_script_create_cmdif): Likewise.
18428
118f4fb3 184292006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
18430
18431 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
18432 top.
18433 (grub_hfsplus_btree_recptr): Likewise.
18434 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
18435 FILEBLOCK both to pass a block number and store next block
18436 number.
18437 (grub_hfsplus_read_block): Rewritten heavily to support an extent
18438 overflow file correctly. Specify errors appropriately, because
18439 fshelp expects that GRUB_ERRNO is set when fails. Reuse
18440 grub_hfsplus_btree_recptr to get the pointer to a found key.
18441 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
18442 is found.
18443
18444 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
18445 linux.mod.
18446 (_linux_mod_SOURCES): New variable.
18447 (_linux_mod_CFLAGS): Likewise.
18448 (_linux_mod_LDFLAGS): Likewise.
18449 (linux_mod_SOURCES): Likewise.
18450 (linux_mod_CFLAGS): Likewise.
18451 (linux_mod_LDFLAGS): Likewise.
18452
18453 * DISTLIST: Added loader/i386/efi/linux.c,
18454 loader/i386/efi/linux_normal.c and
18455 include/grub/i386/efi/loader.h.
18456
18457 * loader/i386/efi/linux.c: New file.
18458 * loader/i386/efi/linux_normal.c: Likewise.
18459 * include/grub/i386/efi/loader.h: Likewise.
18460
89a7d726 184612006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
18462
18463 * commands/blocklist.c: New file.
18464
18465 * DISTLIST: Added commands/blocklist.c.
18466
18467 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 18468 color for the background, and a darker color for the foreground.
89a7d726 18469 (grub_console_checkkey): Return READ_KEY.
18470 (grub_console_cls): Set the background to
18471 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
18472
18473 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
18474
18475 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
18476 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
18477
18478 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
18479 prototype.
18480
18481 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
18482 BG. The spec is wrong again.
18483
18484 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
18485 prototype.
18486 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
18487
18488 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18489 commands/blocklist.c.
18490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 18491
89a7d726 18492 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
18493 (blocklist_mod_SOURCES): New variable.
18494 (blocklist_mod_CFLAGS): Likewise.
18495 (blocklist_mod_LDFLAGS): Likewise.
18496
75c8f258 184972006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
18498
18499 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
18500 duplication.
18501 (lba_mode): Use %eax more intensively to reduce the code size.
18502
da2eb181 185032006-05-20 Marco Gerards <marco@gnu.org>
18504
18505 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
18506
18507 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
18508 for `menuentry'.
18509 (script): Accept leading newlines.
18510 (newlines): New rule to describe 0 or more newlines.
18511 (commands): Accept `command' with trailing newline. Fixed the
18512 order in which arguments were passed to `grub_script_add_cmd'.
18513 Accept commands separated by newlines.
18514 (function): Changed to accept newlines.
18515 (menuentry) Rewritten.
18516
18517 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
18518 front of the list, instead of to the end.
18519
577b4050 185202006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
18521
18522 * util/i386/pc/grub-install.in (bindir): New variable.
18523 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
18524 Shaver <lbgwjl@gmail.com>.
18525
0d6e1189 185262006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
18527
18528 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
18529 grub/machine/linux.h
18530 * loader/i386/pc/linux.c: Likewise.
18531
18532 * include/grub/i386/pc/linux.h: Moved to ...
18533 * include/grub/i386/linux.h: ... here.
18534
18535 * include/grub/i386/linux.h (struct linux_kernel_params): New
18536 struct.
f19dbdb7 18537
31b86e9f 185382006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
18539
18540 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
18541 checking.
18542 (grub_video_vbe_blit_glyph): Likewise.
18543 (grub_video_vbe_blit_bitmap): Likewise.
18544 (grub_video_vbe_blit_render_target): Likewise.
18545
83b984de 185462006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
18547
18548 * configure.ac (--with-platform): Properly quote the square
18549 brackets.
18550
5f0413bd 185512006-05-08 Marco Gerards <marco@gnu.org>
18552
18553 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
18554 this...
18555 (kernel_elf_HEADERS): ...to this. Updated all users.
18556 (grubof_symlist.c): Renamed from this...
18557 (kernel_elf_symlist.c): ...to this. Updated all users.
18558 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18559 (grubof_SOURCES): Renamed from this...
18560 (kernel_elf_SOURCES): ...to this.
18561 (grubof_HEADERS): Renamed from this...
18562 (kernel_elf_HEADERS): ...to this.
18563 (grubof_CFLAGS): Renamed from this...
18564 (kernel_elf_CFLAGS): ...to this.
18565 (grubof_ASFLAGS): Renamed from this...
18566 (kernel_elf_ASFLAGS): ...to this.
18567 (grubof_LDFLAGS): Renamed from this...
18568 (kernel_elf_LDFLAGS): ...to this.
18569
18570 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
18571 this...
18572 (kernel_elf_HEADERS): ...to this. Updated all users.
18573 (grubof_symlist.c): Renamed from this...
18574 (kernel_elf_symlist.c): ...to this. Updated all users.
18575 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18576 (grubof_SOURCES): Renamed from this...
18577 (kernel_elf_SOURCES): ...to this.
18578 (grubof_HEADERS): Renamed from this...
18579 (kernel_elf_HEADERS): ...to this.
18580 (grubof_CFLAGS): Renamed from this...
18581 (kernel_elf_CFLAGS): ...to this.
18582 (grubof_ASFLAGS): Renamed from this...
18583 (kernel_elf_ASFLAGS): ...to this.
18584 (grubof_LDFLAGS): Renamed from this...
18585 (kernel_elf_LDFLAGS): ...to this.
18586
18587 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
18588 `kernel.elf' instead of `grubof'.
18589
05568c2e 185902006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
18591
18592 Add --with-platform to configure. Use pkglibdir instead of
18593 pkgdatadir. This is reported by Roger Leigh.
18594
18595 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
18596 (host_vendor): Likewise.
18597 (host_os): Likewise.
18598 (pkgdatadir): Likewise.
18599 (platform): New variable.
18600 (pkglibdir): Likewise.
18601 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 18602
05568c2e 18603 * util/i386/pc/grub-install.in (datadir): Removed.
18604 (host_vendor): Likewise.
18605 (host_os): Likewise.
18606 (pkgdatadir): Likewise.
18607 (platform): New variable.
18608 (pkglibdir): Likewise.
18609 Use PKGLIBDIR instead of PKGDATADIR.
18610
18611 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
18612 instead of GRUB_DATADIR.
18613 (main): Likewise.
18614 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18615 (main): Likewise.
18616 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18617 (main): Likewise.
18618
18619 * configure.ac (--with-platform): New option.
18620 Use PLATFORM instead of HOST_VENDOR to specify a platform.
18621
18622 * Makefile.in: Include a makefile based on PLATFORM instead of
18623 HOST_VENDOR.
18624 (pkgdatadir): Not appended by the machine type.
18625 (pkglibdir): Appended by the machine type.
18626 (host_vendor): Removed.
18627 (platform): New variable.
18628 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
18629 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
18630 (uninstall): Likewise.
18631
4e93851c 186322006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
18633
18634 Use the environment context in the menu. Remove the commands
18635 "default" and "timeout", and use variables instead.
f19dbdb7 18636
4e93851c 18637 * normal/menu.c: Include grub/env.h.
18638 (print_entry): Cast TITLE to silence gcc.
18639 (get_timeout): New function.
18640 (set_timeout): Likewise.
18641 (get_entry_number): Likewise.
18642 (run_menu): Use a default entry, a fallback entry and a timeout
18643 in the environment variables "default", "fallback" and
18644 "timeout". Also, tweak the default entry if it is not within the
18645 current menu entries.
18646 (grub_menu_run): Use a fallback entry in the environment variable
18647 "fallback".
18648
18649 * normal/main.c (read_config_file): Do not initialize
18650 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
18651 NEWMENU->TIMEOUT.
18652 (grub_normal_execute): Use a data slot to store the menu.
18653
18654 * include/grub/normal.h (struct grub_menu): Removed default_entry,
18655 fallback_entry and timeout.
18656 (struct grub_menu_list): Removed.
18657 (grub_menu_list_t): Likewise.
18658 (struct grub_context): Likewise.
18659 (grub_context_t): Likewise.
18660 (grub_context_get): Likewise.
18661 (grub_context_get_current_menu): Likewise.
18662 (grub_context_push_menu): Likewise.
18663 (grub_context_pop_menu): Likewise.
18664 (grub_default_init): Likewise.
18665 (grub_default_fini): Likewise.
18666 (grub_timeout_init): Likewise.
18667 (grub_timeout_fini): Likewise.
18668
18669 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
18670 and timeout.mod.
18671 (normal_mod_SOURCES): Removed normal/context.c.
18672
18673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
18674 commands/default.c, commands/timeout.c and normal/context.c.
18675 (normal_mod_SOURCES): Removed normal/context.c.
18676
18677 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
18678 commands/timeout.c and normal/context.c.
18679 (normal_mod_SOURCES): Removed normal/context.c.
18680
18681 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
18682 commands/default.c, commands/timeout.c and normal/context.c.
18683 (normal_mod_SOURCES): Removed normal/context.c.
18684
18685 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
18686 timeout.mod.
18687 (default_mod_SOURCES): Removed.
18688 (default_mod_CFLAGS): Likewise.
18689 (default_mod_LDFLAGS): Likewise.
18690 (timeout_mod_SOURCES): Removed.
18691 (timeout_mod_CFLAGS): Likewise.
18692 (timeout_mod_LDFLAGS): Likewise.
18693
18694 * DISTLIST: Removed commands/default.c, commands/timeout.c and
18695 normal/context.c.
18696
18697 * commands/default.c: Removed.
18698 * commands/timeout.c: Likewise.
18699 * normal/context.c: Likewise.
18700
1eb9cc1d 187012006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
18702
18703 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
18704
385bd9c1 187052006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
18706
18707 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
18708 "next" to "prev" for readability.
18709 (struct grub_env_sorted_var): New struct.
18710 (grub_env_context): Renamed to ...
18711 (initial_context): ... this.
18712 (grub_env_var_context): Renamed to ...
18713 (current_context): ... this.
18714 (grub_env_find): Look only at CURRENT_CONTEXT.
18715 (grub_env_context_open): Rewritten to copy exported variables from
18716 previous context.
18717 (grub_env_context_close): Rewritten according to the new
18718 scheme. Also, add an assertion to prevent the initial context from
18719 removed.
18720 (grub_env_insert): Removed the code for the sorted list.
18721 (grub_env_remove): Likewise.
18722 (grub_env_export): Simply mark the variable with
18723 GRUB_ENV_VAR_GLOBAL.
18724 (grub_env_set): A cosmetic change for naming consistency.
18725 (grub_env_get): Likewise.
18726 (grub_env_unset): Likewise.
18727 (grub_env_iterate): Rewritten to sort variables within this
18728 function.
18729 (grub_register_variable_hook): Fixed for naming consistency. Call
18730 grub_env_find again, only if NAME is not found at the first time.
18731 (mangle_data_slot_name): New function.
18732 (grub_env_set_data_slot): Likewise.
18733 (grub_env_get_data_slot): Likewise.
18734 (grub_env_unset_data_slot): Likewise.
18735
18736 * include/grub/env.h (grub_env_var_type): New enum.
18737 (GRUB_ENV_VAR_LOCAL): New constant.
18738 (GRUB_ENV_VAR_GLOBAL): Likewise.
18739 (GRUB_ENV_VAR_DATA): Likewise.
18740 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
18741 "type".
18742 (grub_env_set): Replace VAR with NAME for consistency.
18743 (grub_register_variable_hook): Likewise.
18744 (grub_env_export): Specify the name of the argument.
18745 (grub_env_set_data_slot): New prototype.
18746 (grub_env_get_data_slot): Likewise.
18747 (grub_env_unset_data_slot): Likewise.
18748
7f362539 187492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18750
18751 Extend the loader so that GRUB can accept a loader which comes
18752 back to GRUB when a loaded image exits. Also, this change adds
18753 support for a chainloader on EFI.
f19dbdb7 18754
7f362539 18755 * term/efi/console.c: Include grub/misc.h.
18756 (grub_console_checkkey): Display a scan code on the top for
18757 debugging. This will be removed once the EFI port gets stable.
18758 Correct the scan code mapping.
18759
18760 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18761 allocate memory from larger regions, in order to reduce the number
18762 of allocated regions. Otherwise, the MacOSX loader panics.
18763 (filter_memory_map): Avoid less than 1MB for compatibility with
18764 other loaders.
18765 (add_memory_regions): Allocate from the tail of a region, if
18766 possible, to avoid allocating a region near to 1MB, for the MacOSX
18767 loader.
18768
18769 * kern/efi/init.c (grub_efi_set_prefix): Specify
18770 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18771
18772 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18773 argument IMAGE_HANDLE and specify it to get a loaded image.
18774 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18775 grub_efi_get_loaded_image.
fe6b695a 18776 (grub_efi_get_filename): Divide the length by the size of
7f362539 18777 grub_efi_char16_t.
18778 (grub_efi_get_device_path): New function.
18779 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18780 the length by the size of grub_efi_char16_t for a file path device
18781 path node.
18782
18783 * kern/loader.c (grub_loader_noreturn): New variable.
18784 (grub_loader_set): Accept a new argument NORETURN. Set
18785 GRUB_LOADER_NORETURN to NORETURN.
18786 All callers changed.
18787 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18788 grub_machine_fini.
18789
18790 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18791 prototype.
18792 (grub_efi_get_loaded_image): Take an argument to specify an image
18793 handle.
18794
18795 * include/grub/loader.h (grub_loader_set): Added one more argument
18796 NORETURN.
18797
18798 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18799 instead of grub_efi_open_protocol.
18800 (grub_efidisk_get_device_name): Likewise.
18801 (grub_efidisk_close): Print a newline.
18802 (grub_efidisk_get_device_handle): Fixed to use
18803 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18804 GRUB_EFI_DEVICE_PATH_TYPE.
18805
18806 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18807 * kern/efi/efi.c (device_path_guid): ... here.
18808
18809 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18810 chain.mod.
18811 (kernel_mod_HEADERS): Added efi/disk.h.
18812 (_chain_mod_SOURCES): New variable.
18813 (_chain_mod_CFLAGS): Likewise.
18814 (_chain_mod_LDFLAGS): Likewise.
18815 (chain_mod_SOURCES): Likewise.
18816 (chain_mod_CFLAGS): Likewise.
18817 (chain_mod_LDFLAGS): Likewise.
18818
18819 * DISTLIST: Added include/grub/efi/chainloader.h,
18820 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18821
18822 * include/grub/efi/chainloader.h: New file.
18823 * loader/efi/chainloader.c: Likewise.
18824 * loader/efi/chainloader_normal.c: Likewise.
18825
c0111d6e 188262006-04-30 Marco Gerards <marco@gnu.org>
18827
18828 * commands/configfile.c (grub_cmd_source): New function.
18829 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18830 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18831
df5341da 188322006-04-30 Marco Gerards <marco@gnu.org>
18833
18834 * normal/execute.c (grub_script_execute_cmd): Change the return
18835 type to `grub_err_t'. Correctly return the error.
18836 (grub_script_execute_cmdline): In case a command line is not a
18837 command or a function, try to interpret it as an assignment.
18838
f85934bd 188392006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18840
18841 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
18842 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
18843 skip a node whose name is obviously invalid as UTF-16,
18844 i.e. contains a NUL character. Stop the iteration when the last
18845 directory entry is found. Instead of using the return value of
18846 grub_hfsplus_btree_iterate_node, store the value in RET and use
18847 it, because the iterator can be stopped by the last directory
18848 entry.
18849
8f8a2cf8 188502006-04-30 Marco Gerards <marco@gnu.org>
18851
18852 * include/grub/env.h (grub_env_export): New prototype. Reported
18853 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
18854
a27e84ce 188552006-04-30 Marco Gerards <marco@gnu.org>
18856
18857 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
18858 size of the extents in a catalog file record.
18859
eaef0553 188602006-04-29 Marco Gerards <marco@gnu.org>
18861
18862 * commands/configfile.c (grub_cmd_configfile): Execute the
18863 configfile within its own context.
18864
18865 * include/grub/env.h (grub_env_context_open): New prototype.
18866 (grub_env_context_close): Likewise.
18867
18868 * kern/env.c (grub_env): Removed.
18869 (grub_env_sorted): Likewise.
18870 (grub_env_context): New variable.
18871 (grub_env_var_context): Likewise.
18872 (grub_env_find): Search both the active context and the global
18873 context.
18874 (grub_env_context_open): New function.
18875 (grub_env_context_close): Likewise.
18876 (grub_env_insert): Likewise.
18877 (grub_env_remove): Likewise.
18878 (grub_env_export): Likewise.
18879 (grub_env_set): Changed to use helper functions to avoid code
18880 duplication.
18881 (grub_env_iterate): Rewritten so both the current context and the
18882 global context are being used.
18883
18884 * normal/command.c (export_command): New function.
18885 (grub_command_init): Register the `export' function.
18886
7b455f4d 188872006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
18888
18889 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
18890 explicitly to suppress gcc's warnings.
18891 * fs/fat.c (grub_fat_find_dir): Likewise.
18892 (grub_fat_label): Likewise.
18893 * fs/xfs.c (grub_xfs_read_inode): Likewise.
18894 (grub_xfs_mount): Likewise.
18895 (grub_xfs_label): Likewise.
18896 * fs/affs.c (grub_affs_mount): Likewise.
18897 (grub_affs_label): Likewise.
18898 (grub_affs_iterate_dir): Likewise.
18899 * fs/sfs.c (grub_sfs_mount): Likewise.
18900 (grub_sfs_iterate_dir): Likewise.
18901 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
18902 * fs/hfs.c (grub_hfs_mount): Likewise.
18903 (grub_hfs_cmp_catkeys): Likewise.
18904 (grub_hfs_find_dir): Likewise.
18905 (grub_hfs_dir): Likewise.
18906 (grub_hfs_label): Likewise.
18907 * fs/jfs.c (grub_jfs_mount): Likewise.
18908 (grub_jfs_opendir): Likewise.
18909 (grub_jfs_getent): Likewise.
18910 (grub_jfs_lookup_symlink): Likewise.
18911 (grub_jfs_label): Likewise.
18912 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
18913 (grub_hfsplus_iterate_dir): Likewise.
18914 (grub_hfsplus_btree_iterate_node): Made static.
18915
18916 * util/grub-emu.c (prefix): New variable.
18917 (grub_machine_set_prefix): New function.
18918 (main): Do not set the environment variable "prefix" here. Only
18919 set PREFIX, which is used later by grub_machine_set_prefix.
18920
18921 * include/grub/video.h: Do not include grub/symbol.h.
18922 (grub_video_register): Not exported. This symbol is not defined in
18923 the kernel.
18924 (grub_video_unregister): Likewise.
18925 (grub_video_iterate): Likewise.
18926 (grub_video_setup): Likewise.
18927 (grub_video_restore): Likewise.
18928 (grub_video_get_info): Likewise.
18929 (grub_video_get_blit_format): Likewise.
18930 (grub_video_set_palette): Likewise.
18931 (grub_video_get_palette): Likewise.
18932 (grub_video_set_viewport): Likewise.
18933 (grub_video_get_viewport): Likewise.
18934 (grub_video_map_color): Likewise.
18935 (grub_video_map_rgb): Likewise.
18936 (grub_video_map_rgba): Likewise.
18937 (grub_video_fill_rect): Likewise.
18938 (grub_video_blit_glyph): Likewise.
18939 (grub_video_blit_bitmap): Likewise.
18940 (grub_video_blit_render_target): Likewise.
18941 (grub_video_scroll): Likewise.
18942 (grub_video_swap_buffers): Likewise.
18943 (grub_video_create_render_target): Likewise.
18944 (grub_video_delete_render_target): Likewise.
18945 (grub_video_set_active_render_target): Likewise.
18946
18947 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
18948 Undefined.
18949 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
18950
18951 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
18952 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18953 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18954 instead of $(srcdir)/genkernsyms.sh.
18955
18956 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
18957 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18958 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18959 instead of $(srcdir)/genkernsyms.sh.
18960
18961 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
18962 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18963 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18964 instead of $(srcdir)/genkernsyms.sh.
18965
18966 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
18967 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18968 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18969 instead of $(srcdir)/genkernsyms.sh.
18970
18971 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
18972 genkernsyms.sh.
18973
18974 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
18975 genkernsyms.sh.
18976 (gensymlist.sh): New target.
18977 (genkernsyms.sh): Likewise.
18978
18979 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
18980 genkernsyms.sh.in and gensymlist.sh.in.
18981
18982 * genkernsyms.sh: Removed.
18983 * gensymlist.sh: Likewise.
f19dbdb7 18984
7b455f4d 18985 * genkernsyms.sh.in: New file.
18986 * gensymlist.sh.in: Likewise.
18987
1885bb27 189882006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18989
18990 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
18991 clobber "prefix", since we may have already set it manually.
18992
71538dff 189932006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18994
18995 * kern/misc.c (abort): New alias for grub_abort.
18996
2965c7cc 189972006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
18998
18999 A new machine-specific function "grub_machine_set_prefix" is
19000 defined. This is called after loading modules, so that a prefix
19001 initialization can use modules. Also, this change adds an
19002 intensive debugging feature for the memory manager via the
19003 configure option "--enable-mm-debug".
f19dbdb7 19004
2965c7cc 19005 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19006 PART.LEN.
19007
19008 * kern/sparc64/ieee1275/init.c (abort): Removed.
19009 (grub_stop): Likewise.
19010 (grub_exit): New function.
19011 (grub_set_prefix): Renamed to ...
19012 (grub_machine_set_prefix): ... this.
19013 (grub_machine_init): Do not call grub_set_prefix.
19014
19015 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19016 (grub_machine_set_prefix): ... this.
19017 (grub_machine_init): Do not call grub_set_prefix.
19018
19019 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19020 (grub_machine_init): Do not set the prefix here.
19021
19022 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19023
19024 * kern/efi/init.c: Include grub/mm.h.
19025 (grub_efi_set_prefix): New function.
19026
19027 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19028 (grub_efi_get_filename): New function.
19029 (grub_print_device_path): Renamed to ...
19030 (grub_efi_print_device_path): ... this.
19031
19032 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19033 [MM_DEBUG] (grub_realloc): Likewise.
19034 [MM_DEBUG] (grub_free): Likewise.
19035 [MM_DEBUG] (grub_memalign): Likewise.
19036 [MM_DEBUG] (grub_mm_debug): New variable.
19037 [MM_DEBUG] (grub_debug_malloc): New function.
19038 [MM_DEBUG] (grub_debug_free): New function.
19039 [MM_DEBUG] (grub_debug_realloc): New function.
19040 [MM_DEBUG] (grub_debug_memalign): New function.
19041
19042 * kern/misc.c (grub_abort): Print a newline to distinguish
19043 the message.
19044
19045 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19046 grub_set_root_dev after loading modules. This is necessary when
19047 setting a prefix depends on modules.
19048
19049 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19050 (grub_efi_print_device_path): ... this.
19051 (grub_efi_get_filename): New prototype.
19052 (grub_efi_set_prefix): Likewise.
19053
19054 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19055 and grub/disk.h.
19056 (grub_efidisk_get_device_handle): New prototype.
19057 (grub_efidisk_get_device_name): Likewise.
19058
19059 * include/grub/mm.h: Include config.h.
19060 (MM_DEBUG): Removed.
19061 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19062 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19063 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19064 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19065 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19066 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19067 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19068 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19069 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19070
19071 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19072
19073 * disk/efi/efidisk.c: Include grub/partition.h.
19074 (iterate_child_devices): New function.
19075 (add_device): First, compare only last device path nodes, so that
19076 devices are sorted by the types.
19077 (grub_efidisk_get_device_handle): New function.
19078 (grub_efidisk_get_device_name): Likewise.
19079
19080 * configure.ac (--enable-mm-debug): New option to enable the
19081 memory manager debugging feature. This makes the binary much
19082 bigger, so is disabled by default.
19083
9cacaa17 190842006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19085
19086 Use grub_abort instead of grub_stop, and grub_exit must be
19087 define in each architecture now. Also, this change adds support
19088 for EFI disks.
f19dbdb7 19089
9cacaa17 19090 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19091 (grub_getkey): New function.
19092 (grub_term_get_current): Likewise.
19093
19094 * util/i386/pc/grub-setup.c: Include grub/term.h.
19095 (grub_getkey): New function.
19096 (grub_term_get_current): Likewise.
19097
19098 * util/misc.c (grub_stop): Renamed to ...
19099 (grub_exit): ... this.
19100
19101 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19102 (grub_exit): ... this.
19103 (grub_machine_init): Use grub_abort instead of abort.
19104 (grub_stop): Removed.
19105
19106 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19107 abort.
19108
19109 * kern/i386/pc/startup.S (grub_exit): New function.
19110 (cold_reboot): New label.
19111
19112 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19113 (grub_efi_init): Call grub_efidisk_init.
19114 (grub_efi_fini): Call grub_efidisk_fini.
19115
19116 * kern/efi/efi.c: Include grub/mm.h.
19117 (grub_efi_console_control_guid): Renamed to ...
19118 (console_control_guid): ... this.
19119 (grub_efi_loaded_image_guid): Renamed to ...
19120 (loaded_image_guid): ... this.
19121 (grub_efi_locate_handle): New function.
19122 (grub_efi_open_protocol): Likewise.
19123 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19124 GRUB_EFI_CONSOLE_CONTROL_GUID.
19125 (grub_efi_exit): Removed.
19126 (grub_stop): Likewise.
19127 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19128 (grub_exit): New function.
19129 (grub_print_device_path): Likewise.
19130
19131 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19132 (grub_enter_rescue_mode): Register "exit".
19133
19134 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19135 (grub_abort): New function.
19136
19137 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19138
19139 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19140
19141 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19142
19143 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19144 (grub_print_device_path): New prototype.
19145 (grub_efi_locate_handle): Likewise.
19146 (grub_efi_open_protocol): Likewise.
19147
19148 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19149 * disk/efi/efidisk.c: Likewise.
19150
19151 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19152
19153 * include/grub/efi/console_control.h
19154 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19155
19156 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19157 last 8 bytes as an array.
19158 (GRUB_EFI_DISK_IO_GUID): New macro.
19159 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19160 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19161 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19162 grub_uint8_t.
19163 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19164 (struct grub_efi_device_path): Rename the member "sub_type" to
19165 "subtype".
19166 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19167 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19168 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19169 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19170 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19171 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19172 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19173 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19174 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19175 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19176 (struct grub_efi_pci_device_path): New structure.
19177 (grub_efi_pci_device_path_t): New type.
19178 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19179 (struct grub_efi_pccard_device_path): New structure.
19180 (grub_efi_pccard_device_path_t): New type.
19181 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19182 (struct grub_efi_memory_mapped_device_path): New structure.
19183 (grub_efi_memory_mapped_device_path_t): New type.
19184 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19185 (struct grub_efi_vendor_device_path): New structure.
19186 (grub_efi_vendor_device_path_t): New type.
19187 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19188 (struct grub_efi_controller_device_path): New structure.
19189 (grub_efi_controller_device_path_t): New type.
19190 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19191 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19192 (struct grub_efi_acpi_device_path): New structure.
19193 (grub_efi_acpi_device_path_t): New type.
19194 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19195 (struct grub_efi_expanded_acpi_device_path): New structure.
19196 (grub_efi_expanded_acpi_device_path_t): New type.
19197 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19198 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19199 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19200 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19201 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19202 (struct grub_efi_atapi_device_path): New structure.
19203 (grub_efi_atapi_device_path_t): New type.
19204 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19205 (struct grub_efi_fibre_channel_device_path): New structure.
19206 (grub_efi_fibre_channel_device_path_t): New type.
19207 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19208 (struct grub_efi_1394_device_path): New structure.
19209 (grub_efi_1394_device_path_t): New type.
19210 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19211 (struct grub_efi_usb_device_path): New structure.
19212 (grub_efi_usb_device_path_t): New type.
19213 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19214 (struct grub_efi_usb_class_device_path): New structure.
19215 (grub_efi_usb_class_device_path_t): New type.
19216 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19217 (struct grub_efi_i2o_device_path): New structure.
19218 (grub_efi_i2o_device_path_t): New type.
19219 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19220 (struct grub_efi_mac_address_device_path): New structure.
19221 (grub_efi_mac_address_device_path_t): New type.
19222 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19223 (struct grub_efi_ipv4_device_path): New structure.
19224 (grub_efi_ipv4_device_path_t): New type.
19225 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19226 (struct grub_efi_ipv6_device_path): New structure.
19227 (grub_efi_ipv6_device_path_t): New type.
19228 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19229 (struct grub_efi_infiniband_device_path): New structure.
19230 (grub_efi_infiniband_device_path_t): New type.
19231 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19232 (struct grub_efi_uart_device_path): New structure.
19233 (grub_efi_uart_device_path_t): New type.
19234 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19235 (struct grub_efi_vendor_messaging_device_path): New structure.
19236 (grub_efi_vendor_messaging_device_path_t): New type.
19237 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19238 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19239 (struct grub_efi_hard_drive_device_path): New structure.
19240 (grub_efi_hard_drive_device_path_t): New type.
19241 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19242 (struct grub_efi_cdrom_device_path): New structure.
19243 (grub_efi_cdrom_device_path_t): New type.
19244 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19245 (struct grub_efi_vendor_media_device_path): New structure.
19246 (grub_efi_vendor_media_device_path_t): New type.
19247 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19248 (struct grub_efi_file_path_device_path): New structure.
19249 (grub_efi_file_path_device_path_t): New type.
19250 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19251 (struct grub_efi_protocol_device_path): New structure.
19252 (grub_efi_protocol_device_path_t): New type.
19253 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19254 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19255 (struct grub_efi_bios_device_path): New structure.
19256 (grub_efi_bios_device_path_t): New type.
19257 (struct grub_efi_disk_io): New structure.
19258 (grub_efi_disk_io_t): New type.
19259 (struct grub_efi_block_io_media): New structure.
19260 (grub_efi_block_io_media_t): New type.
19261 (struct grub_efi_block_io): New structure.
19262 (grub_efi_block_io_t): New type.
19263
19264 * include/grub/misc.h (grub_stop): Removed.
19265 (grub_exit): New prototype.
19266 (grub_abort): Likewise.
19267
19268 * include/grub/disk.h (enum grub_disk_dev_id): Added
19269 GRUB_DISK_DEVICE_EFIDISK_ID.
19270
19271 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19272 disk/efi/efidisk.c.
19273 (kernel_syms.lst): Remove the target if an error occurs.
19274
49986a9f 192752006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19276
19277 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19278 as it was simply too buggy.
19279
970d3b8a 192802006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19281
19282 * kern/misc.c (grub_lltoa): New function.
19283 (grub_vsprintf): Added support for the long long suffix,
19284 i.e. "ll".
19285
ff04ec24 192862006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19287
19288 * Makefile.in (LDFLAGS): Add variable.
19289 (LD): Remove variable.
19290 * configure.ac: Add -m32 to LDFLAGS.
19291 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19292 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19293 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19294 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19295 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19296 variables.
19297 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19298 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19299 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19300
37e5e1a4 193012006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19302
19303 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19304 length for unknown glyph.
19305
c352d8dd 193062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19307
2eab1c0d 19308 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19309
2eab1c0d 19310 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19311 completely. Accept one more argument DIR. The caller has changed.
19312
19313 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19314
19315 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19316 (grub_efi_loaded_image_guid): New variable.
19317 (grub_efi_get_loaded_image): New function.
19318 (grub_arch_modules_addr): Likewise.
19319
19320 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19321 prototype.
19322
19323 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19324 (struct grub_efi_loaded_image): New structure.
19325 (grub_efi_loaded_image_t): New type.
19326
193272006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19328
c352d8dd 19329 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19330 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19331 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19332
6d01d6b4 193332006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19334
19335 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19336
976a4ea0 193372006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19338
19339 * DISTLIST: Added include/grub/efi/console.h,
19340 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19341 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19342
19343 * include/grub/efi/console.h: New file.
19344 * include/grub/efi/time.h: Likewise.
19345 * include/grub/i386/efi/kernel.h: Likewise.
19346 * kern/efi/init.c: Likewise.
19347 * kern/efi/mm.c: Likewise.
19348 * term/efi/console.c: Likewise.
f19dbdb7 19349
976a4ea0 19350 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19351 (grub_stop): Removed.
19352 (grub_get_rtc): Likewise.
19353 (grub_machine_init): Simply call grub_efi_init.
19354 (grub_machine_fini): Call grub_efi_fini.
19355
19356 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19357 (grub_efi_output_string): Removed.
19358 (grub_efi_stall): New function.
19359 (grub_stop): Likewise.
19360 (grub_get_rtc): Likewise.
19361
19362 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19363 (grub_efi_stall): New prototype.
19364 (grub_efi_allocate_pages): Likewise.
19365 (grub_efi_free_pages): Likewise.
19366 (grub_efi_get_memory_map): Likewise.
19367 (grub_efi_mm_init): Likewise.
19368 (grub_efi_mm_fini): Likewise.
19369 (grub_efi_init): Likewise.
19370 (grub_efi_fini): Likewise.
19371
19372 * include/grub/i386/efi/time.h: Do not include
19373 grub/symbol.h. Include grub/efi/time.h.
19374 (GRUB_TICKS_PER_SECOND): Removed.
19375 (grub_get_rtc): Likewise.
19376
19377 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
19378 Added padding. The EFI spec is buggy.
19379 (GRUB_EFI_BLACK): New macro.
19380 (GRUB_EFI_BLUE): Likewise.
19381 (GRUB_EFI_GREEN): Likewise.
19382 (GRUB_EFI_CYAN): Likewise.
19383 (GRUB_EFI_RED): Likewise.
19384 (GRUB_EFI_MAGENTA): Likewise.
19385 (GRUB_EFI_BROWN): Likewise.
19386 (GRUB_EFI_LIGHTGRAY): Likewise.
19387 (GRUB_EFI_BRIGHT): Likewise.
19388 (GRUB_EFI_DARKGRAY): Likewise.
19389 (GRUB_EFI_LIGHTBLUE): Likewise.
19390 (GRUB_EFI_LIGHTGREEN): Likewise.
19391 (GRUB_EFI_LIGHTCYAN): Likewise.
19392 (GRUB_EFI_LIGHTRED): Likewise.
19393 (GRUB_EFI_LIGHTMAGENTA): Likewise.
19394 (GRUB_EFI_YELLOW): Likewise.
19395 (GRUB_EFI_WHITE): Likewise.
19396 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
19397 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
19398 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
19399 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
19400 (GRUB_EFI_BACKGROUND_RED): Likewise.
19401 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
19402 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
19403 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
19404 (GRUB_EFI_TEXT_ATTR): Likewise.
19405
19406 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
19407 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19408 (kernel_mod_HEADERS): Added efi/time.h.
19409
83709125 194102006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
19411
19412 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
19413 include/grub/efi/api.h, include/grub/efi/console_control.h,
19414 include/grub/efi/efi.h, include/grub/efi/pe32.h,
19415 include/grub/i386/efi/time.h, kern/efi/efi.c,
19416 kern/i386/efi/init.c, kern/i386/efi/startup.S,
19417 and util/i386/efi/grub-mkimage.c.
19418
19419 * Makefile.in (RMKFILES): Added i386-efi.rmk.
19420
19421 * genmk.rb (PModule#rule): Do not export symbols if
19422 #{prefix}_EXPORTS is set to "no".
19423
19424 * conf/i386-efi.mk: New file.
19425 * conf/i386-efi.rmk: Likewise.
19426 * include/grub/efi/api.h: Likewise.
19427 * include/grub/efi/console_control.h: Likewise.
19428 * include/grub/efi/efi.h: Likewise.
19429 * include/grub/efi/pe32.h: Likewise.
19430 * include/grub/i386/efi/time.h: Likewise.
19431 * kern/efi/efi.c: Likewise.
19432 * kern/i386/efi/init.c: Likewise.
19433 * kern/i386/efi/startup.S: Likewise.
19434 * util/i386/efi/grub-mkimage.c: Likewise.
19435
194362006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 19437
19438 * include/grub/script.h: Include <grub/parser.h> and
19439 "grub_script.tab.h".
19440 (struct grub_lexer_param): New struct.
19441 (struct grub_parser_param): Likewise.
19442 (grub_script_create_arglist): Pass the state in an argument.
19443 (grub_script_add_arglist): Likewise.
19444 (grub_script_create_cmdline): Likewise.
19445 (grub_script_create_cmdblock): Likewise.
19446 (grub_script_create_cmdif): Likewise.
19447 (grub_script_create_cmdmenu): Likewise.
19448 (grub_script_add_cmd): Likewise.
19449 (grub_script_arg_add): Likewise.
19450 (grub_script_lexer_ref): Likewise.
19451 (grub_script_lexer_deref): Likewise.
19452 (grub_script_lexer_record_start): Likewise.
19453 (grub_script_lexer_record_stop): Likewise.
19454 (grub_script_mem_record): Likewise.
19455 (grub_script_mem_record_stop): Likewise.
19456 (grub_script_malloc): Likewise.
19457 (grub_script_yylex): Likewise.
19458 (grub_script_yyparse): Likewise.
19459 (grub_script_yyerror): Likewise.
19460 (grub_script_yylex): Likewise.
19461 (grub_script_lexer_init): Return the state.
19462
19463 * normal/lexer.c (grub_script_lexer_state): Removed variable.
19464 (grub_script_lexer_done): Likewise.
19465 (grub_script_lexer_getline): Likewise.
19466 (grub_script_lexer_refs): Likewise.
19467 (script): Likewise.
19468 (newscript): Likewise.
19469 (record): Likewise.
19470 (recording): Likewise.
19471 (recordpos): Likewise.
19472 (recordlen): Likewise.
19473 (grub_script_lexer_init): Return the state instead of setting
19474 global variables.
19475 (grub_script_lexer_ref): Use the newly added argument for state
19476 instead of globals.
19477 (grub_script_lexer_deref): Likewise.
19478 (grub_script_lexer_record_start): Likewise.
19479 (grub_script_lexer_record_stop): Likewise.
19480 (recordchar): Likewise.
19481 (nextchar): Likewise.
19482 (grub_script_yylex2): Likewise.
19483 (grub_script_yylex): Likewise.
19484 (grub_script_yyerror): Likewise.
19485
19486 * normal/parser.y (func_mem): Removed variable.
19487 (menu_entry): Likewise.
19488 (err): Likewise.
19489 (%lex-param): New parser option.
19490 (%parse-param): Likewise.
19491 (script): Always return the AST.
19492 (argument): Pass the state around.
19493 (arguments): Likewise.
19494 (grubcmd): Likewise.
19495 (commands): Likewise.
19496 (function): Likewise.
19497 (menuentry): Likewise.
19498 (if_statement): Likewise.
19499 (if): Likewise.
19500
19501 * normal/script.c (grub_script_memused): Removed variable.
19502 (grub_script_parsed): Likewise.
19503 (grub_script_malloc): Added a state argument. Use that instead of
19504 global variables.
19505 (grub_script_mem_record): Likewise.
19506 (grub_script_mem_record_stop): Likewise.
19507 (grub_script_arg_add): Likewise.
19508 (grub_script_add_arglist): Likewise.
19509 (grub_script_create_cmdline): Likewise.
19510 (grub_script_create_cmdif): Likewise.
19511 (grub_script_create_cmdmenu): Likewise.
19512 (grub_script_add_cmd): Likewise.
19513 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 19514
e2a8c904 195152006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 19516
19517 * normal/command.c (grub_command_init): Remove the title command.
19518
19519 * normal/lexer.c (grub_script_yylex): Renamed from this...
19520 (grub_script_yylex2): ... to this.
19521 (grub_script_yylex): New function. Temporary
19522 introduced to filter some tokens.
19523 (grub_script_yyerror): Print a newline.
19524
19525 * normal/main.c (read_config_file): Output information about the
19526 lines that contain errors. Wait for a key after all lines have
19527 been processed. Don't return an empty menu.
19528
19529 * normal/parser.y (func_mem): Don't initialize.
19530 (menu_entry): Likewise.
19531 (err): New variable.
19532 (script): Don't return anything when an error was encountered.
19533 (ws, returns): Removed rules.
19534 (argument): Disabled concatenated variable support.
19535 (arguments): Remove explicit separators.
19536 (grubcmd): Likewise.
19537 (function): Likewise.
19538 (menuentry): Likewise.
19539 (if): Likewise.
19540 (commands): Likewise. Add error handling.
19541
19542 * normal/script.c (grub_script_create_cmdline): If
19543 `grub_script_parsed' is 0, assume the parser encountered an error.
19544
c9a86192 195452006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
19546
19547 * configure.ac: Add support for EFI. Fix the typo
19548 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
19549
70f3b243 195502006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19551
19552 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
19553 foreign multibyte characters should be shown correctly.
19554
65f201ad 195552006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19556
19557 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
19558 calculation.
19559 (read_config_file): Made it to close file before returning.
19560
b4b93674 195612006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
19562
19563 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
19564 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
19565 video/i386/pc/vbefill.c.
19566
19567 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
19568 video/i386/pc/vbefill.c.
19569
19570 * include/grub/video.h (grub_video_blit_format): New enum.
19571 (grub_video_mode_info): Added new member blit_format.
19572 (grub_video_get_blit_format): New function prototype.
19573
19574 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
19575 function prototype.
19576 (grub_video_vbe_map_rgb): Likewise.
19577 (grub_video_vbe_unmap_color): Likewise.
19578
19579 * include/grub/i386/pc/vbeblit.h: New file.
19580
19581 * include/grub/i386/pc/vbefill.h: New file.
19582
19583 * video/video.c (grub_video_get_blit_format): New function.
19584 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
19585 (grub_video_vbe_map_rgb): Likewise.
19586 (grub_video_vbe_unmap_color): Likewise.
19587
19588 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
19589 optimized fills.
19590 (grub_video_vbe_blit_render_target): Changed to use more optimized
19591 blits.
19592 (grub_video_vbe_setup): Added detection for optimized settings.
19593 (grub_video_vbe_create_render_target): Likewise.
19594
19595 * video/i386/pc/vbeblit.c: New file.
19596
19597 * video/i386/pc/vbefill.c: New file.
19598
c2379b9c 195992006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
19600
19601 * font/manager.c (grub_font_get_glyph): Removed font fixup from
19602 here...
19603
19604 * util/unifont2pff.rb: ... and moved it to here. Improved argument
19605 parsing to support both hex and dec ranges. If filename was missing
19606 show usage information.
19607
bd0d7896 196082006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
19609
19610 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
19611 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
19612
19613 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
19614 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
19615 (video_mod_SOURCES): Added.
19616 (video_mod_CFLAGS): Likewise.
19617 (video_mod_LDFLAGS): Likewise.
19618 (gfxterm_mod_SOURCES): Likewise.
19619 (gfxterm_mod_CFLAGS): Likewise.
19620 (gfxterm_mod_LDFLAGS): Likewise.
19621 (videotest_mod_SOURCES): Likewise.
19622 (videotest_mod_CFLAGS): Likewise.
19623 (videotest_mod_LDFLAGS): Likewise.
19624 (vesafb_mod_SOURCES): Removed.
19625 (vesafb_mod_CFLAGS): Likewise.
19626 (vesafb_mod_LDFLAGS): Likewise.
19627 (vga_mod_SOURCES): Likewise.
19628 (vga_mod_CFLAGS): Likewise.
19629 (vga_mod_LDFLAGS): Likewise.
19630
19631 * commands/videotest.c: New file.
19632
19633 * font/manager.c (fill_with_default_glyph): Modified to use
19634 grub_font_glyph.
19635 (grub_font_get_glyph): Likewise.
19636 (fontmanager): Renamed from this...
19637 (font_manager): ... to this.
19638
19639 * include/grub/font.h (grub_font_glyph): Added new structure.
19640 (grub_font_get_glyph): Modified to use grub_font_glyph.
19641
19642 * include/grub/misc.h (grub_abs): Added as inline function.
19643
19644 * include/grub/video.h: New file.
19645
19646 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
19647 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
19648 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
19649 (grub_vbe_get_controller_info): Renamed from this...
19650 (grub_vbe_bios_get_controller_info): ... to this.
19651 (grub_vbe_get_mode_info): Renamed from this...
19652 (grub_vbe_bios_get_mode_info): ... to this.
19653 (grub_vbe_set_mode): Renamed from this...
19654 (grub_vbe_bios_set_mode): ... to this.
19655 (grub_vbe_get_mode): Renamed from this...
19656 (grub_vbe_bios_get_mode): ... to this.
19657 (grub_vbe_set_memory_window): Renamed from this...
19658 (grub_vbe_bios_set_memory_window): ... to this.
19659 (grub_vbe_get_memory_window): Renamed from this...
19660 (grub_vbe_bios_get_memory_window): ... to this.
19661 (grub_vbe_set_scanline_length): Renamed from this...
19662 (grub_vbe_set_scanline_length): ... to this.
19663 (grub_vbe_get_scanline_length): Renamed from this...
19664 (grub_vbe_bios_get_scanline_length): ... to this.
19665 (grub_vbe_set_display_start): Renamed from this...
19666 (grub_vbe_bios_set_display_start): ... to this.
19667 (grub_vbe_get_display_start): Renamed from this...
19668 (grub_vbe_bios_get_display_start): ... to this.
19669 (grub_vbe_set_palette_data): Renamed from this...
19670 (grub_vbe_bios_set_palette_data): ... to this.
19671 (grub_vbe_set_pixel_rgb): Removed.
19672 (grub_vbe_set_pixel_index): Likewise.
19673
19674 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
19675 from this...
19676 (grub_vbe_bios_get_controller_info): ... to this.
19677 (grub_vbe_get_mode_info): Renamed from this...
19678 (grub_vbe_bios_get_mode_info): ... to this.
19679 (grub_vbe_set_mode): Renamed from this...
19680 (grub_vbe_bios_set_mode): ... to this.
19681 (grub_vbe_get_mode): Renamed from this...
19682 (grub_vbe_bios_get_mode): ... to this.
19683 (grub_vbe_set_memory_window): Renamed from this...
19684 (grub_vbe_bios_set_memory_window): ... to this.
19685 (grub_vbe_get_memory_window): Renamed from this...
19686 (grub_vbe_bios_get_memory_window): ... to this.
19687 (grub_vbe_set_scanline_length): Renamed from this...
19688 (grub_vbe_set_scanline_length): ... to this.
19689 (grub_vbe_get_scanline_length): Renamed from this...
19690 (grub_vbe_bios_get_scanline_length): ... to this.
19691 (grub_vbe_set_display_start): Renamed from this...
19692 (grub_vbe_bios_set_display_start): ... to this.
19693 (grub_vbe_get_display_start): Renamed from this...
19694 (grub_vbe_bios_get_display_start): ... to this.
19695 (grub_vbe_set_palette_data): Renamed from this...
19696 (grub_vbe_bios_set_palette_data): ... to this.
19697 (grub_vbe_bios_get_controller_info): Fixed problem with registers
19698 getting corrupted after calling it. Added more pushes and pops.
19699 (grub_vbe_bios_set_mode): Likewise.
19700 (grub_vbe_bios_get_mode): Likewise.
19701 (grub_vbe_bios_get_memory_window): Likewise.
19702 (grub_vbe_bios_set_scanline_length): Likewise.
19703 (grub_vbe_bios_get_scanline_length): Likewise.
19704 (grub_vbe_bios_get_display_start): Likewise.
19705 (grub_vbe_bios_set_palette_data): Likewise.
19706
19707 * normal/cmdline.c (cl_set_pos): Refresh the screen.
19708 (cl_insert): Likewise.
19709 (cl_delete): Likewise.
19710
19711 * term/gfxterm.c: New file.
19712
19713 * term/i386/pc/vesafb.c: Removed file.
19714
19715 * video/video.c: New file.
19716
19717 * video/i386/pc/vbe.c (real2pm): Added new function.
19718 (grub_video_vbe_draw_pixel): Likewise.
19719 (grub_video_vbe_get_video_ptr): Likewise.
19720 (grub_video_vbe_get_pixel): Likewise
19721 (grub_video_vbe_init): Likewise.
19722 (grub_video_vbe_fini): Likewise.
19723 (grub_video_vbe_setup): Likewise.
19724 (grub_video_vbe_get_info): Likewise.
19725 (grub_video_vbe_set_palette): Likewise.
19726 (grub_video_vbe_get_palette): Likewise.
19727 (grub_video_vbe_set_viewport): Likewise.
19728 (grub_video_vbe_get_viewport): Likewise.
19729 (grub_video_vbe_map_color): Likewise.
19730 (grub_video_vbe_map_rgb): Likewise.
19731 (grub_video_vbe_map_rgba): Likewise.
19732 (grub_video_vbe_unmap_color): Likewise.
19733 (grub_video_vbe_fill_rect): Likewise.
19734 (grub_video_vbe_blit_glyph): Likewise.
19735 (grub_video_vbe_blit_bitmap): Likewise.
19736 (grub_video_vbe_blit_render_target): Likewise.
19737 (grub_video_vbe_scroll): Likewise.
19738 (grub_video_vbe_swap_buffers): Likewise.
19739 (grub_video_vbe_create_render_target): Likewise.
19740 (grub_video_vbe_delete_render_target): Likewise.
19741 (grub_video_vbe_set_active_render_target): Likewise.
19742 (grub_vbe_set_pixel_rgb): Remove function.
19743 (grub_vbe_set_pixel_index): Likewise.
19744 (index_color_mode): Remove static variable.
19745 (active_mode): Likewise.
19746 (framebuffer): Likewise.
19747 (bytes_per_scan_line): Likewise.
19748 (grub_video_vbe_adapter): Added new static variable.
19749 (framebuffer): Likewise.
19750 (render_target): Likewise.
19751 (initial_mode): Likewise.
19752 (mode_in_use): Likewise.
19753 (mode_list): Likewise.
19754
5f97350b 197552006-03-10 Marco Gerards <marco@gnu.org>
19756
19757 * configure.ac (AC_INIT): Bumped to 1.93.
19758
19759 * DISTLIST: Added `include/grub/hfs.h'.
19760
a3c5c6f8 197612006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19762
19763 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19764 18H, which might help the BIOS falling back to next boot media.
19765
6de53d26 197662006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19767
19768 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19769 Poe Chen <poe.poechen@gmail.com>.
19770
77c4a393 197712006-01-17 Marco Gerards <marco@gnu.org>
19772
19773 * include/grub/normal.h: Include <grub/script.h>.
19774 (grub_command_list): Removed struct.
19775 (grub_command_list_t): Removed type.
19776 (grub_menu_entry): Remove members `num' and `command_list'. Add
19777 members `commands' and `sourcecode'.
19778 * include/grub/script.h: Add inclusion guards.
19779 (grub_script_cmd_menuentry): New struct.
19780 (grub_script_execute_menuentry): New prototype.
19781 (grub_script_lexer_record_start): Likewise.
19782 (grub_script_lexer_record_stop): Likewise.
19783 * normal/execute.c (grub_script_execute_menuentry): New function.
19784 * normal/lexer.c (record, recording, recordpos, recordlen): New
19785 variables.
19786 (grub_script_lexer_record_start): New function.
19787 (grub_script_lexer_record_stop): Likewise.
19788 (recordchar): Likewise.
19789 (nextchar): Likewise.
19790 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19791 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19792 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19793 (current_menu): New variable.
19794 (free_menu): Mainly rewritten.
19795 (grub_normal_menu_addentry): New function.
19796 (read_config_file): Rewritten.
19797 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19798 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19799 the menu entry.
19800 (run): Mainly rewritten.
19801 * normal/parser.y (menu_entry): New variable.
19802 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19803 (menuentry): New rule.
19804 (command): Add `menuentry'.
19805 (if_statement): Allow additional returns before `fi'.
19806 * normal/script.c (grub_script_create_cmdmenu): New function.
19807
144f1f98 198082006-01-03 Marco Gerards <marco@gnu.org>
19809
19810 * INSTALL: GNU Bison is required.
19811 * configure.ac: Rewritten the test to detect Bison.
19812 * Makefile.in (YACC): New variable. Reported by Xun Sun
19813 <xun.sun.cn@gmail.com>.
19814
af4b2d89 198152006-01-03 Marco Gerards <marco@gnu.org>
19816
19817 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19818 the HFS+ filesystem to filesystem blocks.
19819 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19820 GCC warning is silenced.
19821
15643b71 198222006-01-03 Marco Gerards <marco@gnu.org>
19823
19824 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19825 read from disk from big endian to host byte order.
19826
00905879 198272006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19828
19829 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19830 documentation.
19831 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19832 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19833 embedded HFS+ filesystem.
19834 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
19835 (grub_hfs_sblock): Move from here...
19836 * include/grub/hfs.h: To here... New file.
19837 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
19838 documentation.
19839 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
19840 New macros.
19841 (grub_hfsplus_volheader): Change type of member `magic' to
19842 `grub_uint16_t'.
19843 (grub_hfsplus_data): Add new member `embedded_offset'.
19844 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
19845 returned block.
19846 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
19847 Calculate the offset.
19848
8899bc3e 198492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19850
19851 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
19852 Removed.
19853 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
19854
ae8c0277 198552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19856
19857 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
19858 ENV->NAME is NULL after allocating ENV->VALUE.
19859
07084456 198602005-12-25 Marco Gerards <marco@gnu.org>
19861
19862 * kern/env.c (grub_env_set): Rewritten the error handling code.
19863
4750f5f1 198642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19865
19866 * geninit.sh: Made more robust, and more portable.
19867
50214199 198682005-12-25 Marco Gerards <marco@gnu.org>
19869
19870 Add support for Apple HFS+ filesystems.
f19dbdb7 19871
50214199 19872 * fs/hfsplus.c: New file.
19873
19874 * DISTLIST: Added `fs/hfsplus.c'.
19875
19876 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
19877 (hfsplus_mod_SOURCES): New variable.
19878 (hfsplus_mod_CFLAGS): Likewise.
19879 (hfsplus_mod_LDFLAGS): Likewise.
19880 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
19881 (grub_setup_SOURCES): Likewise.
19882 (grub_mkdevicemap_SOURCES): Likewise.
19883 (grub_emu_SOURCES): Likewise.
19884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19885
19886 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
19887
19888 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
19889
befaed6c 198902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19891
19892 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
19893 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
19894 include/grub/parser.h, include/grub/script.h, kern/parser.c,
19895 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
19896 normal/lexer.c, normal/parser.y, normal/script.c, and
19897 partmap/gpt.c.
19898 Removed kern/sparc64/cache.c.
19899
19900 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
19901 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
19902 grub_emu_init.c.
19903
19904 * configure.ac (AC_INIT): Bumped to 1.92.
19905
6a124103 199062005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
19907
19908 * kern/err.c (grub_error_push): Added new function to support error
19909 stacks.
19910 (grub_error_pop): Likewise.
19911 (grub_error_stack_items): New local variable to support error stacks.
19912 (grub_error_stack_pos): Likewise.
19913 (grub_error_stack_assert): Likewise.
19914 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
19915 stack depth.
19916 (grub_print_error): Added support to print errors from error stack.
19917
19918 * include/grub/err.h (grub_error_push): Added function prototype.
19919 (grub_error_pop): Likewise.
19920
be973c1b 199212005-12-09 Hollis Blanchard <hollis@penguinppc.org>
19922
19923 * configure.ac: Accept `powerpc64' as host_cpu.
19924 (amd64): Rename to `biarch32'.
19925
19926 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
19927 non-cacheline-aligned addresses.
19928
19929 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
19930 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
19931 if `size' is non-zero.
19932
b04216ab 199332005-12-03 Marco Gerards <mgerards@xs4all.nl>
19934
19935 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
19936 and `cd' to make sure the filename is not prefixed with a
19937 directory name.
19938 (pkgdata_MODULES): Add `gpt.mod'.
19939 (gpt_mod_SOURCES): New variable.
19940 (gpt_mod_CFLAGS): Likewise.
19941 (gpt_mod_LDFLAGS): Likewise.
19942
19943 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
19944
19945 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
19946 New macro.
19947
19948 * partmap/gpt.c: New file.
19949
19950 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
19951 GPT partition map is detected.
19952
41730ed9 199532005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
19954
19955 * commands/i386/pc/play.c: New file.
19956 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
19957 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
19958 macros.
f19dbdb7 19959
95dc3643 199602005-11-27 Marco Gerards <mgerards@xs4all.nl>
19961
19962 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
19963 ((unused))' to silence gcc warning.
19964
1569ec51 199652005-11-26 Hollis Blanchard <hollis@penguinppc.org>
19966
19967 * configure.ac: Correct `AC_PROG_YACC' test.
19968
9abde152 199692005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19970
19971 * util/powerpc/ieee1275/grub-install.in: Run the mount point
19972 check before installing files.
19973
44b83271 199742005-11-22 Mike Small <smallm@panix.com>
19975
19976 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
19977 number regex so multidigit numbers are recognized correctly.
19978
199792005-11-22 Mike Small <smallm@panix.com>
19980
19981 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
19982 debugging message before attempting to claim memory.
19983 (grub_rescue_cmd_initrd): Add a claim debugging message and try
19984 multiple addresses in case of failure.
19985
9c12956b 199862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19987
19988 * term/tparm.c (get_space): Remove empty `if' statement.
19989
19990 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
19991
19992 * kern/parser.c (check_varstate): Rename `state' to 's'.
19993
aeaf81d9 199942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19995
19996 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
19997 variable definitions to the beginning of each function. Sort stack
19998 variables by size.
19999 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20000 `buf' argument to `char *'.
20001
79bbb63f 200022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20003
20004 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20005 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20006 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20007 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20008 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20009 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20010 configfile.mod, search.mod, gzio.mod and test.mod.
20011 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20012 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20013 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20014 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20015 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20016 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20017 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20018 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20019 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20020 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20021 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20022 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20023 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20024 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20025 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20026 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20027 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20028 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20029 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20030 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20031 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20032 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20033 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20034
20035 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20036 `grep --include'.
20037 (pkgdata_MODULES): Add test.mod.
20038
233b1628 200392005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20040
20041 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20042 appending to variables with "+=".
20043 (PModule): Use full pathname to generate *.lst filenames.
20044
20045 * Makefile.in: Fixed list rules moved from genmk.rb.
20046 (.DELETE_ON_ERROR): New special target.
20047 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20048
20049 * conf/i386-pc.rmk: Include conf/common.mk.
20050 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20051 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20052 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20053 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20054 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20055 configfile.mod, search.mod, gzio.mod and test.mod.
20056 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20057 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20058 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20059 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20060 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20061 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20062 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20063 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20064 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20065 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20066 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20067 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20068 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20069 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20070 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20071 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20072 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20073 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20074 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20075 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20076 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20077 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20078 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20079 here...
20080 * conf/common.rmk: ... to here. New file.
20081
20082 * conf/common.mk: New file.
20083
16f820c8 200842005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20085
20086 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20087 (grub_script.tab.c): ... here.
20088
20089 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20090 (grub_script.tab.c): ... here.
20091
20092 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20093 (grub_script.tab.c): ... here.
20094
20095 * normal/command.c (grub_command_find): Fixed a memory leak of
20096 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20097
63ba1554 200982005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20099
20100 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20101 "@" which marks the start of a comment on ARM.
20102 (VARIABLE): Likewise.
20103
7f67dc13 201042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20105
79bbb63f 20106 Add support for Linux/ADFS partition tables.
7f67dc13 20107
20108 * partmap/acorn.c: New file.
20109
20110 * include/grub/acorn_filecore.h: Likewise.
20111
20112 * DISTLIST: Added `partmap/acorn.c' and
20113 `include/grub/acorn_filecore.h'.
f19dbdb7 20114
7f67dc13 20115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20116 `partmap/acorn.c'.
20117 (pkgdata_MODULES): Add `acorn.mod'.
20118 (acorn_mod_SOURCES): New variable.
20119 (acorn_mod_CFLAGS): Likewise.
20120
20121 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20122 `partmap/acorn.c'.
20123 (pkgdata_MODULES): Add `acorn.mod'.
20124 (acorn_mod_SOURCES): New variable.
20125 (acorn_mod_CFLAGS): Likewise.
20126
20127 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20128 (pkgdata_MODULES): Add `acorn.mod'.
20129 (acorn_mod_SOURCES): New variable.
20130 (acorn_mod_CFLAGS): Likewise.
20131 (acorn_mod_LDFLAGS): Likewise.
20132
20133 * include/types.h (grub_disk_addr_t): New typedef.
20134
6d099807 201352005-11-13 Marco Gerards <mgerards@xs4all.nl>
20136
20137 * geninit.sh: New file.
20138
20139 * geninitheader.sh: Likewise.
20140
20141 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20142 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20143 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20144 * commands/configfile.c (grub_configfile_init)
20145 (grub_configfile_fini): Likewise.
20146 * commands/default.c (grub_default_init, grub_default_fini):
20147 Likewise.
20148 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20149 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20150 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20151 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20152 Likewise.
20153 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20154 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20155 Likewise.
20156 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20157 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20158 Likewise.
20159 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20160 Likewise.
fe6b695a 20161 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20162 Likewise.
20163 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20164 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20165 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20166 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20167 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20168 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20169 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20170 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20171 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20172 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20173 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20174 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20175 * partmap/amiga.c (grub_amiga_partition_map_init)
20176 (grub_amiga_partition_map_fini): Likewise.
20177 * partmap/apple.c (grub_apple_partition_map_init)
20178 (grub_apple_partition_map_fini): Likewise.
20179 * partmap/pc.c (grub_pc_partition_map_init)
20180 (grub_pc_partition_map_fini): Likewise.
20181 * partmap/sun.c (grub_sun_partition_map_init,
20182 grub_sun_partition_map_fini): Likewise.
20183 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20184 Likewise.
20185
20186 * util/grub-emu.c: Include <grub_modules_init.h>.
20187 (main): Don't initialize and de-initialize any modules directly,
20188 use `grub_init_all' and `grub_fini_all' instead.
20189
20190 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20191 `grub_vesafb_mod_init'.
20192 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20193 all users.
20194 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20195 `grub_vga_mod_init'. Updated all users.
20196 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20197
6d099807 20198 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20199 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20200 rules.
20201
20202 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20203 Generate a function to initialize the module in utilities.
20204 Updated all callers.
20205 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20206 initialize the module in utilities. Updated all callers.
20207
9046bcf0 202082005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20209
20210 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20211 escape sequence and a literal ^L to clear the screen.
20212
20213 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20214 when returning from Open Firmware.
20215
d13ea639 202162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20217
20218 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20219 (grub_ofconsole_height): Likewise.
20220 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20221 manually insert a '\n'.
20222 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20223 `grub_ofconsole_height'. Return early if these are already set.
20224
a8fcf206 202252005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20226
20227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20228 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20229 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20230 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20231 and `normal/script.c'.
20232 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20233 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20234 (test_mod_SOURCES): New variable.
20235 (test_mod_CFLAGS): Likewise.
20236 (test_mod_LDFLAGS): Likewise.
20237 (pkgdata_MODULES): Add `test.mod'.
20238 (grub_script.tab.c): New rule.
20239 (grub_script.tab.h): Likewise.
20240
b6b32745 202412005-11-07 Marco Gerards <mgerards@xs4all.nl>
20242
20243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20244 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20245 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20246 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20247 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20248 (test_mod_SOURCES): New variable.
20249 (test_mod_CFLAGS): Likewise.
20250 (pkgdata_MODULES): Add `test.mod'.
20251 (grub_script.tab.c): New rule.
20252 (grub_script.tab.h): Likewise.
20253
daac212a 202542005-11-06 Marco Gerards <mgerards@xs4all.nl>
20255
20256 Add initial scripting support.
20257
20258 * commands/test.c: New file.
20259 * include/grub/script.h: Likewise.
20260 * normal/execute.c: Likewise.
20261 * normal/function.c: Likewise.
20262 * normal/lexer.c: Likewise.
20263 * normal/parser.y: Likewise.
20264 * normal/script.c: Likewise.
20265
20266 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20267
daac212a 20268 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20269 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20270 `normal/function.c' and `normal/script.c'.
20271 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20272 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20273 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20274 variables.
daac212a 20275 (pkgdata_MODULES): Add `test.mod'.
20276 (grub_script.tab.c): New rule.
20277 (grub_script.tab.h): Likewise.
20278
20279 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20280
20281 * include/grub/normal.h (grub_test_init): New prototype.
20282 (grub_test_fini): Likewise.
f19dbdb7 20283
daac212a 20284 * normal/command.c: Include <grub/script.h>.
20285 (grub_command_execute): Rewritten.
f19dbdb7 20286
daac212a 20287 * util/grub-emu.c (main): Call `grub_test_init' and
20288 `grub_test_fini'.
20289
77500b2b 202902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20291
20292 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20293 to 0.
20294 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20295 there are no pending characters.
20296
e45deb9e 202972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20298
20299 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20300 `grub_strndup' to drop device arguments. Replace unnecessary
20301 `grub_strndup' with `grub_strdup'.
20302
4ce32619 203032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20304
20305 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20306 `debug' environment variable has been set.
20307
203082005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20309
4ce32619 20310 * Makefile.in (install-local): Use $(DATA).
20311 (uninstall): Likewise.
20312 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20313 (sbin_UTILITIES): ... to here.
20314 (sbin_SCRIPTS): New variable.
20315 (grub_install_SOURCES): New variable.
20316 * util/powerpc/ieee1275/grub-install.in: New file.
20317 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20318 variable.
20319 (add_segments): Call `grub_util_get_path'.
20320
25fe6f03 203212005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20322
20323 From Timothy Baldwin:
20324 * commands/ls.c (grub_ls_list_files): Close FILE with
20325 grub_file_close.
20326 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20327
04ccf3ec 203282005-10-24 Marco Gerards <mgerards@xs4all.nl>
20329
20330 * include/grub/parser.h: New file.
20331
20332 * kern/parser.c: Likewise.
20333
20334 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20335 (grub_setup_SOURCES): Likewise.
20336 (grub_probefs_SOURCES): Likewise.
20337 (grub_emu_SOURCES): Likewise.
20338 (kernel_img_HEADERS): Add `parser.h'.
20339
20340 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20341 (grub_emu_SOURCES): Add `kern/parser.c'.
20342 (grubof_SOURCES): Likewise.
20343
20344 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20345 (grubof_SOURCES): Add `kern/parser.c'.
20346
20347 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20348
20349 * kern/misc.c (grub_split_cmdline): Removed function.
20350
20351 * kern/rescue.c: Include <grub/parser.h>.
20352 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20353 of `grub_split_cmdline'.
20354
20355 * normal/command.c: Include <grub/parser.h>.
20356 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20357 of `grub_split_cmdline'.
20358
20359 * normal/completion.c: Include <grub/parser.h>.
20360 (cmdline_state): New variable.
20361 (iterate_dir): End the filename with a quote depending on the
20362 command line state.
20363 (get_state): new function.
20364 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20365 split the arguments and determine the current argument. When the
20366 argument string is not quoted, escape all spaces.
20367
6d8f4b0e 203682005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20369
20370 * normal/sparc64/setjmp.S: New file.
20371
15cf03ed 203722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20373
20374 * include/grub/sparc64/libgcc.h: New file.
20375 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
20376 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
20377 normal/sparc64/setjmp.c.
20378
03e8661a 203792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20380
20381 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
20382 * kern/sparc64/cache.S: New file.
20383 * kern/sparc64/cache.c: Removed.
20384 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
20385 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
20386 -mtune=ultrasparc.
20387 (COMMON_LDFLAGS): Add -melf64_sparc.
20388 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
20389 (grubof_SOURCES): Use cache.S instead of cache.c.
20390 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
20391 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
20392 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
20393 commented though.
20394 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
20395 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
20396 (linux_mod_CFLAGS): Commented out.
20397 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
20398 out because module isn't built.
20399 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
20400 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
20401 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
20402 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
20403 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
20404 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20405 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20406 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
20407 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
20408 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
20409 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20410 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20411 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
20412 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
20413
34eeec8a 204142005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
20415
20416 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
20417 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
20418 longer, because HFS should not be used on PC.
20419
708367a3 204202005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20421
20422 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
20423 consistently within the loop.
20424
6fa1251a 204252005-10-15 Marco Gerards <mgerards@xs4all.nl>
20426
20427 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
20428 directory can not be read.
20429
4801580b 204302005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20431
20432 * configure.ac (AC_INIT): Increase the version number to 1.91.
20433
20434 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
20435 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
20436 term/i386/pc/serial.c.
20437
219ad426 204382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20439
20440 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
20441 file size must be permitted.
20442
20443 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
20444 between %ah and %al.
20445
688e5699 204462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20447
20448 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
20449 grub_uint64_t.
20450 Call the hook with a NUL-terminated filename.
20451 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
20452 grub_cpu_to_be32.
20453
20454 * kern/term.c (cursor_state): New variable.
20455 (grub_term_set_current): Reset the cursor state on a new
20456 terminal.
20457 (grub_setcursor): Rewritten to use CURSOR_STATE.
20458 (grub_getcursor): New function.
20459
20460 * include/grub/term.h (grub_getcursor): New prototype.
20461
20462 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
20463 integers on ARM. Reported by Timothy Baldwin
20464 <T.E.Baldwin99@members.leeds.ac.uk>.
20465
bb34586c 204662005-10-11 Marco Gerards <mgerards@xs4all.nl>
20467
20468 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
20469 allocated.
20470 (grub_sfs_dir): Likewise.
20471
9a909877 204722005-10-09 Marco Gerards <mgerards@xs4all.nl>
20473
20474 Add support for the SFS filesystem.
20475
20476 * fs/sfs.c: New file.
20477
20478 * DISTLIST: Added `fs/sfs.c'.
20479
20480 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
20481 (grub_probefs_SOURCES): Likewise.
20482 (grub_emu_SOURCES): Likewise.
20483 (pkgdata_MODULES): Add `sfs.mod'.
20484 (sfs_mod_SOURCES): New variable.
20485 (sfs_mod_CFLAGS): Likewise.
20486 (sfs_mod_LDFLAGS): Likewise.
20487
20488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
20489 (pkgdata_MODULES): Add `sfs.mod'.
20490 (sfs_mod_SOURCES): New variable.
20491 (sfs_mod_CFLAGS): Likewise.
20492
20493 * util/grub-emu.c (main): Call `grub_sfs_init' and
20494 `grub_sfs_fini'.
20495
20496 * include/grub/fs.h (grub_sfs_init): New prototype.
20497 (grub_sfs_fini): Likewise.
20498
57bdbde3 204992005-10-07 Marco Gerards <mgerards@xs4all.nl>
20500
20501 Add support for the AFFS filesystem.
20502
20503 * fs/affs.c: New file.
20504
20505 * DISTLIST: Added `fs/affs.c'.
20506
20507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
20508 (grub_probefs_SOURCES): Likewise.
20509 (grub_emu_SOURCES): Likewise.
20510 (pkgdata_MODULES): Add `affs.mod'.
20511 (affs_mod_SOURCES): New variable.
20512 (affs_mod_CFLAGS): Likewise.
20513 (affs_mod_LDFLAGS): Likewise.
20514
20515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
20516 (pkgdata_MODULES): Add `affs.mod'.
20517 (affs_mod_SOURCES): New variable.
20518 (affs_mod_CFLAGS): Likewise.
20519
20520 * util/grub-emu.c (main): Call `grub_affs_init' and
20521 `grub_affs_fini'.
20522
20523 * include/grub/fs.h (grub_affs_init): New prototype.
20524 (grub_affs_fini): Likewise.
20525
047b67e0 205262005-10-01 Marco Gerards <mgerards@xs4all.nl>
20527
20528 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
20529
59b8208a 205302005-10-01 Marco Gerards <mgerards@xs4all.nl>
20531
20532 * configure.ac: Accept `x86_64' as host_cpu. In that case add
20533 `-m32' to CFLAGS.
20534
20535 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
20536 linking.
f19dbdb7 20537
59b8208a 20538 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
20539 (COMMON_LDFLAGS): New variable.
20540 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
20541 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
20542 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
20543 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
20544 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
20545 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
20546 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
20547 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
20548 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
20549 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
20550 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20551 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20552 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
20553 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
20554 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
20555 variables.
20556 (normal_mod_ASFLAGS): Add `-m32'.
20557
20558 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
20559 (grub_host_size_t, grub_host_ssize_t): New types.
20560 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 20561 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 20562 `GRUB_HOST_SIZEOF_VOID_P'.
20563
20564 * include/grub/kernel.h (struct grub_module_header): Type of
20565 member offset changed to `grub_host_off_t'. Type of member size
20566 changed to `grub_host_size_t'.
20567 (struct grub_module_info): Type of member offset changed to
20568 `grub_host_off_t'. Type of member size changed to
20569 `grub_host_size_t'.
20570
b4093103 205712005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
20572
20573 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 20574
b4093103 20575 * kern/i386/pc/startup.S (multiboot_header): New label.
20576 (multiboot_entry): Likewise.
20577 (multiboot_trampoline): Likewise.
20578
20579 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20580 Increased to 0x4A0.
20581
20582 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
20583 put parentheses after a question mark.
20584 [!GRUB_UTIL] (my_mod): New variable.
20585
20586 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
20587
b2499b29 205882005-09-28 Marco Gerards <mgerards@xs4all.nl>
20589
20590 Adds support for the XFS filesystem. Btrees are not supported
20591 yet.
20592
20593 * fs/xfs.c: New file.
20594
20595 * DISTLIST: Added `fs/xfs.c'.
20596
20597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
20598 (grub_probefs_SOURCES): Likewise.
20599 (grub_emu_SOURCES): Likewise.
20600 (pkgdata_MODULES): Add `xfs.mod'.
20601 (xfs_mod_SOURCES): New variable.
20602 (xfs_mod_CFLAGS): Likewise.
20603
20604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
20605 (pkgdata_MODULES): Add `xfs.mod'.
20606 (xfs_mod_SOURCES): New variable.
20607 (xfs_mod_CFLAGS): Likewise.
20608
20609 * util/grub-emu.c (main): Call `grub_xfs_init' and
20610 `grub_xfs_fini'.
20611
20612 * include/grub/fs.h (grub_xfs_init): New prototype.
20613 (grub_xfs_fini): Likewise.
20614
f19dbdb7 20615
83d37a62 206162005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
20617
20618 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
20619 color modes, allow greater than 16 colors to be configured as
20620 a default palette.
20621
47d2d65e 206222005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20623
20624 * normal/completion.c (complete_arguments): Add the qualifier
20625 const into OPTIONS.
20626
20627 From Omniflux <omniflux+lists@omniflux.com>:
20628 * include/grub/terminfo.h: New file.
20629 * include/grub/tparm.h: Likewise.
20630 * include/grub/i386/pc/serial.h: Likewise.
20631 * term/terminfo.c: Likewise.
20632 * term/tparm.c: Likewise.
20633 * term/i386/pc/serial.c: Likewise.
20634 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
20635 serial.mod.
20636 (terminfo_mod_SOURCES): New variable.
20637 (terminfo_mod_CFLAGS): Likewise.
20638 (serial_mod_SOURCES): Likewise.
20639 (serial_mod_CFLAGS): Likewise.
20640
48b671ff 206412005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
20642
20643 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
20644 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
20645 and kern/powerpc/ieee1275/cmain.c, respectively.
20646
20647 * boot/powerpc/ieee1275/crt0.S: Moved to ...
20648 * kern/powerpc/ieee1275/crt0.S: ... here.
20649
20650 * boot/powerpc/ieee1275/cmain.c: Moved to ...
20651 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 20652
48b671ff 20653 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
20654 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
20655 instead of boot/powerpc/ieee1275/crt0.S and
20656 boot/powerpc/ieee1275/cmain.c, respectively.
20657
20658 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
20659 sectors. It was not used anyway.
20660
09fc77a7 206612005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20662
20663 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
20664 `unused parameter' warning.
20665
003789c7 206662005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20667
20668 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
20669 function.
20670 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
20671 getcharwidth.
20672
67f44c86 206732005-08-28 Marco Gerards <metgerards@student.han.nl>
20674
20675 * include/grub/normal.h (enum grub_completion_type): Added
20676 `GRUB_COMPLETION_TYPE_ARGUMENT'.
20677
20678 * normal/cmdline.c (print_completion): Handle
20679 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
20680 * normal/menu_entry.c (store_completion): Likewise.
20681
20682 * normal/completion.c (complete_arguments): New function.
20683 (grub_normal_do_completion): Call `complete_arguments' when the
20684 current words start with a dash.
20685
0b5abe02 206862005-08-27 Marco Gerards <metgerards@student.han.nl>
20687
20688 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
20689 `gzio.mod' instead of `io.mod').
20690
d9864ee1 206912005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
20692
20693 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
20694 (DISTDIRS): Added io and video.
20695 Rewrite the search routine to make an output consistently.
20696
20697 * DISTLIST: Added conf/sparc64-ieee1275.mk,
20698 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
20699 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
20700 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
20701 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
20702 util/powerpc/ieee1275/misc.c.
f19dbdb7 20703
d9864ee1 20704 * include/grub/gzio.h: New file.
20705 * io/gzio.c: Likewise.
f19dbdb7 20706
d9864ee1 20707 * kern/file.c (grub_file_close): Call grub_device_close only if
20708 FILE->DEVICE is not NULL.
20709
20710 * include/grub/mm.h [!NULL] (NULL): New macro.
20711
20712 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
20713
20714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
20715 (pkgdata_MODULES): Added gzio.mod.
20716 (gzio_mod_SOURCES): New variable.
20717 (gzio_mod_CFLAGS): Likewise.
20718
20719 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
20720 (pkgdata_MODULES): Added gzio.mod.
20721 (gzio_mod_SOURCES): New variable.
20722 (gzio_mod_CFLAGS): Likewise.
20723
20724 * commands/cat.c: Include grub/gzio.h.
20725 (grub_cmd_cat): Use grub_gzfile_open instead of
20726 grub_file_open.
f19dbdb7 20727
d9864ee1 20728 * commands/cmp.c: Include grub/gzio.h.
20729 (grub_cmd_cmp): Use grub_gzfile_open instead of
20730 grub_file_open.
20731
20732 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
20733 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
20734 grub_file_open.
20735 (grub_rescue_cmd_module): Likewise.
20736
fa46f4b5 207372005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20738
20739 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
20740 kern/sparc64/ieee1275/init.c because it contains _start.
20741 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
20742
e9211b5d 207432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20744
20745 * configure.ac: Add support for sparc64 host with ieee1275
20746 firmware.
20747 * configure: Generated from configure.ac.
20748 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20749 instead of int.
20750 (grub_ofdisk_read): Likewise.
20751 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20752 pointers as (void *) to remove a warning.
20753 (grub_ofdisk_close): Likewise.
20754 (grub_ofdisk_read): Likewise.
20755 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20756 returns, so make it return void to remove a warning.
20757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20758 Corresponding prototype change.
20759 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20760 values, and cast the pointers as (void *) to remove a warning.
20761 (grub_mm_dump): Likewise.
20762 * conf/sparc64-ieee1275.mk: New file.
20763 * conf/sparc64-ieee1275.rmk: Likewise.
20764 * include/grub/sparc64/setjmp.h: Likewise.
20765 * include/grub/sparc64/types.h: Likewise.
20766 * include/grub/sparc64/ieee1275/console.h: Likewise.
20767 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20768 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20769 * include/grub/sparc64/ieee1275/time.h: Likewise.
20770 * kern/sparc64/cache.c: Likewise.
20771 * kern/sparc64/dl.c: Likewise.
20772 * kern/sparc64/ieee1275/init.c: Likewise.
20773 * kern/sparc64/ieee1275/openfw.c: Likewise.
20774
385c6a92 207752005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20776
20777 * util/console.c (grub_ncurses_putchar): If C is greater than
20778 0x7f, set C to a question mark.
20779 (grub_ncurses_getcharwidth): New function.
20780 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20781 getcharwidth.
20782
20783 * normal/menu.c (print_entry): Made aware of Unicode. First,
20784 convert TITLE to UCS-4, and predict the cursor position by
20785 grub_getcharwidth.
20786
20787 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20788 const to SRC.
20789 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20790
16ccb8b1 207912005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20792
20793 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20794 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20795 grub_strcat.
20796
20797 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20798 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20799 grub_strcpy and grub_strlen. Take it into account that a space
20800 character is inserted as a delimiter.
20801
6a85ce79 208022005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20803
20804 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20805 invalid magic in the error.
6a85ce79 20806
20807 * commands/search.c: New file.
f19dbdb7 20808
6a85ce79 20809 * util/grub-emu.c (main): Call grub_search_init and
20810 grub_search_fini.
20811
20812 * kern/rescue.c (grub_rescue_print_disks): Removed.
20813 (grub_rescue_print_devices): New function.
20814 (grub_rescue_cmd_ls): Use grub_device_iterate with
20815 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20816 grub_rescue_print_disks.
20817
20818 * kern/partition.c (grub_partition_iterate): Return the result of
20819 PARTMAP->ITERATE instead of GRUB_ERRNO.
20820
20821 * kern/device.c: Include grub/partition.h.
20822 (grub_device_iterate): New function.
20823
20824 * include/grub/partition.h (grub_partition_iterate): Return int
20825 instead of grub_err_t.
20826
20827 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20828 prototype.
20829 [GRUB_UTIL] (grub_search_fini): Likewise.
20830
20831 * include/grub/device.h (grub_device_iterate): New prototype.
20832
20833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20834 commands/search.c.
20835 (pkgdata_MODULES): Added search.mod.
20836 (search_mod_SOURCES): New variable.
20837 (search_mod_CFLAGS): Likewise.
20838
20839 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
20840 (pkgdata_MODULES): Added search.mod.
20841 (search_mod_SOURCES): New variable.
20842 (search_mod_CFLAGS): Likewise.
20843
20844 * commands/ls.c (grub_ls_list_disks): Renamed to ...
20845 (grub_ls_list_devices): ... this, and use grub_device_iterate.
20846 All callers changed.
20847
20848 * DISTLIST: Added commands/search.c.
20849
ef095434 208502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20851
20852 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
20853 conversion.
20854 (grub_getcharwidth): New function.
20855
20856 * kern/misc.c (grub_utf8_to_ucs4): New function.
20857
20858 * include/grub/term.h (struct grub_term): Added a new member
20859 "getcharwidth".
20860 (grub_getcharwidth): New prototype.
20861
20862 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
20863
20864 * term/i386/pc/console.c (map_char): New function. Segregated from
20865 grub_console_putchar.
20866 (grub_console_putchar): Use map_char.
20867 (grub_console_getcharwidth): New function.
20868 (grub_console_term): Specified grub_console_getcharwidth as
20869 getcharwidth.
20870
20871 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
20872 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
20873
20874 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
20875 GRUB_ERRNO.
20876 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
20877 on grub_strtoul completely.
20878 (write_char): Declare local variables in the beginning of the
20879 function.
20880 (grub_vesafb_getcharwidth): New function.
20881 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
20882 getcharwidth.
20883
1f0a95e4 208842005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
20885
20886 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
20887 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
20888 commands/i386/pc/vbetest.c.
20889
20890 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
20891 call grub_vbe_get_controller_info again, because the returned
20892 information is volatile.
20893 (grub_vbe_set_video_mode): Mostly rewritten.
20894 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
20895 grub_vbe_status_t correctly.
20896 (grub_vbe_get_video_mode_info): Likewise.
20897 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
20898 several if statements.
20899
20900 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
20901 * commands/i386/pc/vbeinfo.c: ... this.
20902
20903 * commands/i386/pc/vbe_test.c: Renamed to ...
20904 * commands/i386/pc/vbetest.c: ... this.
20905
20906 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
20907 ...
20908 (grub_cmd_vbeinfo): ... this. Save video modes before
20909 iterating. Skip a video mode, if it is not available, not enough
20910 information is given or it is monochrome. Show the memory
20911 model. Leave the interpretation of MODEVAR to grub_strtoul
20912 completely.
20913 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
20914 (GRUB_MOD_FINI): Likewise.
20915
20916 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
20917 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
20918 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
20919 duplicated grub_env_get. Leave the interpretation of MODEVAR to
20920 grub_strtoul completely.
20921 (real2pm): Removed.
20922 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
20923 (GRUB_MOD_FINI): Likewise.
20924
20925 * normal/misc.c: Include grub/mm.h.
20926
20927 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
20928 vbe_list_modes with vbetest.mod and vbeinfo.mod.
20929 (vbe_list_modes_mod_SOURCES): Removed.
20930 (vbe_list_modes_mod_CFLAGS): Likewise.
20931 (vbe_test_mod_SOURCES): Likewise.
20932 (vbe_test_mod_CFLAGS): Likewise.
20933 (vbeinfo_mod_SOURCES): New variable.
20934 (vbeinfo_mod_CFLAGS): Likewise.
20935 (vbetest_mod_SOURCES): Likewise.
20936 (vbetest_mod_CFLAGS): Likewise.
20937
992ffbbe 209382005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
20939
20940 * normal/misc.c: New file.
20941
20942 * DISTLIST: Added normal/misc.c.
f19dbdb7 20943
992ffbbe 20944 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
20945 DISK to HOOK. Call HOOK with DISK.
20946 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20947 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20948 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20949
20950 * normal/menu_entry.c (struct screen): Added a new member
20951 "completion_shown".
20952 (completion_buffer): New global variable.
20953 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
20954 (store_completion): New function.
20955 (complete): Likewise.
20956 (clear_completions): Likewise.
20957 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
20958 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
20959 a tab, call complete.
20960
20961 * normal/completion.c (disk_dev): Removed.
20962 (print_simple_completion): Likewise.
20963 (print_partition_completion): Likewise.
20964 (print_func): New global variable.
20965 (add_completion): Do not take the arguments WHAT or PRINT any
20966 longer. Added a new argument TYPE. Instead of printing directly,
20967 call PRINT_FUNC if not NULL.
20968 All callers changed.
20969 (complete_device): Use a local variable DEV instead of
20970 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
20971 (grub_normal_do_completion): Take a new argument HOOK. Do not
20972 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
20973 empty string, return NULL instead.
20974 All callers changed.
20975
20976 * normal/cmdline.c (print_completion): New function.
20977
20978 * kern/partition.c (grub_partition_iterate): Add an argument DISK
20979 to HOOK.
20980 All callers changed.
20981
20982 * kern/disk.c (grub_print_partinfo): Removed.
20983
20984 * include/grub/partition.h (struct grub_partition_map): Add a new
20985 argument DISK into HOOK of ITERATE.
20986 (grub_partition_iterate): Add a new argument DISK to HOOK.
20987
20988 * include/grub/normal.h (enum grub_completion_type): New enum.
20989 (grub_completion_type_t): New type.
20990 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
20991 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
20992 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
20993 (GRUB_COMPLETION_TYPE_FILE): Likewise.
20994 (grub_normal_do_completion): Added a new argument HOOK.
20995 (grub_normal_print_device_info): New prototype.
20996
20997 * include/grub/disk.h (grub_print_partinfo): Removed.
20998
20999 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21000 (normal_mod_SOURCES): Likewise.
21001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21002 (normal_mod_SOURCES): Likewise.
21003
21004 * commands/ls.c (grub_ls_list_disks): Use
21005 grub_normal_print_device_info instead of grub_print_partinfo. Free
21006 PNAME.
21007 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21008 duplicating the code.
21009
0bd41162 210102005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21011
21012 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21013 follow GCS more precisely.
21014 * commands/i386/pc/vbe_test.c: Likewise.
21015 * include/grub/i386/pc/vbe.h: Likewise.
21016 * term/i386/pc/vesafb.c: Likewise.
21017 * video/i386/pc/vbe.c: Likewise.
0bd41162 21018
6323696a 210192005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21020
21021 * DISTLIST: Added term/i386/pc/vesafb.c
21022 DISTLIST: Added video/i386/pc/vbe.c
21023 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21024 DISTLIST: Added commands/i386/pc/vbe_test.c.
21025 * commands/i386/pc/vbe_list_modes.c: New file.
21026 * commands/i386/pc/vbe_test.c: Likewise.
21027 * term/i386/pc/vesafb.c: Likewise.
21028 * video/i386/pc/vbe.c: Likewise.
21029 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21030 (grub_vbe_probe) Added prototype.
21031 (grub_vbe_set_video_mode) Likewise.
21032 (grub_vbe_get_video_mode) Likewise.
21033 (grub_vbe_get_video_mode_info) Likewise.
21034 (grub_vbe_set_pixel_rgb) Likewise.
21035 (grub_vbe_set_pixel_index) Likewise.
21036 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21037 (pkgdata_MODULES): Added vesafb.mod.
21038 (pkgdata_MODULES): Added vbe_list_modes.mod.
21039 (pkgdata_MODULES): Added vbe_test.mod.
21040 (vbe_mod_SOURCES): Added.
21041 (vbe_mod_CFLAGS): Likewise.
21042 (vesafb_mod_SOURCES): Likewise.
21043 (vesafb_mod_CFLAGS): Likewise.
21044 (vbe_list_modes_mod_SOURCES): Likewise.
21045 (vbe_list_modes_mod_CFLAGS): Likewise.
21046 (vbe_test_mod_SOURCES): Likewise.
21047 (vbe_test_mod_CFLAGS): Likewise.
21048
0a74e62f 210492005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21050
0a74e62f 21051 * normal/command.c (grub_command_execute): If INTERACTIVE is
21052 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21053 CMDLINE. Disable the pager if INTERACTIVE is true.
21054 All callers are changed.
21055
21056 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21057 before reading a config file.
21058 * normal/main.c (read_config_file): Even if a command is not
21059 found, register it if it is within an entry.
21060
21061 * util/grub-emu.c: Include sys/types.h and unistd.h.
21062 (options): Added --hold.
21063 (struct arguments): Added a new member "hold".
21064 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21065 missing.
21066 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21067 cleared by a debugger, if it is not zero.
21068
21069 * include/grub/normal.h (grub_command_execute): Add an argument
21070 INTERACTIVE.
21071
e51f85ae 210722005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21073
21074 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21075
e9c6f39b 210762005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21077
21078 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21079 program with another one, because the old one didn't detect a bug
21080 in gcc-3.4. Always use regparm 2, because the new test is still
21081 not enough for gcc-4.0. Someone must investigate a simple test
21082 case which detects a bug in gcc-4.0.
21083
8de3495c 210842005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21085
21086 * DISTLIST: Added normal/completion.c.
21087
21088 * normal/completion.c: New file.
f19dbdb7 21089
8de3495c 21090 * term/i386/pc/console.c (grub_console_getwh): New function.
21091 (grub_console_term): Assign grub_console_getwh to getwh.
21092
21093 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21094 function is defined in normal/completion.c as
21095 grub_normal_do_completion.
21096 (grub_cmdline_get): Use grub_normal_do_completion instead of
21097 grub_tab_complete.
21098
21099 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21100 returns non-zero, otherwise return 0.
21101 (grub_partition_iterate): First, probe the partition map. Then,
21102 call ITERATE only for this partition map.
21103
21104 * kern/misc.c (grub_strncmp): Rewritten.
21105
21106 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21107 returns non-zero. Otherwise return 0.
21108
21109 * include/grub/partition.h (grub_partition_map_iterate): Return
21110 int instead of void.
21111
21112 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21113
21114 * include/grub/misc.h (grub_strncmp): Change the type of N to
21115 grub_size_t.
21116
21117 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21118 of void.
21119
21120 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21121 unsigned explicitly before comparing it with I.
8de3495c 21122
21123 * kern/main.c (grub_env_write_root): Add the attribute unused into
21124 VAR.
21125
21126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21127 normal/completion.c.
21128 (normal_mod_SOURCES): Likewise.
21129 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21130 (normal_mod_SOURCES): Likewise.
21131
21132 * normal/command.c (grub_iterate_commands): If ITERATE returns
21133 non-zero, return one immediately.
21134
e85e144b 211352005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21136
21137 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21138 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21139 descriptions.
21140 (grub_vbe_get_controller_info): New function.
21141 (grub_vbe_get_mode_info): Likewise.
21142 (grub_vbe_set_mode): Likewise.
21143 (grub_vbe_get_mode): Likewise.
21144 (grub_vbe_set_memory_window): Likewise.
21145 (grub_vbe_get_memory_window): Likewise.
21146 (grub_vbe_set_scanline_length): Likewise.
21147 (grub_vbe_get_scanline_length): Likewise.
21148 (grub_vbe_set_display_start): Likewise.
21149 (grub_vbe_get_display_start): Likewise.
21150 (grub_vbe_set_palette_data): Likewise.
21151 * include/grub/i386/pc/vbe.h: New file.
21152
c46153d2 211532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21154
21155 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21156 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21157 * DISTLIST: Likewise.
21158 * kern/ieee1275/of.c: Moved to ...
21159 * kern/ieee1275/ieee1275.c: ... here.
21160
0cb90c45 211612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21162
21163 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21164 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21165 Pass 0 as `end' parameter to grub_strtoul().
21166
a19fb360 211672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21168
21169 * include/grub/powerpc/ieee1275/console.h: Do not include
21170 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21171 ifdef.
21172 (grub_console_cur_color): Remove i386-specific prototype.
21173 (grub_console_real_putchar): Likewise.
21174 (grub_console_checkkey): Likewise.
21175 (grub_console_getkey): Likewise.
21176 (grub_console_getxy): Likewise.
21177 (grub_console_gotoxy): Likewise.
21178 (grub_console_cls): Likewise.
21179 (grub_console_setcursor): Likewise.
21180 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21181 Include <grub/machine/console.h>.
21182 * term/ieee1275/ofconsole.c: Likewise.
21183
4ac9bd04 211842005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21185
21186 * Makefile.in (LIBLZO): New variable.
21187
21188 * configure.ac: Check for LZO version 2.
21189
21190 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21191 lzo/lzo1x.h instead of lzo1x.h.
21192
21193 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21194 of -llzo.
21195
21196 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21197 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21198
21199 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21200 copying the data from PARTITION to P.
21201
f4917dfd 212022005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21203
21204 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21205 negative, unload the module.
21206
21207 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21208 map is "pc_partition_map" but not "pc".
21209 (usage): Fix the description. The options are --boot-image and
21210 --core-image but not --boot-file or --core-file.
21211 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21212 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21213 DEFAULT_DIRECTORY.
21214
21215 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21216 --core-file. Specify INSTALL_DEVICE as an argument.
21217
21218 * util/console.c: Include config.h.
21219 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21220 [HAVE_NCURSES_H]: Include ncurses.h.
21221 [HAVE_CURSES_H]: Include curses.h.
21222 [!A_NORMAL] (A_NORMAL): Defined as zero.
21223 [!A_STANDOUT] (A_STANDOUT): Likewise.
21224
21225 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21226 -lncurses.
21227 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21228
21229 * configure.ac: Check for curses libraries and headers.
21230
21231 * Makefile.in (LIBCURSES): New variable.
21232
21233 * genmk.rb (Script::rule): Set the executable bits.
21234
21235 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21236 name of the PC partition map is "pc_partition_map" but not "pc".
21237
0e143073 212382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21239
21240 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21241 (modules): Likewise.
21242 (usage): Added descriptions for --modules and --grub-probefs.
21243 Handle --modules and --grub-probefs. Save the arguments in MODULES
21244 and GRUB_PROBEFS, respectively.
21245 Auto-detect a filesystem module against GRUBDIR. If the result is
21246 empty and modules are not specified explicitly, abort the
21247 installation. Add the result to MODULES.
21248
21249 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21250 disk/powerpc/ieee1275/ofdisk.c,
21251 include/grub/powerpc/ieee1275/init.h and
21252 term/powerpc/ieee1275/ofconsole.c.
21253 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21254 term/ieee1275/ofconsole.c.
21255
21256 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21257
21258 * COPYING: Upgraded to the latest version. Only the address of the
21259 FSF office has changed.
f19dbdb7 21260
efd6e6d5 212612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21262
21263 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21264 kern/ieee1275.c with kern/ieee1275/of.c.
21265
21266 * kern/ieee1275.c: Moved to ...
21267 * kern/ieee1275/of.c: ... here.
21268
8ceafda2 212692005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21270
21271 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21272 readability.
8ceafda2 21273
21274 * config.guess: Updated to the latest version from gnulib.
21275 * config.sub: Likewise.
21276 * install.sh: Likewise.
21277 * mkinstalldirs: Likewise.
21278
21279 * include/grub/console.h: Removed. This file is arch-specific. Do
21280 not put this in include/grub.
21281
21282 * include/grub/i386/pc/console.h: Resurrected.
21283
21284 * util/console.c: Include grub/machine/console.h instead of
21285 grub/console.h.
21286 * util/grub-emu.c: Likewise.
21287
267f6cd9 212882005-08-04 Marco Gerards <metgerards@student.han.nl>
21289
21290 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21291 hardcoded value.
f19dbdb7 21292
267f6cd9 21293 From Vincent Pelletier <subdino2004@yahoo.fr>
21294 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21295 Redefined to use grub_getwh.
21296 (grub_term): New member named getwh.
21297 (grub_getwh): New prototype.
21298 * kern/term.c (grub_getwh): New function.
21299 * term/i386/pc/console.c (grub_console_getwh): New function.
21300 (grub_console_term): New member `getwh'.
21301 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21302 (grub_vga_term): New member `getwh'.
0b5abe02 21303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21304 grub_ssize_t.
21305 (grub_ofconsole_getw): New function.
21306 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21307 (grub_ofconsole_term): New field named getwh and new initial
21308 value.
21309
3be7266d 213102005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21311
21312 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21313 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21314 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21315 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21316 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21317 of <grub/machine/ieee1275.h>.
21318 * commands/ieee1275/reboot.c: Likewise.
21319 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21320 * kern/ieee1275.c: ... to here. All users updated. Change all
21321 parameter structs to use new type `grub_ieee1275_cell_t'.
21322 * term/powerpc/ieee1275/ofconsole.c: Move ...
21323 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21324 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21325 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21326 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21327 to return int.
21328 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21329 Remove unused prototypes. All users updated.
21330 * include/grub/powerpc/ieee1275/console.h: Removed.
21331 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21332 `grub_ieee1275_cell_t'.
21333 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21334 Cast comparisons with -1 to the correct type.
21335 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21336 type to match `grub_ieee1275_entry_fn'.
21337
8b5f3938 213382005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21339
21340 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21341
21342 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21343 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21344 partmap/sun.c.
21345 (grub_probefs_SOURCES): New variable.
21346
21347 * util/i386/pc/grub-probefs.c: New file.
21348
21349 * util/i386/pc/grub-setup.c (main): Call
21350 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21351 grub_hfs_init and grub_jfs_init to initialize the system. Call
21352 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21353 grub_pc_partition_map_fini to finish the system.
21354
ea409713 213552005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21356
21357 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21358 function.
21359 (grub_multiboot_load_elf32): Likewise.
21360 (grub_multiboot_is_elf64): Likewise.
21361 (grub_multiboot_load_elf64): Likewise.
21362 (grub_multiboot_load_elf): Likewise.
21363 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21364 an ELF32 or ELF64 file.
21365 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21366
21367 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21368 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21369 NULL before calling FS->LABEL.
21370 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21371 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21372 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
21373 before calling FS->LABEL.
21374
141a288b 213752005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
21376
21377 * util/i386/pc/grub-install.in (datadir): New variable.
21378 (libdir): Removed.
21379 (pkgdatadir): New variable.
21380 (pkglibdir): Removed.
21381
0d5f8a54 213822005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
21383
21384 * DISTLIST: Added util/i386/pc/grub-install.in.
21385
21386 * util/i386/pc/grub-install.in: New file.
21387
21388 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
21389 (grub_install_SOURCES): Likewise.
21390
21391 * genmk.rb: Added support for scripts.
21392 (Script): New class.
21393 (scripts): New variable.
21394
21395 * Makefile.in (install-local): Install sbin_SCRIPTS by
21396 INSTALL_SCRIPT.
21397 (uninstall): Remove sbin_SCRIPTS.
21398
21399 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
21400 device, try to get a GRUB device by
21401 grub_util_biosdisk_get_grub_dev.
21402 Free DEST_DEV.
21403
21404 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
21405 description for --device-map.
21406
5f968e1e 214072005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21408
21409 Change the semantics of variable hooks. They now return strings
21410 instead of error values.
f19dbdb7 21411
5f968e1e 21412 * util/i386/pc/grub-setup.c: Include grub/env.h.
21413 (setup): Use grub_device_set_root instead of grub_env_set.
21414
21415 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
21416 grub_env_get instead of grub_device_set_root and
21417 grub_device_get_root, respectively.
21418
21419 * kern/main.c (grub_env_write_root): New function.
21420 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
21421 grub_env_set instead of grub_device_set_root.
21422
21423 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
21424 many variables.
21425 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
21426 rather than calling ENV->WRITE_HOOK afterwards.
21427 (grub_env_get): Return the result of ENV->READ_HOOK rather than
21428 passing a pointer of a pointer.
21429 (grub_register_variable_hook): Change the types of "read_hook" and
21430 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
21431 respectively.
21432 Allocate the default empty string on the heap, because this string
21433 may be freed later.
21434
21435 * kern/device.c: Include grub/env.h.
21436 (grub_device_set_root): Removed.
21437 (grub_device_get_root): Likewise.
21438 (grub_device_open): Use grub_env_get instead of
21439 grub_device_get_root.
21440
21441 * include/grub/env.h (grub_env_read_hook_t): New type.
21442 (grub_env_write_hook_t): Likewise.
21443 (grub_env_var): Change the types of "read_hook" and "write_hook"
21444 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
21445 (grub_register_variable_hook): Likewise.
21446
21447 * include/grub/device.h (grub_device_set_root): Removed.
21448 (grub_device_set_root): Likewise.
21449
21450 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
21451 make sure that DIRNAME terminates with '/', so that
21452 grub_fat_find_dir will fail if PATH is not a directory.
21453
21454 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
21455 from DIRNAME.
21456 Use the qualifier auto for print_files and print_files_long.
21457 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
21458 as a regular file.
21459 Put a newline only if there is no error.
21460 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
21461 used.
21462
896f0afd 214632005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21464
21465 * kern/partition.c (grub_partition_probe): Initialize PART to
21466 NULL. Otherwise, when no partition map is registered, this returns
21467 a garbage.
21468
b28b81b2 214692005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
21470
21471 * partmap/apple.c (apple_partition_map_iterate): Check if POS
21472 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
21473 valid.
21474
5f3607e0 214752005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
21476
21477 * commands/ls.c (grub_ls_list_disks): Print the filesystem
21478 information on each device, if it does not have partitions. Print
21479 "Device" instead of "Disk", because this function is not specific
21480 to disk devices.
21481
21482 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
21483 static to ensure that it is put on the memory rather than a
21484 register.
21485
502c87e8 214862005-07-17 Yoshinori Okuji <okuji@enbug.org>
21487
21488 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
21489 (grub_cat_init): Likewise.
21490 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
21491 (options): Likewise.
21492 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21493 (grub_configfile_init): Likewise.
21494 * font/manager.c (GRUB_MOD_INIT): Likewise.
21495 * commands/help.c (GRUB_MOD_INIT): Likewise.
21496 (grub_help_init): Likewise.
21497 * normal/command.c (grub_command_init): Likewise.
21498 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
21499 * disk/loopback.c (grub_loop_init): Likewise.
21500 (GRUB_MOD_INIT): Likewise.
21501 * commands/ls.c (grub_ls_init): Likewise.
21502 (GRUB_MOD_INIT): Likewise.
21503 (options): Likewise.
21504 * commands/boot.c (grub_boot_init): Likewise.
21505 (GRUB_MOD_INIT): Likewise.
21506 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
21507 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
21508 (GRUB_MOD_INIT): Likewise.
21509 * commands/cmp.c (grub_cmp_init): Likewise.
21510 (GRUB_MOD_INIT): Likewise.
21511
21512 * normal/arg.c: Use <> instead of "" to include header files.
21513 (SHORT_ARG_HELP): New macro.
21514 (SHORT_ARG_USAGE): Likewise.
21515 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
21516 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
21517 descriptions.
21518 (find_short): Check if C is 'h' or 'u' explicitly.
21519 (grub_arg_show_help): Use space characters instead of tabs. Treat
21520 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
21521 are shown with --help and --usage only if they are not used for
21522 the command itself.
21523 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
21524 'h' and 'u'.
21525
21526 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
21527 const into "longarg". Change the type of "shortarg" to int.
21528
f806d18e 215292005-07-17 Yoshinori Okuji <okuji@enbug.org>
21530
21531 * boot/i386/pc/boot.S (boot_drive_check): New label.
21532
21533 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
21534 macro.
21535
21536 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
21537 which do not pass a boot drive correctly. Copied from GRUB Legacy.
21538
e293232b 215392005-07-17 Yoshinori Okuji <okuji@enbug.org>
21540
21541 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
21542 When turning off Gate A20, skip the check and return immediately,
21543 because this is not fatal usually.
21544
ebedfd00 215452005-07-17 Yoshinori Okuji <okuji@enbug.org>
21546
21547 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
21548 be 0x7C00 instead of 0x8000.
21549
21550 * boot/i386/pc/pxeboot.S: Rewritten.
21551
21552 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
21553 EXT_C.
21554 (gate_a20_check_state): Read a byte from 0x108000. Invert the
21555 result.
21556
654fc59f 215572005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
21558
21559 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
21560 robustness. This routine now supports a BIOS call and System
21561 Control Port A to modify the gate A20.
21562
21563 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21564 Increased to 0x440.
21565
09f9923f 215662005-07-12 Hollis Blanchard <hollis@penguinppc.org>
21567
21568 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
21569 device path and resulting ihandle.
21570 (grub_ofdisk_close): dprintf the ihandle being closed.
21571 (grub_ofdisk_read): dprintf function parameters.
21572 * kern/mm.c (grub_mm_init_region): Likewise.
21573 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
21574 (grub_linux_boot): dprintf the Linux entry point, initrd address and
21575 size, and boot arguments.
21576 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
21577 before loading into memory.
21578 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
21579 before loading into memory.
21580
7ef504d8 215812005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
21582
21583 * kern/mm.c: Added much documentation.
21584 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
21585 8, set to 5 instead of 8.
21586
e0f050c2 215872005-07-10 Yoshinori Okuji <okuji@enbug.org>
21588
21589 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
21590
21591 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
21592 (grub_mkdevicemap_SOURCES): New variable.
21593
21594 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
21595 lib/device.c of GRUB Legacy.
21596
7224189a 215972005-07-10 Yoshinori Okuji <okuji@enbug.org>
21598
21599 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
21600 instead of PATH is NULL.
21601
68c864eb 216022005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
21603
21604 * commands/cmp.c (BUFFER_SIZE): New macro.
21605 (grub_cmd_cmp): Close the right file at the right time. Compare
21606 only data just read. Don't report files of different size as
21607 identical. Dynamically allocate buffers. Move variable
21608 declarations at the beginning of function.
21609
e6f3e614 216102005-07-09 Yoshinori Okuji <okuji@enbug.org>
21611
21612 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
21613 reverse.
21614
f8f1559a 216152004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
21616
21617 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
21618 when backspace is pressed at beginning of line.
21619
39c9d41d 216202005-07-03 Yoshinori Okuji <okuji@enbug.org>
21621
21622 * DISTLIST: Added genfslist.sh.
21623
21624 * normal/main.c (fs_module_list): New variable.
21625 (autoload_fs_module): New function.
21626 (read_fs_list): Likewise.
21627 (grub_normal_execute): Call read_fs_list.
21628
21629 * kern/fs.c (grub_fs_autoload_hook): New variable.
21630 (grub_fs_probe): Added support for auto-loading.
21631
21632 * include/grub/normal.h (struct grub_fs_module_list): New struct.
21633 (grub_fs_module_list_t): New type.
21634
21635 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
21636 (grub_fs_autoload_hook): New prototype.
21637
21638 * genfslist.sh: New file.
f19dbdb7 21639
39c9d41d 21640 * genmk.rb: Added a rule to generate a filesystem list.
21641
121c1d83 216422005-06-30 Marco Gerards <metgerards@student.han.nl>
21643
21644 * configure.ac: Fix the test for cross-compiling.
21645
21646 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
21647 define GRUB_UTIL anymore.
21648
21649 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
21650 so this function works on other systems than just big endian.
21651 (load_modules): Likewise.
21652 (add_segments): Likewise.
21653
e75d76e1 216542005-06-23 Hollis Blanchard <hollis@penguinppc.org>
21655
21656 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
21657 contains `l' modifier, get a long from va_arg().
21658
50b5a0a7 216592005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
21660
21661 * kern/mm.c (grub_free): If the next free block which is being
21662 merged is the first free block, set the first block to the block
21663 being freed.
21664 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
21665
89371b20 216662005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21667
21668 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
21669 `grub_ieee1275_chosen'.
21670
168d6e58 216712005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21672
21673 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
21674 (grub_ieee1275_chosen): New variable.
21675 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
21676 `chosen'.
21677 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
21678 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21679 Rename first argument to `phandle' for consistency.
21680 (grub_ieee1275_get_property_length): Likewise.
21681 (grub_ieee1275_next_property): Likewise. Change type of first argument
21682 to grub_ieee1275_phandle_t.
21683 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
21684 Move export next to declaration.
21685 (grub_ieee1275_chosen): New variable.
21686 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
21687 Correct cosmetic typo.
21688 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
21689 `grub_ieee1275_chosen'.
21690 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
21691 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
21692 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
21693 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
21694 `grub_ieee1275_chosen'.
21695
ca5baa3f 216962005-05-10 Hollis Blanchard <hollis@penguinppc.org>
21697
21698 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
21699 /chosen/bootargs.
21700 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
21701 /chosen/bootargs as "variable=value" pairs.
21702
708b345f 217032005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
21704
21705 * include/grub/misc.h (grub_dprintf): New macro.
21706 (grub_real_dprintf): New prototype.
21707 (grub_strword): Likewise.
21708 (grub_iswordseparator): Likewise.
21709 * kern/misc.c (grub_real_dprintf): New function.
21710 (grub_strword): Likewise.
21711 (grub_iswordseparator): Likewise.
21712
f4c5e67c 217132005-04-30 Hollis Blanchard <hollis@penguinppc.org>
21714
21715 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
21716 (roundup): Remove macro.
21717 (grub_ieee1275_flags): Make static.
21718 (grub_ieee1275_realmode): Remove.
21719 (grub_ieee1275_test_flag): New function.
21720 (grub_ieee1275_set_flag): Likewise.
21721 (find_options): Rename to `grub_ieee1275_find_options'; update
21722 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
21723 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
21724 (cmain): New prototype.
21725 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
21726 `grub_ieee1275_flags' directly.
21727 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
21728 machine/biosdisk.h.
21729 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
21730 Don't include grub/machine/init.h.
21731 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
21732 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21733 Remove prototype.
21734 (grub_ieee1275_realmode): Likewise.
21735 (grub_ieee1275_flag): New enum.
21736 (grub_ieee1275_test_flag): New prototype.
21737 (grub_ieee1275_set_flag): New prototype.
21738 * include/grub/powerpc/ieee1275/init.h: Remove file.
21739 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
21740 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
21741 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
21742 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
21743 comment.
21744 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
21745 `grub_ieee1275_test_flag'.
21746 (grub_ieee1275_encode_devname): Likewise.
21747
ed16607e 217482005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21749
21750 * include/grub/powerpc/ieee1275/ieee1275.h
21751 (grub_ieee1275_encode_devname): New prototype.
21752 (grub_ieee1275_get_filename): Likewise.
21753 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21754 function.
21755 (grub_set_prefix): Likewise.
21756 (grub_machine_init): Call grub_set_prefix.
21757 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21758 (grub_parse_type): New enum.
21759 (grub_ieee1275_get_devargs): New function.
21760 (grub_ieee1275_get_devname): Likewise.
21761 (grub_ieee1275_parse_args): Likewise.
21762 (grub_ieee1275_get_filename): Likewise.
21763 (grub_ieee1275_encode_devname): Likewise.
21764
be369920 217652005-03-30 Marco Gerards <metgerards@student.han.nl>
21766
21767 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21768 `grub_loader_unset'.
21769
a5ce3a4a 217702005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21771
21772 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21773 instead of grub_ieee1275_interpret.
21774 (grub_halt_init): New function.
21775 (grub_halt_fini): Likewise.
21776 (GRUB_MOD_INIT): Correct message grammar.
21777 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21778 instead of grub_ieee1275_interpret.
21779 (grub_reboot_init): New function.
21780 (grub_reboot_fini): Likewise.
21781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21782 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21783 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21784 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21785 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21786 function.
21787 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21788 Add prototype.
21789 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21790 prototype.
21791 (grub_halt): Likewise.
21792 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21793 (cmain): Remove __attribute__((unused)).
21794 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21795 (grub_heap_len): Likewise.
21796 (grub_machine_fini): New function.
21797 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21798 (grub_halt): Likewise.
21799 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21800 function.
21801 * util/powerpc/ieee1275/misc.c: New file.
21802
0058f771 218032005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21804
21805 * DISTLIST: New file.
21806 * gendistlist.sh: Likewise.
f19dbdb7 21807
0058f771 21808 * Makefile.in (COMMON_DISTFILES): Removed.
21809 (BOOT_DISTFILES): Likewise.
21810 (CONF_DISTFILES): Likewise.
21811 (DISK_DISTFILES): Likewise.
21812 (FS_DISTFILES): Likewise.
21813 (INCLUDE_DISTFILES): Likewise.
21814 (KERN_DISTFILES): Likewise.
21815 (LOADER_DISTFILES): Likewise.
21816 (TERM_DISTFILES): Likewise.
21817 (UTIL_DISTFILES): Likewise.
21818 (DISTFILES): Likewise.
21819 (uninstall): Uninstall files in $(pkgdata_DATA).
21820 (DISTLIST): New target.
21821 (distdir): Use the contents of the file DISTLIST to get a list of
21822 distributed files.
21823
46b3b8a5 218242005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21825
21826 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21827 descriptor. This is ported from GRUB Legacy.
21828
21829 * gencmdlist.sh: Added an extra semicolon to make it work with
21830 old sed versions. Reported by Robert Bihlmeyer
21831 <robbe@orcus.priv.at>.
21832
5822ff87 218332005-03-08 Yoshinori Okuji <okuji@enbug.org>
21834
21835 Automatic loading of commands is supported.
f19dbdb7 21836
5822ff87 21837 * normal/main.c (read_command_list): New function.
21838 (grub_normal_execute): Call read_command_list.
21839
21840 * normal/command.c (grub_register_command): Return zero or CMD.
21841 Allocate CMD->NAME from the heap.
21842 Initialize CMD->MODULE_NAME to zero.
21843 Find the same name as well. If the same command is found and it is
21844 a dummy command, overwrite members. If it is not a dummy command,
21845 return zero.
21846 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
21847 (grub_command_find): If a dummy command is found, load a module
21848 and retry to find a command only once.
21849
21850 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
21851 make sure that each command is loaded.
21852
21853 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
21854 macro.
21855 (struct grub_command): Remove const from the member `name'.
21856 Add a new member `module_name'.
21857 (grub_register_command): Return grub_command_t.
21858
21859 * commands/help.c (grub_cmd_help): Call grub_command_find to make
21860 sure that each command is loaded.
21861
21862 * genmk.rb (PModule::rule): Specify a module name without the
21863 suffix ".mod" to gencmdlist.sh.
21864
7b1f4b57 218652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21866
21867 * gencmdlist.sh: New file.
f19dbdb7 21868
7b1f4b57 21869 * genmk.rb (PModule::rule): Generate a rule for a command list.
21870 Clean command.lst.
21871 Generate command.lst from $(COMMANDFILES).
21872
21873 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
21874 (DATA): Added $(pkgdata_DATA).
21875 (install-local): Install files in $(pkgdata_DATA).
21876
062aaf39 218772005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21878
21879 * term/i386/pc/vga.c (debug_command): Removed.
21880 (GRUB_MOD_INIT): Do not register the command "debug".
21881
21882 From Hollis Blanchard:
21883 * commands/configfile.c: New file.
21884 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21885 commands/configfile.c.
21886 (pkgdata_MODULES): Added configfile.mod.
21887 (configfile_mod_SOURCES): New variable.
21888 (configfile_mod_CFLAGS): Likewise.
21889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21890 commands/configfile.c.
21891 (pkgdata_MODULES): Added configfile.mod.
21892 (configfile_mod_SOURCES): New variable.
21893 (configfile_mod_CFLAGS): Likewise.
21894 * util/grub-emu.c (main): Call grub_configfile_init and
21895 grub_configfile_fini.
21896 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
21897 prototype.
21898 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 21899
cee01aa6 219002005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21901
21902 * normal/arg.c (grub_arg_show_help): Do not show the bug report
21903 address.
21904
21905 * commands/help.c (grub_cmd_help): Do not print newlines after
21906 the last command in print_command_help.
21907
93f3a1d8 219082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21909
21910 * commands/default.h: New file.
21911 * commands/timeout.h: Likewise.
21912 * normal/context.c: Likewise.
f19dbdb7 21913
93f3a1d8 21914 * util/misc.c: Do not include sys/times.h.
21915 Include sys/time.h and grub/machine/time.h.
21916 (grub_get_rtc): Rewritten with gettimeofday.
21917
21918 * util/grub-emu.c (main): Call grub_default_init and
21919 grub_timeout_init before grub_normal_init, and call
21920 grub_timeout_fini and grub_default_fini after grub_main.
21921
21922 * util/console.c (grub_ncurses_checkkey): Return the read
21923 character or -1.
21924
21925 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
21926 timeouts.
21927
21928 * normal/main.c (read_config_file): Push MENU. If this fails,
21929 print an error and wait for a user input.
21930 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
21931 If a menu is empty or an error occurs, pop MENU.
21932 (grub_normal_execute): Pop and free MENU after grub_menu_run
21933 returns.
21934
21935 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
21936
21937 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
21938 include time.h.
21939 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21940 without GRUB_UTIL.
21941 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
21942 time.h.
21943 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21944 without GRUB_UTIL.
21945
21946 * include/grub/normal.h (struct grub_menu_list): New struct.
21947 (grub_menu_list_t): New type.
21948 (struct grub_context): New struct.
21949 (grub_context_t): New type.
21950 (grub_register_command): Got rid of EXPORT_FUNC.
21951 (grub_unregister_command): Likewise.
21952 (grub_context_get): New prototype.
21953 (grub_context_get_current_menu): Likewise.
21954 (grub_context_push_menu): Likewise.
21955 (grub_context_pop_menu): Likewise.
21956 [GRUB_UTIL] (grub_default_init): Likewise.
21957 [GRUB_UTIL] (grub_default_fini): Likewise.
21958 [GRUB_UTIL] (grub_timeout_init): Likewise.
21959 [GRUB_UTIL] (grub_timeout_fini): Likewise.
21960
21961 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
21962 commands/timeout.c and normal/context.c.
21963 (pkgdata_MODULES): Added default.mod and timeout.mod.
21964 (normal_mod_SOURCES): Added normal/context.c.
21965 (default_mod_SOURCES): New variable.
21966 (default_mod_CFLAGS): Likewise.
21967 (timeout_mod_SOURCES): Likewise.
21968 (timeout_mod_CFLAGS): Likewise.
21969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
21970 conf/i386-pc.rmk.
21971 (pkgdata_MODULES): Added default.mod and timeout.mod.
21972 (normal_mod_SOURCES): Added normal/context.c.
21973 (default_mod_SOURCES): New variable.
21974 (default_mod_CFLAGS): Likewise.
21975 (timeout_mod_SOURCES): Likewise.
21976 (timeout_mod_CFLAGS): Likewise.
21977
21978 * Makefile.in (all-local): Added $(MKFILES).
21979
4ed2e1dd 219802005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
21981
21982 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
21983 (grub_emu_SOURCES): Likewise.
21984 (pkgdata_MODULES): Add `sun.mod'.
21985 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21987 `partmap/sun.c'.
21988 (pkgdata_MODULES): Add `sun.mod'.
21989 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21990 * include/grub/partition.h (grub_sun_partition_map_init): New
21991 prototype.
21992 (grub_sun_partition_map_fini): Likewise.
21993 * partmap/sun.c: New file.
21994 * util/grub-emu.c (main): Initialize and de-initialize the sun
21995 partitionmap support.
21996
4d4e372e 219972005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
21998
21999 This implements an Emacs-like menu entry editor.
f19dbdb7 22000
4d4e372e 22001 * normal/menu_entry.c: New file.
f19dbdb7 22002
4d4e372e 22003 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22004 characters to ASCII.
22005 (saved_char): New variable.
22006 (grub_ncurses_checkkey): Rewritten completely.
22007 (grub_ncurses_getkey): Likewise.
22008 (grub_ncurses_init): Call raw instead of cbreak.
22009
22010 * normal/menu.c (print_entry): Do not put a space.
22011 (init_page): Renamed to ...
22012 (grub_menu_init_page): ... this. All callers changed.
22013 (edit_menu_entry): Removed.
22014 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22015
22016 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22017
22018 * kern/misc.c (grub_vprintf): Call grub_refresh.
22019
22020 * normal/menu.c (DISP_LEFT): Renamed to ...
22021 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22022 * normal/menu.c (DISP_UP): Renamed to ...
22023 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22024 * normal/menu.c (DISP_RIGHT): Renamed to ...
22025 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22026 * normal/menu.c (DISP_DOWN): Renamed to ...
22027 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22028 * normal/menu.c (DISP_HLINE): Renamed to ...
22029 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22030 * normal/menu.c (DISP_VLINE): Renamed to ...
22031 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22032 * normal/menu.c (DISP_UL): Renamed to ...
22033 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22034 * normal/menu.c (DISP_UR): Renamed to ...
22035 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22036 * normal/menu.c (DISP_LL): Renamed to ...
22037 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22038 * normal/menu.c (DISP_LR): Renamed to ...
22039 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22040 * normal/menu.c (TERM_WIDTH): Renamed to ...
22041 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22042 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22043 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22044 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22045 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22046 * normal/menu.c (TERM_MARGIN): Renamed to ...
22047 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22048 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22049 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22050 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22051 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22052 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22053 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22054 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22055 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22056 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22057 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22058 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22059 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22060 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22061 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22062 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22063 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22064 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22065 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22066 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22067 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22068 All callers changed.
22069
22070 * include/grub/normal.h: New prototype.
22071
22072 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22073 normal/menu_entry.c.
22074 (normal_mod_SOURCES): Likewise.
22075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22076 (normal_mod_SOURCES): Likewise.
22077
e6b92c8a 220782005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22079
22080 * include/grub/normal.h (grub_halt_init): New prototype.
22081 (grub_halt_fini): Likewise.
22082 (grub_reboot_init): Likewise.
22083 (grub_reboot_fini): Likewise.
22084
22085 * util/grub-emu.c: Include signal.h.
22086 (main_env): New global variable.
22087 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22088 catch C-c.
22089 (grub_machine_fini): New function.
22090 (main): Call grub_halt_init and grub_reboot_init before
22091 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22092 Call setjmp with MAIN_ENV to go back afterwards.
22093 Call grub_machine_fini right before return.
22094
22095 * include/grub/util/misc.h: Include setjmp.h.
22096 (main_env): New prototype.
22097
22098 * include/grub/kernel.h (grub_machine_fini): New prototype.
22099 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22100 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22101
22102 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22103 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22104 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22105
e6b92c8a 22106 * util/i386/pc/misc.c: New file.
f19dbdb7 22107
e6b92c8a 22108 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22109 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22110 commands/i386/pc/reboot.c.
22111
c642636f 221122005-02-14 Guillem Jover <guillem@hadrons.org>
22113
22114 * include/grub/dl.h (grub_dl_check_header): New prototype.
22115 (grub_arch_dl_check_header): Change return type to grub_err_t,
22116 remove size parameter and export function. Update all callers.
22117 * kern/dl.c (grub_dl_check_header): New function.
22118 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22119 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22120 are inside the core.
22121 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22122 independent ELF header checks.
22123 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22124 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22125 `grub_dl_check_header' instead of explicit checks. Check for the
22126 ELF type.
22127 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22128 `grub_dl_check_header' instead of explicit checks. Remove arch
22129 specific ELF header checks.
22130
e6b92c8a 22131 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22132 argument SIZE.
22133
5eabe94b 221342005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22135
22136 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22137 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22138
1b14a681 221392005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22140
22141 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22142 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22143 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22144 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22145 * partmap/amiga.c (amiga_partition_map_iterate): Return
22146 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22147 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22148
aca108aa 221492005-02-01 Guillem Jover <guillem@hadrons.org>
22150
22151 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22152 help info.
22153
c9f9c556 221542005-01-31 Marco Gerards <metgerards@student.han.nl>
22155
22156 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22157 Removed prototype.
22158 (grub_rescue_cmd_linux): New prototype.
22159 (grub_rescue_cmd_initrd): Likewise.
22160 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22161 `bi_rec'.
22162 (grub_linux_release_mem): Release the memory for the initrd.
22163 (grub_load_linux): Renamed from this...
22164 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22165 Changed `entry' not to be static. Loop over memory regions to
22166 find another one when the default fails.
22167 (grub_rescue_cmd_initrd): New function.
22168 (grub_linux_init): Remove function.
22169 (grub_linux_fini): Likewise.
22170 (GRUB_MOD_INIT): Register `initrd'.
22171 (GRUB_MOD_FINI): Unregister `initrd'.
22172 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22173 Function removed.
22174 (grub_linux_normal_fini): Likewise.
22175 (GRUB_MOD_INIT): Register `initrd'.
22176 (GRUB_MOD_FINI): Unregister `initrd'.
22177
990cf3aa 221782005-01-31 Marco Gerards <metgerards@student.han.nl>
22179
22180 * commands/help.c: New file.
22181 * normal/arg.c (show_help): Renamed to...
22182 (grub_arg_show_help): ... this.
22183 * commands/i386/pc/halt.c: New file.
22184 * commands/i386/pc/reboot.c: Likewise.
22185 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22186 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22187 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22188 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22189 variables.
22190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22191 `commands/help.c'.
22192 (pkgdata_MODULES): Add `help.mod'.
22193 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22194 * grub/i386/pc/init.h (grub_reboot): New prototype.
22195 (grub_halt): Likewise.
22196 * include/grub/normal.h (grub_arg_show_help): New prototype.
22197 (grub_help_init): Likewise.
22198 (grub_help_fini): Likewise.
22199 * util/grub-emu.c (main): Initialize and deinitialize the help
22200 command.
22201
22202 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22203
22204 * normal/command.c (grub_command_init): Fixed the description of
22205 the `set' and `unset' commands.
22206
222072005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22208
22209 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22210 function.
22211 * commands/ieee1275/halt.c: New file.
22212 * commands/ieee1275/reboot.c: Likewise.
22213 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22214 `__attribute__ ((unused))'. Some GCS related fixed.
22215 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22216 (grub_suspend_fini): Likewise.
22217 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22218 and `halt.mod'.
22219 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22220 (halt_mod_CFLAGS): New variables.
22221 * include/grub/powerpc/ieee1275/ieee1275.h
22222 (grub_ieee1275_interpret): New prototype.
22223
1ab09cc7 222242005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22225
22226 * include/grub/misc.h (memmove): New prototype.
22227 (memcpy): Likewise.
22228
8b8cbdb2 222292005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22230
22231 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22232 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22233
e3741a27 222342005-01-22 Marco Gerards <metgerards@student.han.nl>
22235
22236 * kern/misc.c (grub_strndup): Function rewritten.
22237
776bd780 222382005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22239
22240 * normal/menu.c (TERM_WIDTH): Macro redefined.
22241 (TERM_TOP_BORDER_Y): Likewise.
22242 (draw_border): Replaced while-loop by a for-loop. Make the number
22243 of lines consistent with the number of lines displayed in
22244 print_entries. Added a margin below the rectangle.
22245 (print_entry): Make the entry fit in the rectangle.
22246 (print_entries): Display the scroll arrows next to the right
22247 border.
22248
78026bce 222492005-01-21 Marco Gerards <metgerards@student.han.nl>
22250
22251 * fs/minix.c (grub_minix_find_file): Reserve more space for
22252 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22253 `grub_strncpy' to copy `path' into it.
22254
67bbaf0f 222552005-01-21 Marco Gerards <metgerards@student.han.nl>
22256
22257 Add the loopback device, a device via which files can be accessed
22258 as devices.
f19dbdb7 22259
67bbaf0f 22260 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22261 (pkgdata_MODULES): Add loopback.mod.
22262 (loopback_mod_SOURCES): New variable.
22263 (loopback_mod_CFLAGS): Likewise.
22264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22265 `disk/loopback.c'.
22266 (pkgdata_MODULES): Add loopback.mod.
22267 (loopback_mod_SOURCES): New variable.
22268 (loopback_mod_CFLAGS): Likewise.
22269 * disk/loopback.c: new file.
22270 * include/grub/normal.h (grub_loop_init): New prototype.
22271 (grub_loop_fini): New prototype.
22272 * util/grub-emu.c (main): Initialize and de-initialize loopback
22273 support.
22274 * include/grub/disk.h (grub_disk_dev_id): Add
22275 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22276
6f1c18bd 222772005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22278
22279 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22280 function.
22281 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22282 (suspend_mod_SOURCES): New variable.
22283 (suspend_mod_CFLAGS): Likewise.
22284 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22285 New prototype.
22286 * commands/ieee1275/suspend.c: New file.
22287
b38551da 222882005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22289
22290 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22291 ((unused))' to `__attribute__ ((used))'.
b38551da 22292 (GRUB_MOD_FINI): Likewise.
22293 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22294 * genmk.rb (PModule): Assign space to common symbols when linking
22295 modules.
22296
777aff39 222972005-01-20 Marco Gerards <metgerards@student.han.nl>
22298
22299 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22300 `unsigned' arguments to `grub_size_t'.
22301 (grub_malloc): Likewise.
22302 (grub_realloc): Likewise.
22303 (grub_memalign): Likewise.
22304 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22305 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22306 * util/misc.c (grub_malloc): Likewise.
22307 (grub_realloc): Likewise.
22308 * kern/mm.c (get_header_from_pointer): Change the casts to
22309 `unsigned' into a cast to `grub_size_t'.
22310
22311 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22312 point to `currnode' when `currnode' is changed.
22313
22314 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22315 Schottelius <nico-linux@schottelius.org>.
22316
d0ff18e1 223172005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22318
22319 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22320 (note_path): Remove variable.
22321 (GRUB_IEEE1275_NOTE_NAME): New macro.
22322 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22323 (grub_ieee1275_note_hdr): New structure.
22324 (grub_ieee1275_note_desc): Likewise.
22325 (grub_ieee1275_note): Likewise.
22326 (load_note): Remove `dir' argument. All callers updated. Remove
22327 `note_img' and `path'. Do not load a file from `note_path'.
22328 Initialize a struct grub_ieee1275_note and write that to `out'.
22329 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22330
4ca7004c 223312005-01-05 Marco Gerards <metgerards@student.han.nl>
22332
22333 * util/misc.c (grub_util_read_image): Revert last change. It
22334 called `grub_util_read_at', which seeks from the beginning of the
22335 file.
22336
0b412211 223372005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22338
22339 * TODO: Add note about endianness in grub-mkimage.
22340 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22341 section.
22342 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22343 (grub_mkimage_SOURCES): New target.
22344 * include/grub/kernel.h (grub_start_addr): Remove variable.
22345 (grub_end_addr): Likewise.
22346 (grub_total_module_size): Likewise.
22347 (grub_kernel_image_size): Likewise.
22348 (GRUB_MODULE_MAGIC): New constant.
22349 (grub_module_info): New structure.
22350 (grub_arch_modules_addr): New prototype.
22351 (grub_get_end_addr): Remove prototype.
22352 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22353 * include/grub/powerpc/ieee1275/kernel.h: New file.
22354 * include/grub/util/misc.h (grub_util_get_fp_size): New
22355 prototype.
22356 (grub_util_read_at): Likewise.
22357 (grub_util_write_image_at): Likewise.
22358 * kern/main.c (grub_get_end_addr): Remove function.
22359 (grub_load_modules): Call grub_arch_modules_addr instead of using
22360 grub_end_addr. Look for a grub_module_info struct in memory. Use
22361 the grub_module_info fields instead of calling grub_get_end_addr
22362 as loop conditions. Move grub_add_unused_region code here.
22363 (grub_add_unused_region): Remove function.
22364 * kern/i386/pc/init.c: Include grub/cache.h.
22365 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22366 one call to add_mem_region.
22367 (grub_arch_modules_addr): New function.
22368 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22369 (grub_total_module_size): Likewise.
22370 Include grub/machine/kernel.h.
22371 (grub_arch_modules_addr): New function.
22372 * util/grub-emu.c (grub_end_addr): Remove variable.
22373 (grub_total_module_size): Likewise.
22374 (grub_arch_modules_addr): New function.
22375 * util/misc.c: Include unistd.h.
22376 (grub_util_get_fp_size): New function.
22377 (grub_util_read_at): Likewise.
22378 (grub_util_write_image_at): Likewise.
22379 (grub_util_read_image): Call grub_util_read_at.
22380 (grub_util_write_image): Call grub_util_write_image_at.
22381 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
22382 additional memory in kernel_img for a struct grub_module_info.
22383 Fill in that grub_module_info.
22384 * util/powerpc/ieee1275/grub-mkimage.c: New file.
22385
458786f8 223862005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22387
22388 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
22389 New function.
22390 * include/grub/powerpc/ieee1275/ieee1275.h
22391 (grub_ieee1275_milliseconds): New prototype.
22392 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
22393 Change to 1000.
22394 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
22395 grub_ieee1275_milliseconds.
22396
ac507d1b 223972005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22398
22399 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
22400 variable.
22401 (find_options): New function.
22402 (cmain): Call find_options.
22403 * include/grub/powerpc/ieee1275/ieee1275.h
22404 (grub_ieee1275_realmode): New extern variable.
22405 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
22406 grub_map if grub_ieee1275_realmode is false.
22407
6b8fd1c4 224082004-12-29 Marco Gerards <metgerards@student.han.nl>
22409
22410 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
22411 lines are inserted and make it work like readline. Reported by
22412 Vincent Pelletier <subdino2004@yahoo.fr>.
22413
8514a1e0 224142004-12-28 Marco Gerards <metgerards@student.han.nl>
22415
22416 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
22417
22418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
22419 `kern/powerpc/cache.S'.
22420
924b6140 224212004-12-27 Marco Gerards <metgerards@student.han.nl>
22422
22423 * genmk.rb: Handle the `Program' class in the main loop. Written
22424 by Johan Rydberg <jrydberg@gnu.org>.
22425 (Program): New class.
22426 (programs): New variable.
22427 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
22428 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
22429 instead of "grub/kernel.h". Include <grub/machine/init.h>.
22430 (help_arch): Function removed.
22431 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
22432 `powerpc/libgcc.h' and `loader.h'.
22433 (pkgdata_PROGRAMS): New variable.
22434 (sbin_UTILITIES): Variable removed.
22435 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
22436 (grubof_SOURCES): Variable re-defined so it only includes the
22437 core functionality.
22438 (grubof_CFLAGS): Remove `-DGRUBOF'.
22439 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
22440 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
22441 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
22442 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
22443 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
22444 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
22445 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
22446 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
22447 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
22448 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
22449 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22450 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
22451 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
22452 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
22453 (pc_mod_CFLAGS): New variables.
22454 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
22455 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
22456 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
22457 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
22458 Moved from here...
22459 * include/grub/i386/pc/init.h (grub_os_area_addr)
22460 (rub_os_area_size): ... to here.
22461 * include/grub/powerpc/ieee1275/ieee1275.h
22462 (grub_ieee1275_entry_fn): Export symbol.
22463 * include/grub/powerpc/ieee1275/init.h: New file.
22464 * include/grub/powerpc/libgcc.h: Likewise.
22465 * include/grub/cache.h: Likewise.
22466 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
22467 <hollis@penguinppc.org>.
22468 * kern/dl.c: Include <grub/cache.h>.
22469 (grub_dl_flush_cache): New function.
22470 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
22471 for this module.
22472 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
22473 (grub_console_init): Removed prototypes.
22474 (grub_machine_init): Don't initialize the modules anymore.
22475 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
22476 static.
22477 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
22478 Macro undef removed.
22479 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
22480 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
22481 relocation `R_PPC_REL32'. Return an error when the relocation is
22482 unknown.
22483 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
22484 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
22485 * util/misc.c (grub_arch_sync_caches): Likewise.
22486
e4b47e0c 224872004-12-19 Marco Gerards <metgerards@student.han.nl>
22488
22489 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
22490 `symlist.c', add `grubof_symlist.c'.
22491 (symlist.c): Variable removed.
22492 (grubof_HEADERS): Variable added.
22493 (grubof_symlist.c): New target.
22494 (kernel_syms.lst): Use `grubof_HEADERS' instead of
22495 `kernel_img_HEADERS'.
22496 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
22497 * kern/powerpc/dl.c: New file.
22498 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
22499 Function removed.
22500 (grub_arch_dl_relocate_symbols): Likewise.
22501 (grub_register_exported_symbols): Likewise.
22502
4ceb3636 225032004-12-13 Marco Gerards <metgerards@student.han.nl>
22504
22505 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
22506 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
22507 to fail instead. Reported by Vincent Pelletier
22508 <subdino2004@yahoo.fr>.
22509
22510 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
22511 it is not allocated. Reported by Vincent Pelletier
22512 <subdino2004@yahoo.fr>.
22513
22514 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
22515 output so the output looks better.
f19dbdb7 22516
3f1578fe 225172004-12-04 Marco Gerards <metgerards@student.han.nl>
22518
22519 Modulize the partition map support and add support for the amiga
22520 partition map.
f19dbdb7 22521
3f1578fe 22522 * commands/ls.c: Include <grub/partition.h> instead of
22523 <grub/machine/partition.h>.
22524 * kern/disk.c: Likewise.
22525 * kern/rescue.c: Likewise.
22526 * loader/i386/pc/chainloader.c: Likewise.
22527 * normal/cmdline.c: Likewise.
22528 * kern/powerpc/ieee1275/init.c: Likewise.
22529 (grub_machine_init): Call `grub_pc_partition_map_init',
22530 `grub_amiga_partition_map_init' and
22531 `grub_apple_partition_map_init'.
22532 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
22533 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
22534 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
22535 `partition.h' and `pc_partition.h'.
22536 (grub_setup_SOURCES): Remove
22537 `disk/i386/pc/partition.c'. Add `kern/partition.c',
22538 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22539 (grub_emu_SOURCES): Likewise.
22540 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
22541 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
22542 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
22543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22544 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
22545 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22546 (grubof_SOURCES): Likewise.
22547 * disk/i386/pc/partition.c: File removed.
22548 * disk/powerpc/ieee1275/partition.c: Likewise.
22549 * include/grub/powerpc/ieee1275/partition.h: Likewise.
22550 * include/grub/i386/pc/partition.h: Likewise.
22551 * kern/partition.c: New file.
22552 * partmap/amiga.c: Likewise.
22553 * partmap/apple.c: Likewise.
22554 * partmap/pc.c: Likewise.
22555 * include/grub/partition.h: Likewise..
22556 * include/grub/pc_partition.h: Likewise.
22557 * util/grub-emu.c: Include <grub/partition.h> instead of
22558 <grub/machine/partition.h>.
22559 (main): Call `grub_pc_partition_map_init',
22560 `grub_amiga_partition_map_init' and
22561 `grub_apple_partition_map_init' and deinitialize afterwards.
22562 * util/i386/pc/biosdisk.c: Include `#include
22563 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22564 `<grub/machine/partition.h>'.
22565 * util/i386/pc/grub-setup.c: Likewise.
22566 * util/i386/pc/biosdisk.c: Likewise.
22567 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
22568 partition information in case of a PC partition.
22569 * util/i386/pc/grub-setup.c: Include `#include
22570 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22571 `<grub/machine/partition.h>'.
22572 (setup): Only access the PC specific partition information in case
22573 of a PC partition.
22574
0ef4ced9 225752004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22576
0ef4ced9 22577 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
22578 (grub_longjmp): Likewise.
22579 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
22580 20.
22581 * normal/powerpc/setjmp.S: New file.
22582 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22583 `normal/powerpc/setjmp.S'.
22584 (grubof_CFLAGS): Add `-DGRUBOF'.
22585 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
22586 [GRUB_UTIL && !GRUBOF].
f19dbdb7 22587
19950e29 225882004-11-16 Marco Gerards <metgerards@student.han.nl>
22589
22590 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
22591 property named `name'. Correctly handle the error returned by
22592 `grub_ieee1275_finddevice' if a device can not be opened.
22593
a2fea427 225942004-11-02 Hollis Blanchard <hollis@penguinppc.org>
22595
22596 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
22597 `actual' for negativity.
22598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22599 kern/fshelp.c.
22600
41ea0ea3 226012004-11-01 Marco Gerards <metgerards@student.han.nl>
22602
22603 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
22604 (PAGE_OFFSET): New macro.
22605 (CRTC_ADDR_PORT): Likewise.
22606 (CRTC_DATA_PORT): Likewise.
22607 (START_ADDR_HIGH_REGISTER): Likewise.
22608 (START_ADDR_LOW_REGISTER): Likewise.
22609 (GRAPHICS_ADDR_PORT): Likewise.
22610 (GRAPHICS_DATA_PORT): Likewise.
22611 (READ_MAP_REGISTER): Likewise.
22612 (INPUT_STATUS1_REGISTER): Likewise.
22613 (INPUT_STATUS1_VERTR_BIT): Likewise.
22614 (page): New variable.
22615 (wait_vretrace): New function.
22616 (set_read_map): Likewise.
22617 (set_start_address): Likewise.
22618 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
22619 the right page.
22620 (check_vga_mem): Take the page into account.
22621 (write_char): Likewise.
22622 (write_cursor): Likewise.
22623 (scroll_up): Likewise. Copy the page to the page that is not
22624 shown and switch between both pages.
22625 (grub_vga_putchar): Fix off by one error.
22626 (grub_vga_cls): Wait for the vertical retrace. Take the page into
22627 account.
22628
ad0bd20b 226292004-11-01 Marco Gerards <metgerards@student.han.nl>
22630
22631 Add support for iso9660 (including rockridge).
f19dbdb7 22632
ad0bd20b 22633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22634 (iso9660_mod_SOURCES): New variable.
22635 (iso9660_mod_CFLAGS): Likewise.
22636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22637 * include/grub/fs.h (grub_iso9660_init): New prototype.
22638 * util/grub-emu.c (main): Call `grub_iso9660_init'.
22639 * fs/iso9660.c: New file.
22640
22641 * include/grub/misc.h (grub_strncat): New prototype.
22642 * kern/misc.c (grub_strncat): New function.
f19dbdb7 22643
ad0bd20b 22644 * fs/hfs.c (grub_hfs_mount): Translate the error
22645 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
22646 * fs/jfs.c (grub_jfs_mount): Likewise.
22647 * fs/ufs.c (grub_ufs_mount): Likewise.
22648
a5477a59 226492004-10-28 Hollis Blanchard <hollis@penguinppc.org>
22650
22651 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
22652 which initialized BAT registers.
22653 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
22654 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22655 Move from here...
22656 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
22657 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22658 ... to here.
22659 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
22660 (grub_mapclaim): Likewise.
22661 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
22662 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
22663 hand.
22664
9304c1f8 226652004-10-19 Hollis Blanchard <hollis@penguinppc.org>
22666
22667 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
22668 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
22669 -ffreestanding and -msoft-float.
22670
86f4ae25 226712004-10-15 Hollis Blanchard <hollis@penguinppc.org>
22672
22673 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
22674 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
22675 set in grub_ieee1275_flags.
22676
38912228 226772004-10-14 Hollis Blanchard <hollis@penguinppc.org>
22678
22679 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
22680 prototype.
22681 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
22682 grub_console_init first.
22683 Change the memory range used for grub_ieee1275_claim and
22684 grub_mm_init_region.
22685 Print an error message if the claim fails.
22686 Include <grub/misc.h>.
22687
d1923dc8 226882004-10-13 Hollis Blanchard <hollis@penguinppc.org>
22689
22690 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
22691 Call grub_children_iterate for device nodes of type `scsi',
22692 `ide', or `ata'.
22693 (grub_ofdisk_open): Remove manual device alias resolution.
22694 Fix memory leak when device cannot be opened.
f19dbdb7 22695 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 22696 (grub_children_iterate): New prototype.
22697 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
22698 New function.
22699 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22700 Return -1 if args.size was -1.
22701
4512e4f3 227022004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22703
22704 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
22705 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
22706 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
22707 Open Firmware's memory for it; claim memory from _start to _end.
22708 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
22709 (_end): New extern.
22710 (_start): Zero BSS from __bss_start to _end.
22711 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22712 New extern.
22713 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
22714
4d61feb0 227152004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22716
ad0bd20b 22717 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
22718 -1 if args.base was -1.
4d61feb0 22719
026fa2f9 227202004-10-08 Hollis Blanchard <hollis@penguinppc.org>
22721
22722 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
22723 escape sequence instead of a literal ^L. Also call
22724 grub_ofconsole_gotoxy.
22725
9f2220ef 227262004-10-03 Hollis Blanchard <hollis@penguinppc.org>
22727
22728 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
22729 void * arguments to grub_addr_t. All callers updated. Also make
22730 the `result' argument optional.
22731 (grub_ieee1275_release): change void * arguments to grub_addr_t.
22732 All callers updated.
22733
8a572cd7 227342004-09-22 Hollis Blanchard <hollis@penguinppc.org>
22735
22736 * commands/ls.c (grub_ls_list_files): Use the string following the
22737 initial ')', if present, as the filesystem path.
22738 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
22739
22740 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
22741
18aa81f2 227422004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
22743
22744 Make the source code of the menu interface more readable.
f19dbdb7 22745
18aa81f2 22746 * normal/menu.c: Include grub/mm.h.
22747 (TERM_WIDTH): New macro.
22748 (TERM_HEIGHT): Likewise.
22749 (TERM_INFO_HEIGHT): Likewise.
22750 (TERM_MARGIN): Likewise.
22751 (TERM_SCROLL_WIDTH): Likewise.
22752 (TERM_TOP_BORDER_Y): Likewise.
22753 (TERM_LEFT_BORDER_X): Likewise.
22754 (TERM_BORDER_WIDTH): Likewise.
22755 (TERM_MESSAGE_HEIGHT): Likewise.
22756 (TERM_BORDER_HEIGHT): Likewise.
22757 (TERM_NUM_ENTRIES): Likewise.
22758 (TERM_FIRST_ENTRY_Y): Likewise.
22759 (TERM_ENTRY_WIDTH): Likewise.
22760 (TERM_CURSOR_X): Likewise.
22761 (draw_border): Use macros instead of magic numbers.
22762 (print_entry): Likewise.
22763 (print_entries): Likewise.
22764 (run_menu): Likewise. Also, handle the key 'e'.
22765 (run_menu_entry): Ignore empty command lines.
22766 (print_message): Added a new argument EDIT. If EDIT is true,
22767 print a different message.
22768 (init_page): Likewise.
22769 (edit_menu_entry): New function. Not implemented yet.
22770
b47efe30 227712004-09-17 Marco Gerards <metgerards@student.han.nl>
22772
22773 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22774 can be loaded from normal mode.
f19dbdb7 22775
b47efe30 22776 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22777 `multiboot.mod'.
22778 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22779 (multiboot_mod_CFLAGS): New variables.
22780 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22781 * loader/i386/pc/multiboot_normal.c: Likewise.
22782
b47efe30 22783 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22784 attribute `unused'.
f19dbdb7 22785
b47efe30 22786 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22787 `fdiro' to read the mode information from instead of `diro'.
22788
22789 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22790 looking up a symlink.
22791
22792 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22793 macro.
22794 * normal/command.c (grub_command_execute): Don't parse the
22795 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22796 flags of the command.
22797
22798 * normal/menu.c (grub_menu_run): Fix typo.
22799
da75ac71 228002004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22801
22802 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22803
22804 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22805 `y + 1' instead of `y - 1'.
22806
22807 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22808
062b24c2 228092004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22810
22811 From Hollis Blanchard <hollis@penguinppc.org>:
22812 * kern/misc.c (memmove): New alias for grub_memmove.
22813 (memcmp): New alias for grub_memcmp.
22814 (memset): New alias for grub_memset.
f19dbdb7 22815 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22816 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22817 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22818 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22819
8ddad845 228202004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22821
22822 Added normal mode command `chainloader' as module chain.mod, which
22823 depends on normal.mod and _chain.mod.
f19dbdb7 22824
8ddad845 22825 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22826 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22827 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22828 Deleted prototype.
22829 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22830 but arguments parsing moved to ...
22831 (grub_chainloader_cmd): ... here. New function.
22832 * include/grub/i386/pc/chainloader.h: New file.
22833 * loader/i386/pc/chainloader_normal.c: Likewise.
22834
2c1f4ce3 228352004-09-11 Marco Gerards <metgerards@student.han.nl>
22836
22837 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
22838 (grub_mkimage_LDFLAGS): Likewise.
22839 (grub_emu_SOURCES): Likewise.
22840 (kernel_img_HEADERS): Added fshelp.h.
22841 * fs/ext2.c: Include <grub/fshelp.h>.
22842 (FILETYPE_REG): New macro.
22843 (FILETYPE_INO_REG): Likewise.
22844 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
22845 Changed all users.
22846 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
22847 all users.
22848 (grub_fshelp_node): New struct.
22849 (grub_ext2_data): Added member `diropen'. Changed member `inode'
22850 to a pointer.
22851 (grub_ext2_get_file_block): Removed function.
22852 (grub_ext2_read_block): New function.
22853 (grub_ext2_read_file): Replaced parameter `data' by `node'.
22854 This function was written.
22855 (grub_ext2_mount): Read the root inode. Create a diropen struct.
22856 (grub_ext2_find_file): Removed function.
22857 (grub_ext2_read_symlink): New function.
22858 (grub_ext2_iterate_dir): Likewise.
22859 (grub_ext2_open): Rewritten.
22860 (grub_ext2_dir): Rewritten.
22861 * include/grub/fshelp.h: New file.
22862 * fs/fshelp.c: Likewise.
22863
3c52136a 228642004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
22865
22866 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
22867 (print_message): Add a missing newline.
22868 (run_menu): Added timeout support.
22869 (run_menu_entry): New local function.
22870 (grub_menu_run): Added support for booting.
22871
22872 * kern/loader.c (grub_loader_is_loaded): New function.
22873
22874 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
22875 (grub_get_rtc): Exported.
22876
22877 * include/grub/i386/pc/time.h: Include grub/symbol.h.
22878 (grub_get_rtc): Exported.
22879
22880 * include/grub/normal.h (struct grub_command_list): Remove
22881 constant from the member `command'.
22882
22883 * include/grub/loader.h (grub_loader_is_loaded): Declared.
22884
22885 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
22886
22887 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
22888
aa033560 228892004-08-28 Marco Gerards <metgerards@student.han.nl>
22890
22891 Add support for the JFS filesystem.
22892
22893 * fs/jfs.c: New file.
22894 * include/grub/fs.h (grub_jfs_init): New prototype.
22895 (grub_jfs_fini): New prototype.
22896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
22897 (grub_emu_SOURCES): Likewise.
22898 (pkgdata_MODULES): Add jfs.mod.
22899 (jfs_mod_SOURCES): New variable.
22900 (jfs_mod_CFLAGS): Likewise.
22901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
22902 (grubof_SOURCES): Likewise.
22903 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
22904
22905 * fs/fat.c (grub_fat_find_dir): Convert the filename little
22906 endian to the host endian.
22907 (grub_fat_utf16_to_utf8): Move function from there...
22908 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 22909 the endianness of the source string anymore.
aa033560 22910 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
22911
94bc45af 229122004-08-24 Marco Gerards <metgerards@student.han.nl>
22913
22914 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
22915 (grub_boot_fini) [GRUB_UTIL]: Likewise.
22916 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
22917 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 22918
94bc45af 22919 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
22920 (grub_hfs_iterate_dir): Make the function static. Add prototypes
22921 for `node_found' and `it_dir'.
22922 (grub_hfs_dir): Add prototype for `dir_hook'.
22923
22924 * fs/minix.c (grub_minix_get_file_block): Add prototype for
22925 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
22926 and `indir32' to silence a gcc warning.
22927
22928 * include/grub/fs.h (grub_hfs_init): New prototype.
22929 (grub_hfs_fini): Likewise.
f19dbdb7 22930
22931
97543f08 229322004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22933
22934 Each disk device has its own id now. This is useful to make use
22935 of multiple disk devices.
f19dbdb7 22936
97543f08 22937 * include/grub/disk.h (grub_disk_dev_id): New enum.
22938 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
22939 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
22940
22941 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
22942 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22943
22944 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
22945 GRUB_DISK_DEVICE_OFDISK_ID as an id.
22946
22947 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
22948 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22949
22950 * include/grub/disk.h (struct grub_disk_dev): Added a new member
22951 "id" which is used by the cache manager.
22952
22953 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
22954 of just "GRUB".
22955
64372eb4 229562004-08-18 Marco Gerards <metgerards@student.han.nl>
22957
22958 * fs/hfs.c: New file.
22959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
22960 (grub_emu_SOURCES): Likewise.
22961 (pkgdata_MODULES): Add hfs.mod.
22962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
22963 (grubof_SOURCES): Likewise.
22964 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
22965
22966 * include/grub/misc.h (grub_strncasecmp): Add prototype.
22967 * kern/misc.c (grub_strncasecmp): Add function.
22968
cc61b58f 229692004-08-14 Marco Gerards <metgerards@student.han.nl>
22970
22971 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
22972 with parentheses.
22973
22974 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
22975 (grub_ext2_dir): In case the directory entry type is unknown, read
22976 it from the inode.
22977
0ef123f6 229782004-08-02 Peter Bruin <pjbruin@dds.nl>
22979
22980 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
22981 grub_load_linux instead of grub_rescue_cmd_linux as second
22982 argument of grub_rescue_register_command.
22983
22984 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
22985
a447c5df 229862004-07-27 Marco Gerards <metgerards@student.han.nl>
22987
22988 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
22989 function.
22990 * commands/boot.c: Remove the check for `GRUB_UTIL'.
22991 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22992 `loader/powerpc/ieee1275/linux.c',
22993 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
22994 * include/grub/powerpc/ieee1275/ieee1275.h
22995 (grub_ieee1275_release): New prototype.
22996 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
22997 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
22998 normal, boot, linux and linux_normal.
22999 * loader/powerpc/ieee1275/linux.c: New file.
23000 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23001
5a9e3546 230022004-07-12 Marco Gerards <metgerards@student.han.nl>
23003
23004 * normal/arg.c (grub_arg_parse): Correct error handling after
23005 reallocating the argumentlist (check if `argl' is not null instead
23006 of checking if `args' is not null).
23007 * kern/mm.c (grub_realloc): Return the same pointer when using the
23008 same region, instead of returning the header address.
23009
e15199cb 230102004-07-11 Marco Gerards <metgerards@student.han.nl>
23011
23012 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23013 one block instead of two when looking for the initial partition.
23014 (grub_partition_probe): Initialize the local variable `p' with 0.
23015 Use base 10 for the grub_strtoul call.
23016 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23017 need for one local variable.
23018 (grub_strtoul): Don't add the new value to `num', instead of that
23019 just assign it.
23020
020616c2 230212004-07-11 Marco Gerards <metgerards@student.han.nl>
23022
23023 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23024 (pxeboot_img_SOURCES): New variable.
23025 (pxeboot_img_ASFLAGS): Likewise.
23026 (pxeboot_img_LDFLAGS): Likewise.
23027 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23028 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23029 <lode_leroy@hotmail.com>.
23030
6c51eb64 230312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23032
23033 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23034 there was no input.
23035
cfb12aff 230362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23037
23038 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23039 the history buffer logic.
23040
6eabba74 230412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23042
23043 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23044 (FILETYPE_INO_SYMLINK): New macros.
23045 (grub_ext2_find_file): Check if the node is a directory using the
23046 inode stat information instead of using the filetype in the
23047 dirent. Exclude the first character of an absolute symlink.
23048 (grub_ext2_dir): Mask out the filetype part of the mode member of
23049 the inode.
23050
66e19ef8 230512004-05-24 Marco Gerards <metgerards@student.han.nl>
23052
23053 Add support for UFS version 1 and 2. Add support for the minix
23054 filesystem version 1 and 2, both the variants with 14 and 30 long
23055 filenames.
f19dbdb7 23056
66e19ef8 23057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23058 fs/minix.c.
23059 (grub_emu_SOURCES): Likewise.
23060 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23061 (ufs_mod_SOURCES): New variable.
23062 (ufs_mod_CFLAGS): Likewise.
23063 (minix_mod_SOURCES): Likewise.
23064 (minix_mod_CFLAGS): Likewise.
23065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23066 fs/minix.c.
23067 (grubof_SOURCES): Likewise.
23068 * fs/ufs.c: New file.
23069 * fs/minix.c: New file.
23070 * include/grub/fs.h (grub_ufs_init): New prototype.
23071 (grub_ufs_fini): Likewise.
23072 (grub_minix_init): Likewise.
23073 (grub_minix_fini): Likewise.
23074 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23075 minix fs.
23076
cc2e748a 230772004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23078
23079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23080 commands/ls.c, commands/terminal.c, commands/boot.c,
23081 commands/cmp.c and commands/cat.c.
23082 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23083
23084 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23085 "env.h"
23086
4b13b216 230872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23088
23089 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23090 and grub_, respectively. Because the conversion is trivial and
23091 mechanical, I omit the details here. Please refer to the CVS
23092 if you need more information.
23093
6a142551 230942004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23095
23096 * include/pupa: Renamed to ...
23097 * include/grub: ... this.
23098 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23099 * util/i386/pc/grub-mkimage.c: ... this.
23100 * util/i386/pc/pupa-setup.c: Renamed to ...
23101 * util/i386/pc/grub-setup.c: ... this.
23102 * util/pupa-emu.c: Renamed to ...
23103 * util/grub-emu.c: ... this.
23104
e56cdf21 231052004-03-29 Marco Gerards <metgerards@student.han.nl>
23106
23107 Add support for the newworld apple macintosh (PPC). This has been
23108 tested on the powerbook 2000 only. It only adds support for
23109 generic ieee1275 functions, console and disk support. This should
23110 be easy to port to other architectures with support for Open
23111 Firmware.
f19dbdb7 23112
e56cdf21 23113 * configure.ac: Accept the powerpc as host_cpu. In the case of
23114 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23115 specific tests are only executed while building for the i386.
23116 Inverse test for crosscompile.
23117 * genmk.rb (Utility): Allow assembler files.
23118 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23119 * conf/powerpc-ieee1275.rmk: New file.
23120 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23121 * disk/powerpc/ieee1275/partition.c: Likewise.
23122 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23123 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23124 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23125 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23126 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23127 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23128 * include/pupa/powerpc/ieee1275/loader.h
23129 * include/pupa/powerpc/setjmp.h: Likewise.
23130 * include/pupa/powerpc/types.h: Likewise.
23131 * kern/powerpc/ieee1275/init.c: Likewise.
23132 * kern/powerpc/ieee1275/openfw.c: Likewise.
23133 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23134
23135 These files were written by Johan Rydberg
23136 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23137
e56cdf21 23138 * boot/powerpc/ieee1275/cmain.c: New file.
23139 * boot/powerpc/ieee1275/crt0.S: Likewise.
23140 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23141 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23142
8c8cc205 231432004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23144
23145 * Makefile.in: Update copyright.
23146 * genmodsrc.sh: Likewise.
23147 * gensymlist.sh: Likewise.
23148 * term/i386/pc/vga.c: Indent correctly.
23149
23150 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23151 bugreporting address.
23152 * util/i386/pc/pupa-setup.c (usage): Likewise,
23153 (main): Call pupa_ext2_init and pupa_ext2_fini.
23154
f19dbdb7 23155 * fs/fat.c (log2): Renamed to ...
8c8cc205 23156 (fat_log2): ... this.
23157 All callers changed.
23158 * kern/misc.c (memcpy): Alias to pupa_memmove.
23159 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23160 lvalue cast.
23161 * util/console.c (pupa_ncurses_fini): Return 0.
23162
23163 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23164 Move fail label here.
23165 [__GNU__]: Don't warn when using stat.
23166 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23167 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23168 long int. Use strtol instead of strtoul.
f19dbdb7 23169
db1771cf 231702004-03-14 Marco Gerards <metgerards@student.han.nl>
23171
23172 * commands/boot.c: New file.
23173 * commands/cat.c: Likewise.
23174 * commands/cmp.c: Likewise.
23175 * commands/ls.c: Likewise.
23176 * commands/terminal.c: Likewise.
23177 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23178 (pupa_register_command): Changed interface to match the new
23179 argument parser.
23180 (pupa_command_execute): Changed (almost rewritten) so it uses
23181 pupa_split_command. Added support for setting variables using the
23182 syntax `foo=bar'.
23183 (rescue_command): Changed to work with the new argument parser.
23184 (terminal_command): Moved from here to commands/terminal.c.
23185 (set_command): New function.
23186 (unset_command): New function.
23187 (insmod_command): New function.
23188 (rmmod_command): New function.
23189 (lsmod_command): New function.
23190 (pupa_command_init): Don't initialize the command terminal
23191 anymore. Initialize the commands set, unset, insmod, rmmod and
23192 lsmod.
23193 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23194 (kernel_img_HEADERS): Add arg.h and env.h.
23195 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23196 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23197 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23198 normal/arg.c.
23199 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23200 terminal.mod.
23201 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23202 (boot_mod_SOURCES): New variable.
23203 (terminal_mod_SOURCES): Likewise.
23204 (ls_mod_SOURCES): Likewise.
23205 (cmp_mod_SOURCES): Likewise.
23206 (cat_mod_SOURCES): Likewise.
23207
23208 * normal/arg.c: New file.
23209 * kern/env.c: Likewise.
23210 * include/pupa/arg.h: Likewise.
23211 * include/pupa/env.h: Likewise.
23212 * font/manager.c (font_command): Changed to match argument parsing
23213 interface changes.
23214 (PUPA_MOD_INIT): Likewise.
23215 * hello/hello.c (pupa_cmd_hello): Likewise.
23216 (PUPA_MOD_INIT): Likewise.
23217 * include/pupa/disk.h: Include <pupa/device.h>.
23218 (pupa_print_partinfo): New prototype.
23219 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23220 (pupa_dl_get_prefix): Likewise.
23221 * include/pupa/misc.h: Include <pupa/err.h>.
23222 (pupa_isgraph): New prototype.
23223 (pupa_isdigit): Likewise.
23224 (pupa_split_cmdline): Likewise.
23225 * include/pupa/normal.h: Include <pupa/arg.h>.
23226 (pupa_command): Changed the prototype of the member `func' to
23227 match the argument parsing interface. Added member `options'.
23228 (pupa_register_command): Updated to match function.
23229 (pupa_arg_parse): New prototype.
23230 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23231 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23232 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23233 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23234 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23235 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23236 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23237 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23238 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23239 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23240 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23241 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23242 * kern/disk.c: Include <pupa/file.h>.
23243 (pupa_print_partinfo): New function.
23244 * kern/dl.c: Include <pupa/env.h>.
23245 (pupa_dl_dir): Variable removed.
23246 (pupa_dl_load): Use the environment variable `prefix' instead of
23247 the variable pupa_dl_dir.
23248 (pupa_dl_set_prefix): Function removed.
23249 (pupa_dl_get_prefix): Likewise.
23250 * kern/i386/pc/init.c: Include <pupa/env.h>.
23251 (pupa_machine_init): Use the environment variable `prefix' instead of
23252 using pupa_dl_set_prefix to set the prefix.
23253 * kern/main.c: Include <pupa/env.h>.
23254 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23255 using pupa_dl_get_prefix to get the prefix.
23256 * kern/misc.c: Include <pupa/env.h>.
23257 (pupa_isdigit): New function.
23258 (pupa_isgraph): Likewise.
23259 (pupa_ftoa): Likewise.
23260 (pupa_vsprintf): Added support for printing values of the type
23261 `double'. Make it possible to format variable output when using
23262 formatting like `%1.2%f'.
23263 (pupa_split_cmdline): New function.
23264 * kern/rescue.c: Include <pupa/env.h>.
23265 (next_word): Removed function.
23266 (pupa_rescue_cmd_prefix): Likewise.
23267 (pupa_rescue_cmd_set): New function.
23268 (pupa_rescue_cmd_unset): New function.
23269 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23270 split the command line instead of splitting it here. Added
23271 support for setting variables using the syntax `foo=bar'. Don't
23272 initialize the prefix command anymore. Initialized the set and
23273 unset commands.
23274 * normal/cmdline.c: Include <pupa/env.h>.
23275 (pupa_tab_complete): Added prototypes for print_simple_completion,
23276 print_partition_completion, add_completion, iterate_commands,
23277 iterate_dev, iterate_part and iterate_dir. Moved code to print
23278 partition information from here to kern/disk.c.
fe6b695a 23279 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23280 * normal/main.c: Include <pupa/env.h>.
23281 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23282 instead of using pupa_dl_get_prefix to get the prefix.
23283 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23284 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23285 warning.
23286 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23287 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23288 ((unused))' to silence a gcc warning.
23289 (pupa_vga_setcolor): Likewise.
23290 (debug_command): Changed to match argument parsing
23291 interface changes.
23292 * util/pupa-emu.c: Include <pupa/env.h>.
23293 (options): Added 0's for unused fields to silence a gcc warning.
23294 (argp): Likewise.
23295 (main): Use the environment variable `prefix' instead of using
23296 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23297 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23298 and terminal.
23299
23300 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23301 * util/misc.c: Include <malloc.h>.
23302 (pupa_malloc): Rewritten so errors are correctly reported.
23303 (pupa_realloc): Likewise.
23304 (pupa_memalign): Likewise.
23305 (pupa_mm_init_region): Declare unused variables with
23306 `__attribute__ ((unused))' to silence a gcc warning.
23307 * normal/i386/setjmp.S: Remove tab at the end of the file to
23308 silence a gcc warning.
23309 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23310 variables with `__attribute__ ((unused))' to silence a gcc
23311 warning.
23312 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23313 local variable i unsigned to silence a gcc warning.
23314
23315 * kern/term.c: Include <pupa/misc.h>.
23316 (pupa_more_lines): New variable.
23317 (pupa_more): Likewise.
23318 (pupa_putcode): When the pager is active pause at the end of every
23319 screen.
23320 (pupa_set_more): New function.
23321 * include/pupa/term.h (pupa_set_more): New prototype.
23322
23323
3b1139cb 233242004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23325
23326 Now this project is GRUB 2 rather than PUPA. The location of
23327 the CVS repository was moved to GRUB's.
f19dbdb7 23328
3b1139cb 23329 * configure.ac: Use bug-grub as the reporting address.
23330 Use GRUB instead of PUPA.
23331 Change the version number to 1.90.
23332
8367695c 233332004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23334
23335 * genkernsyms.sh: Updated copyright information.
23336 * genmk.rb: Likewise.
23337 * genmodsrc.sh: Likewise.
23338 * gensymlist.sh: Likewise.
23339 * boot/i386/pc/boot.S: Likewise.
23340 * boot/i386/pc/diskboot.S: Likewise.
23341 * disk/i386/pc/biosdisk.c: Likewise.
23342 * disk/i386/pc/partition.c: Likewise.
23343 * font/manager.c: Likewise.
23344 * fs/ext2.c: Likewise.
23345 * fs/fat.c: Likewise.
23346 * include/pupa/boot.h: Likewise.
23347 * include/pupa/device.h: Likewise.
23348 * include/pupa/disk.h: Likewise.
23349 * include/pupa/dl.h: Likewise.
23350 * include/pupa/elf.h: Likewise.
23351 * include/pupa/err.h: Likewise.
23352 * include/pupa/file.h: Likewise.
23353 * include/pupa/font.h: Likewise.
23354 * include/pupa/fs.h: Likewise.
23355 * include/pupa/kernel.h: Likewise.
23356 * include/pupa/loader.h: Likewise.
23357 * include/pupa/misc.h: Likewise.
23358 * include/pupa/mm.h: Likewise.
23359 * include/pupa/net.h: Likewise.
23360 * include/pupa/normal.h: Likewise.
23361 * include/pupa/rescue.h: Likewise.
23362 * include/pupa/setjmp.h: Likewise.
23363 * include/pupa/symbol.h: Likewise.
23364 * include/pupa/term.h: Likewise.
23365 * include/pupa/types.h: Likewise.
23366 * include/pupa/i386/setjmp.h: Likewise.
23367 * include/pupa/i386/types.h: Likewise.
23368 * include/pupa/i386/pc/biosdisk.h: Likewise.
23369 * include/pupa/i386/pc/boot.h: Likewise.
23370 * include/pupa/i386/pc/console.h: Likewise.
23371 * include/pupa/i386/pc/init.h: Likewise.
23372 * include/pupa/i386/pc/kernel.h: Likewise.
23373 * include/pupa/i386/pc/linux.h: Likewise.
23374 * include/pupa/i386/pc/loader.h: Likewise.
23375 * include/pupa/i386/pc/memory.h: Likewise.
23376 * include/pupa/i386/pc/multiboot.h: Likewise.
23377 * include/pupa/i386/pc/partition.h: Likewise.
23378 * include/pupa/i386/pc/time.h: Likewise.
23379 * include/pupa/i386/pc/vga.h: Likewise.
23380 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
23381 * include/pupa/util/getroot.h: Likewise.
23382 * include/pupa/util/misc.h: Likewise.
23383 * include/pupa/util/resolve.h: Likewise.
23384 * kern/device.c: Likewise.
23385 * kern/disk.c: Likewise.
23386 * kern/dl.c: Likewise.
23387 * kern/err.c: Likewise.
23388 * kern/file.c: Likewise.
23389 * kern/fs.c: Likewise.
23390 * kern/loader.c: Likewise.
23391 * kern/main.c: Likewise.
23392 * kern/misc.c: Likewise.
23393 * kern/mm.c: Likewise.
23394 * kern/rescue.c: Likewise.
23395 * kern/term.c: Likewise.
23396 * kern/i386/dl.c: Likewise.
23397 * kern/i386/pc/init.c: Likewise.
23398 * kern/i386/pc/lzo1x.S: Likewise.
23399 * kern/i386/pc/startup.S: Likewise.
23400 * loader/i386/pc/chainloader.c: Likewise.
23401 * loader/i386/pc/linux.c: Likewise.
23402 * loader/i386/pc/multiboot.c: Likewise.
23403 * normal/cmdline.c: Likewise.
23404 * normal/command.c: Likewise.
23405 * normal/main.c: Likewise.
23406 * normal/menu.c: Likewise.
23407 * normal/i386/setjmp.S: Likewise.
23408 * term/i386/pc/console.c: Likewise.
23409 * term/i386/pc/vga.c: Likewise.
23410 * util/console.c: Likewise.
23411 * util/genmoddep.c: Likewise.
23412 * util/misc.c: Likewise.
23413 * util/pupa-emu.c: Likewise.
23414 * util/resolve.c: Likewise.
23415 * util/unifont2pff.rb: Likewise.
23416 * util/i386/pc/biosdisk.c: Likewise.
23417 * util/i386/pc/getroot.c: Likewise.
23418 * util/i386/pc/pupa-mkimage.c: Likewise.
23419 * util/i386/pc/pupa-setup.c: Likewise.
23420
e6eced71 234212004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
23422
23423 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
23424 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
23425 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
23426 reading and reset it after reading.
23427 (pupa_ext2_close): Return PUPA_ERR_NONE.
23428
23429 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
23430 Correct value.
23431 (struct linux_kernel_header): Add kernel_version and
23432 initrd_addr_max.
23433 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
23434 pupa_file_read succeeds.
23435 (pupa_rescue_cmd_initrd): Implement.
23436
5aded270 234372003-12-03 Marco Gerards <metgerards@student.han.nl>
23438
23439 * fs/ext2.c (pupa_ext2_label): New function.
23440 (pupa_ext2_fs): Added label.
23441 * fs/fat.c (pupa_fat_label): New function.
23442 (pupa_fat_fs): Added label.
23443 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
23444
23445 * kern/misc.c (pupa_strndup): New function.
23446 * include/pupa/misc.h (pupa_strndup): New prototype.
23447
23448 * include/pupa/normal.h: Include <pupa/err.h>.
23449 (pupa_set_history): New prototype.
23450 (pupa_iterate_commands): New prototype.
23451 * normal/cmdline.c: Include <pupa/machine/partition.h>,
23452 <pupa/disk.h>, <pupa/file.h>.
23453 (hist_size): New variable.
23454 (hist_lines): Likewise.
23455 (hist_end): Likewise.
23456 (hist_used): Likewise.
23457 (pupa_set_history): New function.
23458 (pupa_history_get): Likewise.
23459 (pupa_history_add): Likewise.
23460 (pupa_history_replace): Likewise.
23461 (pupa_tab_complete): Likewise.
23462 (pupa_cmdline_run): Added tab completion and history buffer. Tab
23463 completion shows partitionnames while completing partitions, this
23464 feature was suggested by Jeff Bailey.
23465 * normal/command.c (pupa_iterate_commands): New function.
23466 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
23467 (pupa_normal_init): Initialize history buffer.
23468 (PUPA_MOD_INIT): Likewise.
23469 (pupa_normal_fini): Free the history buffer.
23470 (PUPA_MOD_FINI): Likewise.
23471
23472 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
23473 key.
23474
23475 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
23476 * configure.ac [i386]: Check for regparam bug.
23477 (NESTED_FUNC_ATTR) [! i386]: Defined.
23478
1f7315a3 234792003-11-17 Marco Gerards <metgerards@student.han.nl>
23480
23481 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
23482 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
23483 (pupa_emu_SOURCES): New variable.
23484 (pupa_emu_LDFLAGS): Likewise.
23485 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
23486 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
23487 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
23488 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23489 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
23490 (pupa_jmp_buf): New typedef.
23491 (pupa_setjmp) [PUPA_UTIL]: New macro.
23492 (pupa_longjmp) [PUPA_UTIL]: Likewise.
23493 * include/pupa/term.h (struct pupa_term): New member `refresh'.
23494 (pupa_refresh): New prototype.
23495 * include/pupa/util/getroot.h: New file.
23496 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
23497 it.
23498 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
23499 (pupa_rescue_cmd_cat): Likewise.
23500 (pupa_rescue_cmd_ls): Likewise.
23501 (pupa_rescue_cmd_testload): Likewise.
23502 (pupa_rescue_cmd_lsmod): Likewise.
23503 * normal/cmdline.c (pupa_cmdline_get): Likewise.
23504 * normal/menu.c (run_menu): Likewise.
23505 * kern/term.c (pupa_cls): Likewise.
23506 (pupa_refresh): New function.
23507 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
23508 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23509 * util/console.c: New file.
f19dbdb7 23510
1f7315a3 23511 * util/i386/pc/getroot.c: New file.
23512 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
23513 (pupa_putchar): New function.
23514 (pupa_refresh): Likewise.
23515 (xgetcwd): Function moved to ...
23516 (strip_extra_slashes): Likewise.
23517 (get_prefix): Likewise.
f19dbdb7 23518 * util/i386/pc/getroot.c: ... here.
1f7315a3 23519 (find_root_device): Function moved and renamed to...
23520 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
23521 Changed all callers.
23522 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
23523 and renamed to...
23524 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
23525 Changed all callers.
23526 * util/misc.c (pupa_memalign): New function.
23527 (pupa_mm_init_region): Likewise.
23528 (pupa_register_exported_symbols): Likewise.
23529 (pupa_putchar): Function removed.
23530 * util/pupa-emu.c: New file.
23531
9a5c1ade 235322003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
23533
23534 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
23535 (_multiboot_mod_SOURCES): New variable.
23536 (_multiboot_mod_CFLAGS): Likewise.
23537 * loader/i386/pc/multiboot.c: New file.
23538 * include/pupa/i386/pc/multiboot.h: Likewise.
23539 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
23540 (pupa_multiboot_real_boot): New function.
23541 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
23542 (pupa_multiboot_real_boot): New prototype.
23543 (pupa_rescue_cmd_multiboot): Likewise
23544 (pupa_rescue_cmd_module): Likewise.
23545
23546 * kern/loader.c (pupa_loader_set): Continue when
23547 pupa_loader_unload_func() fails.
23548 (pupa_loader_unset): New function.
23549 * include/pupa/loader.h (pupa_loader_unset): New prototype.
23550
23551 * kern/misc.c (pupa_stpcpy): New function.
23552 * include/pupa/misc.h (pupa_stpcpy): New prototype.
23553
8e72a9c0 235542003-11-12 Marco Gerards <metgerards@student.han.nl>
23555
23556 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
23557 for available extensions.
23558
23559 * include/pupa/i386/pc/time.h: New file.
23560 * kern/disk.c: Include <pupa/machine/time.h>.
23561 (PUPA_CACHE_TIMEOUT): New macro.
23562 (pupa_last_time): New variable.
23563 (pupa_disk_open): Flush the cache when there was a timeout.
23564 (pupa_disk_close): Reset the timer.
23565 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
23566 pupa_currticks.
23567 * util/misc.c: Include <sys/times.h>
23568 (pupa_get_rtc): New function.
23569
c4adbd32 235702003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23571
23572 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
23573 as blocks.
23574 (pupa_ext2_get_file_block): Use blocks member.
23575
23576 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
23577 first block. Return -1 instead of pupa_errno on error.
23578
bfd30f06 235792003-10-27 Marco Gerards <metgerards@student.han.nl>
23580
23581 * README: In the pupa-mkimage example use _chain instead of chain
23582 and ext2 instead of fat.
23583 * TODO: Replace ext2fs with jfs as an example. Add an item for
23584 adding journal playback for ext2fs.
23585 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
23586 (pkgdata_MODULES): Added ext2.mod.
23587 (ext2_mod_SOURCES): New variable.
23588 (ext2_mod_CFLAGS): Likewise.
23589 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
23590 * include/pupa/misc.h (pupa_strncpy): New prototype.
23591 (pupa_strcat): Likewise.
23592 (pupa_strncmp): Likewise.
23593 * kern/misc.c (pupa_strcat): Enable function.
23594 (pupa_strncpy): New function.
23595 (pupa_strncmp): Likewise.
23596 * fs/ext2.c: New file.
f19dbdb7 23597
bfd30f06 23598 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
23599 when the read failed before retrying.
23600 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
23601 (_FILE_OFFSET_BITS): Likewise.
23602 * configure.ac: Added AC_SYS_LARGEFILE.
23603
98d15063 236042003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23605
23606 * genmk.rb (PModule#rule): Make sure to get only symbol names
23607 from the output of nm.
23608 Reported by Robert Millan <zeratul2@wanadoo.es>.
23609
18d9c7cd 236102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23611
23612 I forgot to check in these changes for a long time. This adds
23613 incomplete support for VGA console, and this is still very
23614 buggy. Also, a lot of consideration is required for I18N,
23615 UNICODE, and VGA font issues. Therefore, assume that this is
23616 such that "better than nothing".
f19dbdb7 23617
18d9c7cd 23618 * font/manager.c: New file.
23619 * include/pupa/font.h: Likewise.
23620 * include/pupa/i386/pc/vga.h: Likewise.
23621 * term/i386/pc/vga.c: Likewise.
23622 * util/unifont2pff.rb: Likewise.
23623
23624 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
23625 (pkgdata_MODULES): Added vga.mod and font.mod.
23626 (vga_mod_SOURCES): New variables.
23627 (vga_mod_CFLAGS): Likewise.
23628 (font_mod_SOURCES): Likewise.
23629 (font_mod_CFLAGS): Likewise.
23630
23631 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
23632
23633 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 23634 (struct pupa_term): Added init and fini.
18d9c7cd 23635 Changed the argument of putchar to pupa_uint32_t.
23636
23637 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
23638 (pupa_console_real_putchar): New prototype.
23639 (pupa_console_putchar): Removed.
23640 (pupa_console_checkkey): Exported.
23641 (pupa_console_getkey): Likewise.
23642
23643 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
23644 characters.
23645
23646 * kern/term.c (pupa_term_set_current): Rewritten.
23647 (pupa_putchar): Likewise.
23648 (pupa_putcode): New function.
23649
23650 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
23651 (pupa_console_real_putchar): ... this.
23652 (pupa_vga_set_mode): New function.
23653 (pupa_vga_get_font): Likewise.
23654
23655 * normal/command.c: Include pupa/term.h.
23656 (terminal_command): New function.
23657 (pupa_command_init): Register the command "terminal".
23658
23659 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
23660 (DISP_UP): Likewise.
23661 (DISP_RIGHT): Likewise.
23662 (DISP_DOWN): Likewise.
23663 (DISP_HLINE): Likewise.
23664 (DISP_VLINE): Likewise.
23665 (DISP_UL): Likewise.
23666 (DISP_UR): Likewise.
23667 (DISP_LL): Likewise.
23668 (DISP_LR): Likewise.
23669
23670 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 23671
977329f5 236722003-02-08 NIIBE Yutaka <gniibe@m17n.org>
23673
23674 * util/resolve.c (pupa_util_resolve_dependencies): BUG
23675 FIX. Reverse the path_list.
23676
23677 * include/pupa/normal.h: Export pupa_register_command and
23678 pupa_unregister_command.
23679
23680 * hello/hello.c (pupa_cmd_hello): New module.
23681 * conf/i386-pc.rmk: Added hello.mod.
23682
1f5ab428 236832003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
23684
23685 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 23686
1f5ab428 23687 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
23688 (compress_kernel): New variable.
23689 (generate_image): Heavily modified to support compressing a
23690 large part of the core image.
23691
23692 * util/misc.c (pupa_util_read_image): Fix a file descriptor
23693 leak.
23694 (pupa_util_load_image): New function.
23695
23696 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
23697 (pupa_compressed_size): New variable.
23698 (codestart): Enable Gate A20 here.
23699 Decompress the compressed part of the core image.
23700 Rearrange the code to put functions and variables which are
23701 required for initialization in the non-compressed part.
23702 Include lzo1x.S.
23703
23704 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
23705 here.
23706
23707 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
23708
f19dbdb7 23709 * include/pupa/i386/pc/kernel.h
1f5ab428 23710 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
23711 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
23712 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23713 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23714 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
23715
23716 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
23717
23718 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
23719 (Utility#rule): Likewise.
23720
23721 * configure.ac: Check if LZO is available.
23722
ce5bf700 237232003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
23724
23725 * include/pupa/normal.h: New file.
23726 * include/pupa/setjmp.h: Likewise.
23727 * include/pupa/i386/setjmp.h: Likewise.
23728 * normal/cmdline.c: Likewise.
23729 * normal/command.c: Likewise.
23730 * normal/main.c: Likewise.
23731 * normal/menu.c: Likewise.
23732 * normal/i386/setjmp.S: Likewise.
f19dbdb7 23733
ce5bf700 23734 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
23735 (pupa_rescue_cmd_initrd): Likewise.
23736
23737 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
23738 Likewise.
23739
23740 * kern/i386/pc/startup.S (translation_table): New variable.
23741 (translate_keycode): New function.
23742 (pupa_console_getkey): Call translate_keycode.
23743
23744 * kern/rescue.c (attempt_normal_mode): New function.
23745 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
23746 it failed, print a message.
23747
23748 * kern/mm.c (pupa_real_malloc): Print more information when a
23749 free magic is broken.
23750 (pupa_free): If the first free header is not free actually, set
23751 it to P.
23752
23753 * kern/main.c (pupa_load_normal_mode): Just load the module
23754 "normal".
23755 (pupa_main): Don't print the message
23756 "Entering into rescue mode..." here.
23757
23758 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23759 Declared.
23760 (pupa_rescue_cmd_initrd): Likewise.
23761 (pupa_rescue_cmd_initrd): Likewise.
23762
23763 * include/pupa/symbol.h (FUNCTION): Specify the type.
23764 (VARIABLE): Likewise.
23765
23766 * include/pupa/err.h (pupa_err_t): Added
23767 PUPA_ERR_UNKNOWN_COMMAND.
23768
23769 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23770 (pupa_dl_get_prefix): Likewise.
23771
23772 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23773 Added _chain.mod and _linux.mod instead of chain.mod and
23774 linux.mod.
23775 (chain_mod_SOURCES): Renamed to ...
23776 (_chain_mod_SOURCES): ... this.
23777 (chain_mod_CFLAGS): Renamed to ...
23778 (_chain_mod_CFLAGS): ... this.
23779 (linux_mod_SOURCES): Renamed to ...
23780 (_linux_mod_SOURCES): ... this.
23781 (linux_mod_CFLAGS): Renamed to ...
23782 (_linux_mod_CFLAGS): ... this.
23783 (normal_mod_SOURCES): New variable.
23784 (normal_mod_CFLAGS): Likewise.
23785 (normal_mod_ASFLAGS): Likewise.
23786
237872003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23788
23789 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23790 possible.
23791
fe6b695a 23792 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23793 recursively.
23794 (pupa_dl_unref): Unrefer depending modules recursively.
23795 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23796 a module is unloaded before one depending on that module is
23797 unloaded.
23798 (pupa_dl_unload): Unload depending modules explicitly,
23799 if possible.
23800
c04da074 238012003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23802
23803 * include/pupa/i386/pc/linux.h: New file.
23804 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23805
c04da074 23806 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23807 Removed.
23808 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23809 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23810 of PUPA_CHAINLOADER_BOOT_SECTOR.
23811
23812 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23813 (pupa_linux_prot_size): New variable.
23814 (pupa_linux_tmp_addr): Likewise.
23815 (pupa_linux_real_addr): Likewise.
23816 (pupa_linux_boot_zimage): New function.
23817 (pupa_linux_boot_bzimage): Likewise.
23818
23819 * kern/i386/pc/init.c (struct mem_region): New structure.
23820 (MAX_REGIONS): New macro.
23821 (mem_regions): New variable.
23822 (num_regions): Likewise.
23823 (pupa_os_area_addr): Likewise.
23824 (pupa_os_area_size): Likewise.
23825 (pupa_lower_mem): Likewise.
23826 (pupa_upper_mem): Likewise.
23827 (add_mem_region): New function.
23828 (compact_mem_regions): Likewise.
23829 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23830 the size of the conventional memory and that of so-called upper
23831 memory (before the first memory hole).
23832 Instead of adding each found region to free memory, use
23833 add_mem_region and add them after removing overlaps.
23834 Also, add only 1/4 of the upper memory to free memory. The rest
23835 is used for loading OS images. Maybe this is ad hoc, but this
23836 makes it much easier to relocate OS images when booting.
23837
23838 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
23839 (pupa_enter_rescue_mode): Don't register initrd and module.
23840
23841 * kern/mm.c: Include pupa/dl.h.
23842
23843 * kern/main.c: Include pupa/file.h and pupa/device.h.
23844
23845 * kern/loader.c (pupa_loader_load_module_func): Removed.
23846 (pupa_loader_load_module): Likewise.
23847
23848 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
23849 ``.o''.
23850
23851 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
23852 (pupa_linux_tmp_addr): Likewise.
23853 (pupa_linux_real_addr): Likewise.
23854 (pupa_linux_boot_zimage): Likewise.
23855 (pupa_linux_boot_bzimage): Likewise.
23856
23857 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
23858 (pupa_upper_mem): Likewise.
23859 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
23860 module is too dangerous.
23861
23862 * include/pupa/loader.h (pupa_os_area_addr): Declared.
23863 (pupa_os_area_size): Likewise.
23864 (pupa_loader_set): Remove the first argument. Loader doesn't
23865 manage modules or initrd any longer.
23866 (pupa_loader_load_module): Removed.
23867
23868 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
23869 (linux_mod_SOURCES): New variable.
23870 (linux_mod_CFLAGS): Likewise.
23871
a13f9237 238722003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
23873
23874 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
23875 the length of a blocklist correctly.
23876
23877 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
23878 Use ioctl only if the OS file is a block device.
23879 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
23880 not very useful for normal files.
23881
23882 * kern/main.c (pupa_set_root_dev): New function.
23883 (pupa_load_normal_mode): Likewise.
23884 (pupa_main): Call those above.
23885
23886 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
23887 pupa_uint16_t.
23888
23889 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
23890
a5ffe966 238912003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23892
23893 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
23894 (setup): Configure the installed partition information and the
23895 dl prefix.
23896
23897 * loader/i386/pc/chainloader.c (my_mod): New variable.
23898 (pupa_chainloader_unload): New function.
23899 (pupa_rescue_cmd_chainloader): Refer itself.
23900 (PUPA_MOD_INIT): Save its own module in MY_MOD.
23901
23902 * kern/i386/pc/startup.S (install_partition): Removed.
23903 (version_string): Likewise.
23904 (config_file): Likewise.
23905 (pupa_install_dos_part): New variable.
23906 (pupa_install_bsd_part): Likewise.
23907 (pupa_prefix): Likewise.
23908 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
23909
23910 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
23911 and pupa/misc.h.
23912 (make_install_device): New function.
23913 (pupa_machine_init): Set the dl prefix.
23914
23915 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
23916 (buf): Renamed to ...
23917 (linebuf): ... this.
23918 (pupa_rescue_cmd_prefix): New function.
23919 (pupa_rescue_cmd_insmod): Likewise.
23920 (pupa_rescue_cmd_rmmod): Likewise.
23921 (pupa_rescue_cmd_lsmod): Likewise.
23922 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
23923 rmmod and lsmod.
23924
23925 * kern/mm.c (pupa_memalign): If failed even after invalidating
23926 disk caches, unload unneeded modules and retry.
23927
23928 * kern/misc.c (pupa_memmove): New function.
23929 (pupa_memcpy): Removed.
23930 (pupa_strcpy): New function.
23931 (pupa_itoa): Made static.
23932
23933 * kern/dl.c (pupa_dl_iterate): New function.
23934 (pupa_dl_ref): Likewise.
23935 (pupa_dl_unref): Likewise.
23936 (pupa_dl_unload): Return if succeeded or not.
23937 (pupa_dl_unload_unneeded): New function.
23938 (pupa_dl_unload_all): Likewise.
23939 (pupa_dl_init): Renamed to ...
23940 (pupa_dl_set_prefix): ... this.
23941 (pupa_dl_get_prefix): New function.
23942
23943 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
23944 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
23945 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23946 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23947 (pupa_install_dos_part): Declared.
23948 (pupa_install_bsd_part): Likewise.
23949 (pupa_prefix): Likewise.
23950 (pupa_boot_drive): Likewise.
23951
23952 * include/pupa/types.h: Fix a typo.
23953
23954 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
23955 pupa_memmove.
23956 (pupa_memmove): Declared.
23957 (pupa_strcpy): Likewise.
23958
23959 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
23960 pupa_mod_init takes one argument, its own module.
23961 (pupa_dl_unload_unneeded): Declared.
23962 (pupa_dl_unload_all): Likewise.
23963 (pupa_dl_ref): Likewise.
23964 (pupa_dl_unref): Likewise.
23965 (pupa_dl_iterate): Likewise.
23966 (pupa_dl_init): Renamed to ...
23967 (pupa_dl_set_prefix): ... this.
23968 (pupa_dl_get_prefix): Declared.
23969
23970 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 23971 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 23972 unloaded.
23973 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
23974 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
23975
23976 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
23977 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
23978
012d7999 239792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23980
23981 * util/i386/pc/pupa-setup.c (setup): Define the internal
23982 function find_first_partition_start at the top level, because GCC
23983 3.0.x cannot compile internal functions in deeper scopes
23984 correctly.
23985 (find_root_device): Use lstat instead of stat.
23986 Don't follow symbolic links.
23987 Fix the path-constructing code.
23988
23989 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
23990 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
23991 by a BLKGETSIZE ioctl first, because block devices don't fill
23992 the member st_mode of the structure stat on Linux.
23993 [__linux__] (linux_find_partition): Use a temporary buffer
23994 REAL_DEV for the working space. Copy it to DEV before returning.
23995 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
23996 buffer cache consistent.
23997 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
23998 strncmp. The previous value was merely wrong.
23999 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24000
24001 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24002 FAT size is 12. The previous value was merely wrong.
24003
24004 * kern/main.c (pupa_main): Don't split the starting message from
24005 newlines.
24006
24007 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24008 LF, because BIOS goes crazy about character attributes in this
24009 case.
24010
1cc73a62 240112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24012
24013 * include/i386/pc/util/biosdisk.h: New file.
24014 * util/i386/pc/biosdisk.c: Likewise.
24015 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24016
1cc73a62 24017 * Makefile.in (INCLUDE_DISTFILES): Added
24018 include/pupa/i386/pc/util/biosdisk.h.
24019 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24020 directory util/i386/pc.
24021 (install-local): Added a rule for sbin_UTILITIES.
24022 (uninstall): Likewise.
24023
24024 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24025
24026 * util/misc.c (xrealloc): New function.
24027 (pupa_malloc): Likewise.
24028 (pupa_free): Likewise.
24029 (pupa_realloc): Likewise.
24030 (pupa_stop): Likewise.
24031 (pupa_putchar): Likewise.
24032
24033 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24034
24035 * include/pupa/util/misc.h (xrealloc): Declared.
24036
24037 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24038 macro.
24039 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24040 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24041
24042 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24043 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24044
24045 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24046 way should be implemented.
24047 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24048
24049 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24050 the size of NAME for safety.
24051 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24052 0x88.
24053
24054 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24055 (pupa_setup_SOURCES): Likewise.
24056
24057 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24058
08b70fe8 240592002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24060
24061 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24062 bunch of pushl's from pusha, because this destroys the return
24063 value.
24064
62ddcc8f 240652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24066
24067 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24068 This means that any missing prototypes could be fatal. Also, you
24069 must take care when writing assembly code. See the comments at
24070 the beginning of startup.S, for more details.
f19dbdb7 24071
62ddcc8f 24072 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24073 compilation mechanism.
24074 (pupa_chainloader_real_boot): Likewise.
24075 (pupa_biosdisk_rw_int13_extensions): Likewise.
24076 (pupa_biosdisk_rw_standard): Likewise.
24077 (pupa_biosdisk_check_int13_extensions): Likewise.
24078 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24079 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24080 (pupa_get_memsize): Likewise.
24081 (pupa_get_mmap_entry): Likewise.
24082 (pupa_console_putchar): Likewise.
24083 (pupa_console_setcursor): Likewise.
24084 (pupa_getrtsecs): Use pushl instead of push.
24085
24086 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24087 memory instead of the stack for a mmap entry, because some
24088 BIOSes may ignore the maximum size and overflow.
24089
24090 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24091
24092 * genmk.rb (PModule#rule): Compile automatically generated
24093 sources with module-specific CFLAGS as well as other sources.
24094
9962ed99 240952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24096
24097 * configure.ac: Check ld.
24098 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24099 respectively, before checking endianness and sizes.
24100
24101 * Makefile.in (LD): New variable.
f19dbdb7 24102
abdfc3c5 241032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24104
24105 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24106
6a161fa9 241072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24108
24109 * Changelog: New file.
24110