]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
ca467290
VS
12010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4 grub_xasprintf or grub_snprintf.
5 (grub_vsprintf): Likewise.
6 (grub_snprintf): New proto.
7 (grub_vsnprintf): Likewise.
8 (grub_xasprintf): Likewise.
9 (grub_xvasprintf): Likewise.
10 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11 (grub_sprintf): Removed.
12 (grub_vsnprintf): New function.
13 (grub_snprintf): Likewise.
14 (grub_xvasprintf): Likewise.
15 (grub_xasprintf): Likewise.
16 (grub_vsprintf): Renamed to ...
17 (grub_vsnprintf_real): ...this. New argument max_len.
18
aca655fd
BC
192010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20
21 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22 fix grub-script-check warning.
23
7ee92c32
VS
242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * include/grub/font.h (grub_font_load): Fix prototype.
27
f80927ca
VS
282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31
119c50ea
VS
322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * include/grub/x86_64/at_keyboard.h: New file.
35
47d5f3c1
VS
362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * loader/mips/linux.c: Include missing grub/i18n.h.
39
55ff5266
RM
402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
41
42 * normal/menu.c (notify_execution_failure): Clarify error message.
43
c893cc87
RM
442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
45
46 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
47 return value (and revert all return statements). Update users.
48
917dd370
CW
492010-01-20 Dan Merillat <debian@dan.merillat.org>
50
51 * kern/device.c (grub_device_iterate): Allocate new part_ent
52 structure based on sizeof (*p) rather than sizeof (p->next), to
53 account for structure padding.
54
55 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
56 disk is NULL, which might happen for LVM physical volumes with no
57 LVM signature.
58
d4a4ee57
RM
592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
60
61 * loader/mips/linux.c (grub_cmd_initrd)
62 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
63
642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
65
66 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
67 (grub_video_video_init, grub_video_bitmap_init)
68 (grub_font_manager_init, grub_term_gfxterm_init)
69 (grub_at_keyboard_init): New extern declarations.
70 (grub_machine_init): Initialize gfxterm and at_keyboard.
71
72 * kern/main.c (grub_main): Revert grub_printf delay kludge.
73
74 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
75 `gfxterm.mod' into core image.
76
77 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
78 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
79 (kernel_img_FORMAT): Copy to ...
80
81 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
82 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
83 (kernel_img_FORMAT): ... here, and ...
84
85 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
86 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
87 (kernel_img_FORMAT): ... here.
88
89 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
90 and input (at_keyboard) terminals in kernel.
91 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
92
93 (pkglib_MODULES): Remove `pci.mod'.
94 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
95 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
96 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
97 (at_keyboard_mod_LDFLAGS): Remove variables.
98
992010-01-11 Felix Zielcke <fzielcke@z-51.de>
100
101 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
102
1032009-12-10 Robert Millan <rmh.grub@aybabtu.com>
104
105 * include/grub/mips/libgcc.h: Only export symbols for functions
106 that libgcc provides.
107
1082009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
109
110 MIPS support.
111
112 * bus/bonito.c: New file.
113 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
114 GRUB_PCI_NUM_DEVICES.
115 * term/i386/pc/serial.c: Move to ...
116 * term/serial.c: ... here. All users updated.
117 * util/i386/pc/grub-mkimage.c: Move to ...
118 * util/grub-mkrawimage.c: ... here. All users updated.
119 * term/i386/pc/at_keyboard.c: Move to ...
120 * term/at_keyboard.c: ... here. All users updated.
121 * conf/mips-qemu-mips.rmk: New file.
122 * conf/mips-yeeloong.rmk: Likewise.
123 * conf/mips.rmk: Likewise.
124 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
125 mipsel-qemu-mips.
126 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
127 to port addresses.
128 (grub_ata_pciinit): Support CS5536.
129 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
130 * font/font_cmd.c (loadfont_command): Open file before passing it to
131 grub_font_load.
132 (pseudo_file_read): New function.
133 (pseudo_file_close): Likewise.
134 (pseudo_fs): New structure.
135 (load_font_module): New function.
136 (GRUB_MOD_INIT(font_manager)): Load embedded font.
137 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
138 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
139 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
140 * include/grub/i386/at_keyboard.h: Split into ...
141 * include/grub/at_keyboard.h: ... this ...
142 * include/grub/i386/at_keyboard.h: ... and this.
143 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
144 New prototype.
145 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
146 updated.
147 (grub_elf64_size): Likewise.
148 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
149 filename.
150 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
151 * include/grub/i386/coreboot/serial.h: Rewritten.
152 * include/grub/i386/ieee1275/serial.h: Include
153 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
154 * include/grub/i386/pc/serial.h: Moved from here ...
155 * include/grub/serial.h: ... to here. All users updated.
156 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
157 (GRUB_PCI_NUM_BUS): Likewise.
158 (GRUB_PCI_NUM_DEVICES): Likewise.
159 (grub_pci_device_map_range): Add missing volatile keyword.
160 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
161 * include/grub/mips/at_keyboard.h: New file.
162 * include/grub/mips/cache.h: Likewise.
163 * include/grub/mips/io.h: Likewise.
164 * include/grub/mips/kernel.h: Likewise.
165 * include/grub/mips/libgcc.h: Likewise.
166 * include/grub/mips/pci.h: Likewise.
167 * include/grub/mips/qemu-mips/boot.h: Likewise.
168 * include/grub/mips/qemu-mips/kernel.h: Likewise.
169 * include/grub/mips/qemu-mips/loader.h: Likewise.
170 * include/grub/mips/qemu-mips/memory.h: Likewise.
171 * include/grub/mips/qemu-mips/serial.h: Likewise.
172 * include/grub/mips/qemu-mips/time.h: Likewise.
173 * include/grub/mips/relocator.h: Likewise.
174 * include/grub/mips/time.h: Likewise.
175 * include/grub/mips/types.h: Likewise.
176 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
177 * include/grub/mips/yeeloong/boot.h: Likewise.
178 * include/grub/mips/yeeloong/kernel.h: Likewise.
179 * include/grub/mips/yeeloong/loader.h: Likewise.
180 * include/grub/mips/yeeloong/memory.h: Likewise.
181 * include/grub/mips/yeeloong/pci.h: Likewise.
182 * include/grub/mips/yeeloong/serial.h: Likewise.
183 * include/grub/mips/yeeloong/time.h: Likewise.
184 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
185 * kern/elf.c (grub_elf32_size): New parameter. All users
186 updated.
187 (grub_elf64_size): Likewise.
188 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
189 Load modules before saying "Welcome to GRUB!".
190 Call grub_refresh after saying "Welcome to GRUB!".
191 * kern/mips/cache.S: New file.
192 * kern/mips/cache_flush.S: Likewise.
193 * kern/mips/dl.c: Likewise.
194 * kern/mips/init.c: Likewise.
195 * kern/mips/qemu-mips/init.c: Likewise.
196 * kern/mips/startup.S: Likewise.
197 * kern/mips/yeeloong/init.c: Likewise.
198 * kern/term.c (grub_putcode): Handle NULL terminal.
199 (grub_getcharwidth): Likewise.
200 (grub_getkey): Likewise.
201 (grub_checkkey): Likewise.
202 (grub_getkeystatus): Likewise.
203 (grub_getxy): Likewise.
204 (grub_getwh): Likewise.
205 (grub_gotoxy): Likewise.
206 (grub_cls): Likewise.
207 (grub_setcolorstate): Likewise.
208 (grub_setcolor): Likewise.
209 (grub_getcolor): Likewise.
210 (grub_refresh): Likewise.
211 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
212 (write_jump): Add hatch nop.
213 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
214 * lib/mips/setjmp.S: New file.
215 * loader/mips/linux.c: Likewise.
216 * term/i386/pc/at_keyboard.c: Move from here ...
217 * term/at_keyboard.c: ... to here.
218 * term/i386/pc/serial.c: Moved from here ...
219 * term/serial.c: ... to here. All users updated.
220 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
221 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
222 (serial_translate_key_sequence): Avoid deadlock.
223 (grub_serial_getkey): Handle backspace.
224 (grub_serial_putchar): Fix newline handling.
225 * util/i386/pc/grub-mkimage.c: Move from here ...
226 * util/grub-mkrawimage.c: ... to here. All users updated.
227 (generate_image): New parameters 'font_path' and 'format'.
228 Support embedding font.
229 Use grub_host_to_target* instead of grub_cpu_to_le*.
230 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
231 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
232 (options): New option "--font".
233 (usage): Likewise.
234 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
235 (main): Handle "--font".
236 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
237 (grub_virtual_screen_setup): Set bg_color_display.
238 (redraw_screen_rect): Use bg_color_display instead of incorrect
239 bg_color.
240 (grub_gfxterm_cls): Likewise.
241 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
242 Support embedding config file.
243 (add_segments): Likewise.
244 (options): New option "--config".
245 (main): Handle "--config".
246 * video/sm712.c: New file.
247
25c2b5b3
RM
2482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
249
250 Fix parallel builds.
251
252 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
253 font.c depend on ascii.h).
254
2552010-01-12 Carles Pina i Estany <carles@pina.cat>
256
257 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
258
2592010-01-11 Carles Pina i Estany <carles@pina.cat>
260
261 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
262 By default: disabled.
263 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
264 parameter.
265
2662010-01-10 Carles Pina i Estany <carles@pina.cat>
267
268 * font/font.c: Update copyright years.
269 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
270
2712010-01-10 Carles Pina i Estany <carles@pina.cat>
272
273 * font/font.c: Include `ascii.h'.
274 (ASCII_BITMAP_SIZE): New macro.
275 (ascii_font_glyph): Define.
276 (ascii_glyph_lookup): New function.
277 (grub_font_get_string_width): Change comment. If glyph not found, use
278 ascii_glyph_lookup.
279 (grub_font_get_glyph_with_fallback): If glyph not available returns
280 ascii_glyph_lookup.
281 * util/grub-mkfont.c (file_formats): New enum.
282 (options): Add `ascii-bitmaps' new option.
283 (usage): Add `asii-bitmaps' new option.
284 (write_font_ascii_bitmap): New function.
285 (write_font): Rename to ...
286 (write_font_p2): ... this. Remove print_glyphs call.
287 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
288 used. Call print_glyphs.
289 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
290
2912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
292
293 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
294 (grub_bin2h_SOURCES): New variable.
295 * util/bin2h.c: New file.
296
915fc1b8
VS
2972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/multiboot.h: Resynced with spec.
300 * include/multiboot2.h: Likewise.
301 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
302 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
303
9444b678
RM
3042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
305
306 * include/grub/term.h (grub_term_register_input,
307 grub_term_register_output): Check return of terminal init()
308 routines, and abort if errors are raised.
309
310 * commands/terminal.c: Update copyright year.
311
cba98e8d
RM
3122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
313
314 * commands/terminal.c (grub_cmd_terminal_input)
315 (grub_cmd_terminal_output): Check return of terminal init()
316 routines, and abort if errors are raised.
317
6f7db5d6
VS
3182010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * include/grub/i386/bsd.h: Fix include pathes.
321
262bff8d
VS
3222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Add missing *BSD copyright headers.
325
326 * include/grub/aout.h: Add BSD licence.
327 * include/grub/i386/bsd.h: Parts under different licences moved to ...
328 * include/grub/i386/freebsd_linker.h: ... here,
329 * include/grub/i386/freebsd_reboot.h: ... here,
330 * include/grub/i386/netbsd_bootinfo.h: ... here,
331 * include/grub/i386/netbsd_reboot.h: ... here,
332 * include/grub/i386/openbsd_bootarg.h: ... here,
333 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
334 licence to each file.
335
b2cab848
RM
3362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
337
338 * acinclude.m4: Remove `nop' assembly instruction; it's not
339 implemented by all architectures.
340
2cb6be4b
RM
3412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
342
343 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
344 ELILO. This is no longer necessary.
345
a2eaee15
BC
3462010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
347
348 Added new tool, grub-scrit-check to verify grub.cfg syntax.
349
350 * util/grub-script-check.c: grub-script-check tool.
351 * conf/common.rmk: Make rules for grub-script-check.
352
88d17012
RM
3532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
354
355 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
356 spotting it back in 2008. Shame on me for forgetting he did.
357
358 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
359
8040619d
RM
3602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
361
362 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
363 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
364 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
365 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
366 (GRUB_VIDEO_TYPE_EFI): Rename to ...
367 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
368
a0c2a0f6
RM
3692010-01-17 Robert Millan <rmh.grub@aybabtu.com>
370
371 * include/grub/test.h: Add license header.
372 * tests/example_functional_test.c: Likewise.
373 * tests/example_unit_test.c: Likewise.
374 * tests/lib/functional_test.c: Likewise.
375 * tests/lib/test.c: Likewise.
376 * tests/lib/unit_test.c: Likewise.
377
b0b13907
VS
3782010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Use flag-based instead of hook-based video mode selection and "auto"
381 keyword.
382
383 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
384 (grub_video_set_mode): Changed prototype. All users updated.
385 (grub_video_check_mode_flag): New inline function.
386 * video/video.c (parse_modespec): New function.
387 (grub_video_set_mode): Parse flags and keywords.
388
ea379330 3892010-01-17 Carles Pina i Estany <carles@pina.cat>
390
391 * util/misc.c (grub_util_info): Fix the order of the parameters in a
392 fprintf call.
393
e15c215e
FZ
3942010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
395
396 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
397
409ae1c9 3982010-01-16 Carles Pina i Estany <carles@pina.cat>
399
400 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
401 string.
402 * util/grub-emu.c (usage): Likewise.
403 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
404 * util/i386/efi/grub-mkimage.c (usage): Likewise.
405 * util/i386/pc/grub-mkimage.c (usage): Likewise.
406 * util/i386/pc/grub-setup.c (usage): Likewise.
407
70a14d3d 4082010-01-16 Carles Pina i Estany <carles@pina.cat>
409
410 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
411 the message.
412 (grub_util_info): Likewise.
413 (grub_util_error): Likewise.
414 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
415 and/or new lines in `grub_util_warna', `grub_util_info',
416 `grub_util_error' calls.
417 * util/getroot.c: Likewise.
418 * util/grub-editenv.c: Likewise.
419 * util/grub-emu.c: Likewise.
420 * util/grub-fstest.c: Likewise.
421 * util/grub-mkdevicemap.c: Likewise.
422 * util/grub-mkfont.c: Likewise.
423 * util/grub-mkpasswd-pbkdf2.c: Likewise.
424 * util/grub-mkrelpath.c: Likewise.
425 * util/grub-pe2elf.c: Likewise.
426 * util/grub-probe.c: Likewise.
427 * util/hostdisk.c: Likewise.
428 * util/i386/efi/grub-mkimage.c: Likewise.
429 * util/i386/pc/grub-mkimage.c: Likewise.
430 * util/i386/pc/grub-setup.c: Likewise.
431 * util/ieee1275/ofpath.c: Likewise.
432 * util/mkisofs/eltorito.c: Likewise.
433 * util/mkisofs/rock.c: Likewise.
434 * util/mkisofs/write.c: Likewise.
435 * util/raid.c: Likewise.
436 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
437 * util/sparc64/ieee1275/grub-setup.c: Likewise.
438
a0b766fc
VS
4392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Enable multiboot on non-pc.
442
443 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
444 multiboot.mod and multiboot2.mod to ...
445 * conf/i386.rmk (pkglib_MODULES): ... here.
446 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
447 Moved to ...
448 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
449 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
450 Moved to ...
451 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
452 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
453 Moved to ...
454 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
455 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
456 Moved to ...
457 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
458 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
459 relocator.mod.
460 (ata_mod_SOURCES): Removed.
461 (ata_mod_CFLAGS): Likewise.
462 (ata_mod_LDFLAGS): Likewise.
463 (relocator_mod_SOURCES): Removed.
464 (relocator_mod_CFLAGS): Likewise.
465 (relocator_mod_ASFLAGS): Likewise.
466 (relocator_mod_LDFLAGS): Likewise.
467 Include i386.mk.
468 * include/grub/x86_64/multiboot.h: New file.
469 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
470 Terminate EFI.
471
884ade56
VS
4722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Video multiboot support.
475
476 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
477 New prototype.
478 * include/multiboot.h: Resynced with multiboot specification.
479 * include/multiboot2.h: Likewise.
480 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
481 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
482 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
483 (HAS_VGA_TEXT): Likewise.
484 (accepts_video): New variable.
485 (grub_multiboot_set_accepts_video): New function.
486 (grub_multiboot_get_mbi_size): Account for video structures.
487 (set_video_mode): New function.
488 (retrieve_video_parameters): Likewise.
489 (grub_multiboot_make_mbi): Fill video fields.
490
0d90e8a6
VS
4912010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
492
493 Video driver ids.
494
495 * include/grub/video.h (grub_video_driver_id): New type.
496 (grub_video_adapter): New member 'id'. All users updated.
497 (grub_video_get_driver_id): New proto.
498 * video/video.c (grub_video_get_driver_id): New function.
499
5c71db1b 5002010-01-14 Carles Pina i Estany <carles@pina.cat>
501
502 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
503 `var=val'.
504
cca15b52 5052010-01-14 Carles Pina i Estany <carles@pina.cat>
506
507 * normal/cmdline.c (print_completion): Gettextizze.
508
c586fbb2 5092001-01-14 Carles Pina i Estany <carles@pina.cat>
510
511 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
512
ba2f6848 5132010-01-14 Carles Pina i Estany <carles@pina.cat>
514
515 * gettext/gettext.c (grub_gettext_translate): Push and pop
516 grub_errno.
517 (grub_gettext_delete_list): Change comment style.
518 * kern/err.c (grub_error): Gettextizze.
519 (grub_fatal): Gettextizze.
520
0a46429a
RM
5212010-01-14 Robert Millan <rmh.grub@aybabtu.com>
522
523 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
524 (grub_linux16_real_boot): ... this.
525 * kern/i386/loader.S: Likewise.
526 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
527 (grub_linux16_boot): New function. Switches to text mode and calls
528 grub_linux16_real_boot().
529
530 * loader/i386/bsd.c: Include `<grub/video.h>'.
531 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
532 text mode before calling grub_unix_real_boot().
533
534 * loader/i386/multiboot.c: Include `<grub/video.h>'.
535 (grub_multiboot_boot): Switch to text mode before calling
536 grub_relocator32_boot().
537
538 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
539 (grub_chainloader_boot): Switch to text mode before calling
540 grub_chainloader_real_boot().
541
d6f93a66
RM
5422010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5432010-01-05 Colin Watson <cjwatson@ubuntu.com>
544
545 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
546 non-empty value.
547
5482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5492010-01-05 Colin Watson <cjwatson@ubuntu.com>
550
551 * util/grub.d/00_header.in: Define a "savedefault" function for use
552 in menu entries.
553 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
554
5552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5562010-01-05 Colin Watson <cjwatson@ubuntu.com>
557
558 * util/grub-mkconfig_lib.in (save_default_entry): Only set
559 saved_entry if boot_once is unset.
560 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
561 previous saved entry (i.e. grub-reboot).
562
5632009-12-08 Colin Watson <cjwatson@ubuntu.com>
564
565 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
566
5672009-12-08 Colin Watson <cjwatson@ubuntu.com>
568
569 * util/grub.d/00_header.in: Use `set var=val' rather than plain
570 `var=val'.
571 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
572
5732009-12-08 Colin Watson <cjwatson@ubuntu.com>
574
575 * util/grub-reboot.in: Fix --version output.
576 * util/grub-set-default.in: Likewise.
577
5782009-12-08 Colin Watson <cjwatson@ubuntu.com>
579
580 * util/grub.d/00_header.in: Silently ignore zero-sized environment
581 blocks.
582
5832009-12-08 Colin Watson <cjwatson@ubuntu.com>
584
585 * util/grub.d/00_header.in: Quote the value assigned to `default',
586 in case it contains spaces.
587
5882009-12-08 Colin Watson <cjwatson@ubuntu.com>
589
590 * util/grub.d/30_os-prober.in: Fix merge error that moved a
591 `save_default_entry' call from the macosx case to the linux case.
592
5932009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5942009-10-25 Colin Watson <cjwatson@ubuntu.com>
595
596 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
597 in `chosen' environment variable.
598 * normal/menu_text.c (get_entry_number): Check if the variable
599 matches the title of a menu entry.
600 (run_menu): Pass menu to get_entry_number.
601
602 * util/grub-reboot.in: New file.
603 * util/grub-set-default.in: New file.
604 * conf/common.rmk (grub-reboot): New utility.
605 (grub-set-default): New utility.
606
607 * util/grub-mkconfig_lib.in (save_default_entry): New function.
608 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
609 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
610 move it to `saved_entry' for the next boot. Load environment on
611 initialisation.
612 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
613 * util/grub.d/10_hurd.in: Likewise.
614 * util/grub.d/10_linux.in (linux_entry): Likewise.
615 * util/grub.d/10_windows.in: Likewise.
616 * util/grub.d/30_os-prober.in: Likewise.
617
618 * util/grub-install.in: Create environment block.
619 * util/i386/efi/grub-install.in: Likewise.
620 * util/ieee1275/grub-install.in: Likewise.
621 * util/sparc64/ieee1275/grub-install.in: Likewise.
622
0934d184
BC
6232010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
624
625 Unit testing framework for GRUB.
626
627 * Makefile.in: Test framework build rules for 'make check'.
628 * conf/tests.rmk: Build rules for individual tests and framework.
629
630 * include/grub/test.h: Header file for whitebox tests.
631 * tests/lib/functional_test.c: Framework support for whitebox
632 functional tests.
633 * tests/lib/test.c: Common whitebox testing code for unit and
634 functional tests.
635 * tests/lib/unit_test.c: Framework support for whitebox unit
636 tests.
637
638 * tests/util/grub-shell-tester.in: Support utility for grub-script
639 tests.
640 * tests/util/grub-shell.in: Utility to execute grub-script
641 commands in a Qemu instance.
642
643 * tests/example_functional_test.c: Example whitebox functional
644 test.
645 * tests/example_grub_script_test.in: Example grub-script test.
646 * tests/example_scripted_test.in: Example scripted test.
647 * tests/example_unit_test.c: Example whitebox unit test.
648
9c4ffeeb
VS
6492010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
652 Add loader/i386/multiboot_mbi.c.
653 (multiboot2_mod_SOURCES): Likewise.
654 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
655 (multiboot2_mod_SOURCES): Likewise.
656 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
657 (grub_multiboot_make_mbi): Likewise.
658 (grub_multiboot_free_mbi): Likewise.
659 (grub_multiboot_init_mbi): Likewise.
660 (grub_multiboot_add_module): Likewise.
661 (grub_multiboot_set_bootdev): Likewise.
662 * loader/i386/multiboot.c (mbi): Removed.
663 (mbi_dest): Likewise.
664 (alloc_mbi): New variable.
665 (grub_multiboot_payload_size): Removed. All users updated.
666 (grub_multiboot_pure_size): New variable.
667 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
668 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
669 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
670 (grub_fill_multiboot_mmap): Likewise.
671 (grub_multiboot_get_bootdev): Likewise.
672 (grub_multiboot): Use multiboot_mbi functions.
673 * loader/i386/multiboot_mbi.c: New file.
674
17383dfe
VS
6752010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
678 it would result in module crash.
679
c1f28820
VS
6802010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
683 (grub_ofconsole_getwh): Split to ...
684 (grub_ofconsole_getwh): ... this.
685 (grub_ofconsole_dimensions): ...and this.
686 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
687
58655a16
RM
6882010-01-13 Robert Millan <rmh.grub@aybabtu.com>
689
690 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
691
10891398
VS
6922010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * loader/i386/pc/multiboot2.c: Removed stalled file.
695
0b8a223c
VS
6962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
699 Reported by: Grégoire Sutre
700
92ab12b0
RM
7012010-01-11 Robert Millan <rmh.grub@aybabtu.com>
702
703 * util/misc.c (canonicalize_file_name): New function.
704 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
705 instead of realpath().
706
a788afb6
CW
7072010-01-11 Colin Watson <cjwatson@ubuntu.com>
708
709 * util/grub-install.in (usage): Clarify meaning of --root-directory,
710 and make it clearer that it's optional. Based on confusion
711 witnessed on IRC.
712
ffa8e3d2
VS
7132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
716 in premature implicit newline.
717
e9060a9d
VS
7182010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
721 which resulted in garbled command line at the end of screen.
722
f0d0c0b7
RM
7232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
724
725 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
726 initialization with similar approach as with other Linux loaders.
727
0e60bae7
RM
7282010-01-10 Robert Millan <rmh.grub@aybabtu.com>
729
730 Fix i386-ieee1275 build.
731
732 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
733 and grub_term_height() for video_{width,height} initialization.
734
7352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
736
737 Fix grub-emu build.
738
739 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
740
cdb3f378
RM
7412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
743
744 Support for multiple terminals.
745
746 * Makefile.in (pkglib_DATA): terminal.lst.
747 (terminal.lst): New target.
748 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
749 (GRUB_MOD_INIT(handler)): Likewise.
750 (GRUB_MOD_FINI(handler)): Likewise.
751 * commands/help.c (grub_cmd_help): Handle multiple terminals.
752 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
753 * commands/sleep.c (do_print): Use grub_term_restore_pos.
754 (grub_cmd_sleep): Use grub_term_save_pos.
755 * commands/terminal.c: New file.
756 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
757 commands/terminal.c and lib/charset.c.
758 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
759 (pkglib_MODULES): Add terminal.mod.
760 (terminal_mod_SOURCES): New variable.
761 (terminal_mod_CFLAGS): Likewise.
762 (terminal_mod_LDFLAGS): Likewise.
763 * genhandlerlist.sh: Don't handle terminals.
764 * genmk.rb: Generate terminal-*.lst.
765 * genterminallist.sh: New file.
766 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
767 (grub_is_valid_utf8): Likewise.
768 (grub_utf8_to_ucs4_alloc): Likewise.
769 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
770 (grub_menu_register_viewer): Changed argument.
771 (grub_menu_try_text): New proto.
772 (grub_gfxmenu_try_hook): New declaration.
773 * include/grub/normal.h (grub_normal_exit_level): New declaration.
774 (grub_menu_init_page): Additional argument term.
775 (grub_normal_init_page): Likewise.
776 (grub_cmdline_get): Arguments simplified.
777 (grub_utf8_to_ucs4_alloc): Removed.
778 (grub_print_ucs4): Additional argument term.
779 (grub_getstringwidth): Likewise.
780 (grub_print_message_indented): Likewise.
781 (grub_menu_text_register_instances): New proto.
782 (grub_show_menu): Likewise.
783 (read_terminal_list): Likewise.
784 (grub_set_more): Likewise.
785 * include/grub/parser.h: Include handler.h.
786 * include/grub/reader.h: Rewritten.
787 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
788 (GRUB_TERM_WIDTH): Changed to function.
789 (GRUB_TERM_HEIGHT): Likewise.
790 (GRUB_TERM_BORDER_WIDTH): Likewise.
791 (GRUB_TERM_BORDER_HEIGHT): Likewise.
792 (GRUB_TERM_NUM_ENTRIES): Likewise.
793 (GRUB_TERM_ENTRY_WIDTH): Likewise.
794 (GRUB_TERM_CURSOR_X): Likewise.
795 (grub_term_input_class): Likewise.
796 (grub_term_output_class): Likewise.
797 (grub_term_outputs_disabled): New declaration.
798 (grub_term_inputs_disabled): Likewise.
799 (grub_term_outputs): Likewise.
800 (grub_term_inputs): Likewise.
801 (grub_term_register_input): Rewritten.
802 (grub_term_register_output): Likewise.
803 (grub_term_unregister_input): Likewise.
804 (grub_term_unregister_output): Likewise.
805 (FOR_ACTIVE_TERM_INPUTS): New macro.
806 (FOR_DISABLED_TERM_INPUTS): Likewise.
807 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
808 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
809 * include/grub/terminfo.h: Add oterm argument to all protypes.
810 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
811 Use grub_rescue_run.
812 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
813 All users updated.
814 * kern/reader.c: Removed. All users updated.
815 * kern/rescue_reader.c (grub_rescue_init): Removed.
816 (grub_rescue_reader): Likewise.
817 (grub_register_rescue_reader): Likewise.
818 (grub_rescue_run): New function based on kern/reader.c.
819 * kern/term.c: Adapted for multiterm.
820 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
821 (grub_is_valid_utf8): Likewise.
822 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
823 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
824 right terminal.
825 * loader/i386/linux.c (grub_linux_boot): Likewise.
826 * normal/auth.c (grub_username_get): New function.
827 (grub_auth_check_authentication): Use grub_username_get.
828 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
829 * normal/color.c: Adapt for multiterm.
830 * normal/main.c (read_config_file): Don't use grub_reader_loop.
831 (grub_normal_init_page): Additional argument term.
832 (read_lists): Call read_terminal_lists.
833 (grub_enter_normal_mode): Call grub_cmdline_run.
834 Handle grub_normal_exit_level.
835 (grub_cmd_normal): Make reentrant.
836 (grub_cmd_normal_exit): New function.
837 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
838 * normal/menu.c: Adapt for multiterm.
839 * normal/menu_entry.c: Likewise.
840 * normal/menu_text.c: Likewise.
841 * normal/menu_viewer.c: Removed. All users updated.
842 * normal/term.c: New file.
843 * util/console.c: Change order of includes to workaround a bug in
844 ncurses headers.
845 * term/terminfo.c: New argument oterm on all exported functions.
846 All users updated.
847 * util/grub-editenv.c (grub_term_input_class): Removed.
848 (grub_term_output_class): Likewise.
849
1a064917
RM
8502010-01-09 Robert Millan <rmh.grub@aybabtu.com>
851
852 Make loader output a bit more user-friendly.
853
854 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
855 is being loaded. Likewise for the Hurd.
856
857 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
858 that kernel of FreeBSD ${version} is being loaded.
859
860 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
861 grub_dprintf().
862 (grub_cmd_initrd): Likewise.
863 * util/grub.d/10_linux.in (linux_entry): Print message indicating
864 that Linux ${version} is being loaded. Likewise for initrd.
865
5ce0a83a 8662010-01-09 Carles Pina i Estany <carles@pina.cat>
867
868 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
869
809bbfeb 8702010-01-08 Carles Pina i Estany <carles@pina.cat>
871
872 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
873 (GRUB_MOD_INIT): Gettextizze.
874 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
875 (GRUB_MOD_INIT): Gettextizze.
876 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
877 (grub_cmd_linux): Capitalise Linux.
878 (GRUB_MOD_INIT): Gettextizze.
879 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
880 (grub_cmd_linux): Capitalise Linux.
881 (GRUB_MOD_INIT): Gettextizze.
882 * loader/i386/linux.c: Include `<grub/i18n.h>'.
883 (grub_cmd_linux): Capitalise Linux.
884 (GRUB_MOD_INIT): Gettextizze.
885 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
886 (GRUB_MOD_INIT): Gettextizze.
887 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
888 (grub_cmd_linux): Capitalise Linux.
889 (GRUB_MOD_INIT): Gettextizze.
890 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
891 (grub_cpu_xnu_init): Gettextizze.
892 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
893 (GRUB_MOD_INIT): Gettextizze.
894 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
895 (GRUB_MOD_INIT): Gettextizze.
896 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
897 (grub_linux_load64): Capitalise Linux.
898 (GRUB_MOD_INIT): Gettextizze.
899 * loader/xnu.c: Include `<grub/i18n.h>'.
900 (GRUB_MOD_INIT): Gettextizze.
901 * po/POTFILES: Add `loader/efi/appleloader.c',
902 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
903 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
904 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
905 `loader/i386/xnu.c', `loader/multiboot_loader.c',
906 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
907 and `loader/xnu.c'.
908
b394b2ca
RM
9092010-01-08 Robert Millan <rmh.grub@aybabtu.com>
910
911 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
912
9132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
914
915 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
916 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
917 * util/mkisofs/mkisofs.c (main): Readjust --version output.
918
bc8b32b3
RM
9192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
920
921 Reset Multiboot 2 support. New loader implements the draft in
922 /branches/multiboot2 and shares as much code as possible with the
923 production Multiboot 1 implementation.
924
925 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
926 * loader/multiboot2.c: Likewise.
927 * loader/i386/multiboot_helper.S: Likewise.
928 * include/multiboot2.h: Replace with latest version from the draft
929 in /branches/multiboot2.
930
931 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
932 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
933 and `loader/multiboot2.c'.
934 (pkglib_MODULES): Add `multiboot2.mod'.
935 (multiboot2_mod_SOURCES): New variable.
936 (multiboot2_mod_LDFLAGS): Likewise.
937 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
938
939 * conf/i386-pc.rmk: Likewise.
940
941 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
942 (multiboot_mod_SOURCES): Remove variable.
943 (multiboot_mod_LDFLAGS): Likewise.
944 (multiboot_mod_CFLAGS): Likewise.
945
946 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
947 `<multiboot2.h>' instead of `<multiboot.h>'.
948 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
949 (MULTIBOOT_HEADER_MAGIC): New macros.
950
951 * loader/multiboot_loader.c (module_version_status): Remove variable.
952 (find_multi_boot2_header): Remove function.
953 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
954 logic. Always check for the Multiboot version we're compiling for.
955 (grub_cmd_module_loader): Likewise.
956 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
957 command instead of `multiboot'.
958
5d2c52b8
RM
9592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
960
961 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
962 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
963 all users.
964
53108d92
RM
9652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Fix breakage introduced with previous commit.
969
970 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
971 commands.
972 * normal/handler.c (read_handler_list): Revert part of previous commit
973 affecting this file.
974 * normal/main.c (read_lists): Move read_handler_list() call back to ...
975 (grub_normal_execute): ... here.
976
e2e936b2
RM
9772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
978
979 Merge prefix-redefinition-fix branch.
980
981 * normal/autofs.c (read_fs_list): Make function capable of being
982 run multiple times, gracefuly replacing the previous data
983 structures.
984 * normal/dyncmd.c (read_command_list): Likewise.
985 * normal/handler.c (read_handler_list): Likewise.
986 * normal/main.c (read_lists): New function. Calls all the
987 list reading functions.
988 (grub_normal_execute): Use read_lists() instead of calling all
989 list reading functions explicitly. Register read_lists() as a
990 variable hook attached to ${prefix}.
991
607a3701
VS
9922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Merge crypto branch.
995
996 * Makefile.in (pkglib_DATA): Add crypto.lst.
997 (crypto.lst): New target.
998 * commands/hashsum.c: New file.
999 * commands/password.c (check_password): Use grub_crypto_memcmp.
1000 * commands/password_pbkdf2.c: New file.
1001 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1002 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1003 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1004 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1005 -I$(srcdir)/lib/libgcrypt_wrap.
1006 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1007 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1008 password_pbkdf2.mod.
1009 (crypto_mod_SOURCES): New variable.
1010 (crypto_mod_CFLAGS): Likewise.
1011 (crypto_mod_LDFLAGS): Likewise.
1012 (hashsum_mod_SOURCES): New variable.
1013 (hashsum_mod_CFLAGS): Likewise.
1014 (hashsum_mod_LDFLAGS): Likewise.
1015 (pbkdf2_mod_SOURCES): New variable.
1016 (pbkdf2_mod_CFLAGS): Likewise.
1017 (pbkdf2_mod_LDFLAGS): Likewise.
1018 (password_pbkdf2_mod_SOURCES): New variable.
1019 (password_pbkdf2_mod_CFLAGS): Likewise.
1020 (password_pbkdf2_mod_LDFLAGS): Likewise.
1021 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1022 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1023 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1024 Include conf/gcry.rmk.
1025 * include/grub/auth.h: Rewritten.
1026 * include/grub/crypto.h: New file.
1027 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1028 * include/grub/normal.h (read_crypto_list): New prototype.
1029 * lib/crypto.c: New file.
1030 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1031 * lib/pbkdf2.c: Likewise.
1032 * normal/auth.c (grub_auth_strcmp): Removed.
1033 (grub_iswordseparator): Likewise.
1034 (grub_auth_strword): Likewise.
1035 (is_authenticated): Use grub_strword.
1036 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1037 and grub_strword. Pass entered password to authentication callback.
1038 * normal/crypto.c: New file.
1039 * normal/main.c: Call read_crypto_list.
1040 * util/grub-mkpasswd-pbkdf2.c: New file.
1041 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1042
42841caa
VS
10432010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Fix descent and ascent calculation.
1046
1047 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1048 (options): New option "asce".
1049 (usage): Likewise.
1050 (add_char): Ignore invalid glyphs for descent calculation.
1051 Calculate ascent from actual content.
1052 (print_glyphs): Use 'asce'.
1053 (write_font): Likewise. Allow ascent override.
1054 (main): Handle "asce" option.
1055
e7730de7 10562010-01-06 Carles Pina i Estany <carles@pina.cat>
1057
1058 * kern/err.c: Include `<grub/i18n.h>'.
1059 (grub_print_error): Add full stop. Gettextizze.
1060 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1061 (grub_bsd_load_elf): Capitalise ELF.
1062 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1063 (grub_cmd_freebsd_module): Likewise.
1064 (grub_cmd_freebsd_module_elf): Likewise.
1065 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1066
40e3a41f 10672010-01-06 Carles Pina i Estany <carles@pina.cat>
1068
1069 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1070 * commands/search_file.c (HELP_MESSAGE): New macro.
1071 * commands/search_label.c (HELP_MESSAGE): Likewise.
1072 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1073 * po/POTFILES: Add `commands/search_file.c',
1074 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1075 `commands/search.c'.
1076
83507e68
RM
10772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1078
1079 * config.rpath: Update from Gnulib.
1080
465c787b
YB
10812010-01-05 Yves Blusseau <blusseau@zetam.org>
1082
1083 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1084
6581dd3a
YB
10852010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1086
1087 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1088
3bff18c5
CW
10892010-01-05 Colin Watson <cjwatson@ubuntu.com>
1090
1091 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1092 arguments to fread so that we get a return value in bytes, rather
1093 than something that will normally be rounded down to 0.
1094 Adjust error handling to avoid producing garbage when size_t is not
1095 the same size as long long.
1096
a1368118
CW
10972010-01-05 Colin Watson <cjwatson@ubuntu.com>
1098
1099 * util/mkisofs/write.c (padblock_write): Check return value of
1100 fread.
1101
7c302978
RM
11022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1103
1104 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1105 floppy images now.
1106
1107 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1108
e33ace06
RM
11092010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1110
1111 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1112 instead of manual alignment.
1113 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1114 verbose). Avoid attempts to read past end of the device
1115 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1116 but GRUB_DISK_CACHE_SIZE may exceed that).
1117
4b856776
RM
11182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1119
1120 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1121 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1122 it to upper layer.
1123
52c2d97f
VS
11242010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1127 New constant.
1128 (grub_efi_piwg_device_path): New structure
1129 (grub_efi_piwg_device_path_t): New type.
1130 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1131 (devpath_1): Transform to a structure. All users updated.
1132 (devpath_2): Likewise.
1133 (devpath_3): Likewise.
1134 (devpath_4): Likewise.
1135 (devpath_5): Likewise.
1136
98ff6a54
VS
11372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * loader/efi/appleloader.c: Restored. Update all users.
1140
3a73dcb6
RM
11412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1142
1143 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1144
1145 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1146 (struct boot_blocklist): Move from here ...
1147 * include/grub/i386/pc/boot.h [ASM_FILE]
1148 (struct grub_boot_blocklist): ... to here. Update all users.
1149 (setup): Only initialize `start' member of `first_block'
1150 structure. Add assert() calls to verify the other members.
1151
1152 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1153 (generate_image): Fix broken blocklist length initialization.
1154 Add assert() call to verify blocklist `segment' field.
1155
ab0eeb0c
RM
11562010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1157
1158 * loader/efi/appleloader.c: Remove. Update all users.
1159
58bc8bd5
RM
11602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1161
1162 * boot/i386/pc/boot.S: Update copyright year.
1163 * boot/i386/pc/cdboot.S: Likewise.
1164 * boot/i386/pc/diskboot.S: Likewise.
1165 * boot/i386/pc/lnxboot.S: Likewise.
1166 * boot/i386/pc/pxeboot.S: Likewise.
1167 * bus/pci.c: Likewise.
1168 * commands/cmp.c: Likewise.
1169 * commands/help.c: Likewise.
1170 * commands/hexdump.c: Likewise.
1171 * commands/i386/pc/halt.c: Likewise.
1172 * commands/i386/pc/play.c: Likewise.
1173 * commands/i386/pc/vbeinfo.c: Likewise.
1174 * commands/ls.c: Likewise.
1175 * commands/test.c: Likewise.
1176 * disk/dmraid_nvidia.c: Likewise.
1177 * disk/i386/pc/biosdisk.c: Likewise.
1178 * disk/ieee1275/nand.c: Likewise.
1179 * disk/ieee1275/ofdisk.c: Likewise.
1180 * disk/lvm.c: Likewise.
1181 * disk/raid.c: Likewise.
1182 * disk/raid6_recover.c: Likewise.
1183 * disk/scsi.c: Likewise.
1184 * fs/affs.c: Likewise.
1185 * fs/cpio.c: Likewise.
1186 * fs/ext2.c: Likewise.
1187 * fs/hfs.c: Likewise.
1188 * fs/iso9660.c: Likewise.
1189 * fs/ntfs.c: Likewise.
1190 * fs/sfs.c: Likewise.
1191 * fs/udf.c: Likewise.
1192 * fs/ufs.c: Likewise.
1193 * fs/xfs.c: Likewise.
1194 * gencmdlist.sh: Likewise.
1195 * genmk.rb: Likewise.
1196 * include/grub/disk.h: Likewise.
1197 * include/grub/efi/api.h: Likewise.
1198 * include/grub/efi/efi.h: Likewise.
1199 * include/grub/efi/pe32.h: Likewise.
1200 * include/grub/elf.h: Likewise.
1201 * include/grub/fs.h: Likewise.
1202 * include/grub/i386/at_keyboard.h: Likewise.
1203 * include/grub/i386/pc/memory.h: Likewise.
1204 * include/grub/i386/pc/vbe.h: Likewise.
1205 * include/grub/i386/pci.h: Likewise.
1206 * include/grub/i386/tsc.h: Likewise.
1207 * include/grub/ieee1275/ieee1275.h: Likewise.
1208 * include/grub/ntfs.h: Likewise.
1209 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1210 * include/grub/sparc64/libgcc.h: Likewise.
1211 * include/grub/symbol.h: Likewise.
1212 * include/grub/types.h: Likewise.
1213 * include/multiboot2.h: Likewise.
1214 * io/gzio.c: Likewise.
1215 * kern/device.c: Likewise.
1216 * kern/disk.c: Likewise.
1217 * kern/efi/efi.c: Likewise.
1218 * kern/efi/mm.c: Likewise.
1219 * kern/elf.c: Likewise.
1220 * kern/file.c: Likewise.
1221 * kern/i386/dl.c: Likewise.
1222 * kern/i386/pc/init.c: Likewise.
1223 * kern/i386/pc/startup.S: Likewise.
1224 * kern/ieee1275/ieee1275.c: Likewise.
1225 * kern/ieee1275/init.c: Likewise.
1226 * kern/main.c: Likewise.
1227 * kern/mm.c: Likewise.
1228 * kern/powerpc/dl.c: Likewise.
1229 * kern/sparc64/dl.c: Likewise.
1230 * kern/x86_64/dl.c: Likewise.
1231 * lib/hexdump.c: Likewise.
1232 * loader/efi/appleloader.c: Likewise.
1233 * loader/i386/ieee1275/linux.c: Likewise.
1234 * loader/i386/pc/chainloader.c: Likewise.
1235 * loader/i386/pc/linux.c: Likewise.
1236 * loader/i386/pc/multiboot2.c: Likewise.
1237 * loader/ieee1275/multiboot2.c: Likewise.
1238 * loader/multiboot2.c: Likewise.
1239 * loader/multiboot_loader.c: Likewise.
1240 * loader/powerpc/ieee1275/linux.c: Likewise.
1241 * normal/completion.c: Likewise.
1242 * normal/menu_entry.c: Likewise.
1243 * partmap/apple.c: Likewise.
1244 * util/grub.d/10_hurd.in: Likewise.
1245 * util/hostfs.c: Likewise.
1246 * video/readers/png.c: Likewise.
1247
e2d70b5c
CW
12482010-01-03 Colin Watson <cjwatson@ubuntu.com>
1249
1250 * include/grub/misc.h (GNUC_PREREQ): New macro.
1251 (ATTRIBUTE_ERROR): New macro.
1252 * include/grub/list.h (grub_bad_type_cast_real): Use
1253 ATTRIBUTE_ERROR.
1254
a173283f 12552010-01-03 Carles Pina i Estany <carles@pina.cat>
1256
1257 * normal/menu_text.c (print_message): Change messages.
1258
7fa7ff74 12592010-01-03 Carles Pina i Estany <carles@pina.cat>
1260
1261 * normal/menu_entry.c (store_completion): Gettextizze.
1262
136d24f6 12632010-01-03 Carles Pina i Estany <carles@pina.cat>
1264
1265 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1266
f936862e 12672010-01-03 Carles Pina i Estany <carles@pina.cat>
1268
1269 * po/POTFILES: Sort correctly.
1270
29c44ad1 12712010-01-03 Carles Pina i Estany <carles@pina.cat>
1272
1273 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1274 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1275 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1276 full stop.
1277 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1278 summary. Gettextizze the strings.
1279 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1280 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1281 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1282 full stop.
1283 (GRUB_MOD_INIT): Remove command name from summary.
1284 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1285 summary.
1286 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1287 * term/i386/pc/serial.c (options): Add full stops.
1288 (GRUB_MOD_INIT): Remove command name from the summary.
1289
77a79592 12902010-01-03 Carles Pina i Estany <carles@pina.cat>
1291
1292 * commands/acpi.c: Gettextizze help strings and/or options. Include
1293 `grub/i18n.h' if needed.
1294 * commands/blocklist.c: Likewise.
1295 * commands/boot.c: Likewise.
1296 * commands/cat.c: Likewise.
1297 * commands/cmp.c: Likewise.
1298 * commands/configfile.c: Likewise.
1299 * commands/crc.c: Likewise.
1300 * commands/date.c: Likewise.
1301 * commands/echo.c: Likewise.
1302 * commands/efi/fixvideo.c: Likewise.
1303 * commands/efi/loadbios.c: Likewise.
1304 * commands/gptsync.c: Likewise.
1305 * commands/halt.c: Likewise.
1306 * commands/handler.c: Likewise.
1307 * commands/hdparm.c: Likewise.
1308 * commands/hexdump.c: Likewise.
1309 * commands/i386/cpuid.c: Likewise.
1310 * commands/i386/pc/drivemap.c: Likewise.
1311 * commands/i386/pc/halt.c: Likewise.
1312 * commands/i386/pc/pxecmd.c: Likewise.
1313 * commands/i386/pc/vbeinfo.c: Likewise.
1314 * commands/i386/pc/vbetest.c: Likewise.
1315 * commands/ieee1275/suspend.c: Likewise.
1316 * commands/keystatus.c: Likewise.
1317 * commands/loadenv.c: Likewise.
1318 * commands/ls.c: Likewise.
1319 * commands/lsmmap.c: Likewise.
1320 * commands/lspci.c: Likewise.
1321 * commands/memrw.c: Likewise.
1322 * commands/minicmd.c: Likewise.
1323 * commands/parttool.c: Likewise.
1324 * commands/password.c: Likewise.
1325 * commands/probe.c: Likewise.
1326 * commands/read.c: Likewise.
1327 * commands/reboot.c: Likewise.
1328 * commands/search.c: Likewise.
1329 * commands/sleep.c: Likewise.
1330 * commands/test.c: Likewise.
1331 * commands/true.c: Likewise.
1332 * commands/usbtest.c: Likewise.
1333 * commands/videotest.c: Likewise.
1334 * commands/xnu_uuid.c: Likewise.
1335 * disk/loopback.c: Likewise.
1336 * hello/hello.c: Likewise.
1337 * loader/i386/bsd.c: Likewise.
1338 * term/i386/pc/serial.c: Likewise.
1339 * po/POTFILES: Add new files.
1340
da8d5c53
CW
13412010-01-02 Colin Watson <cjwatson@ubuntu.com>
1342
1343 * term/i386/pc/at_keyboard.c
1344 (keyboard_controller_wait_untill_ready): Rename to ...
1345 (keyboard_controller_wait_until_ready): ... this. Update all users.
1346
33937904 13472010-01-01 Carles Pina i Estany <carles@pina.cat>
1348
1349 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
1350 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
1351 string using string width.
1352 * normal/menu_text.c (grub_print_message_indented): Use
1353 grub_print_spaces and not print_spaces.
1354 (print_timeout): Likewise.
1355 (print_spaces): Move to...
1356 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
1357
3fd3b8d8
RM
13582010-01-01 Robert Millan <rmh.grub@aybabtu.com>
1359
1360 Import from Gnulib.
1361
1362 * gnulib/getdelim.c: New file.
1363 * gnulib/getline.c: Likewise.
1364
33433555
VS
13652009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
1366
1367 * include/grub/list.h (grub_assert_fail): Removed.
1368 (grub_bad_type_cast_real): New function.
1369 (grub_bad_type_cast): New macro.
1370 (GRUB_AS_LIST): Use grub_bad_type_cast.
1371 (GRUB_AS_LIST_P): Likewise.
e44721e8 1372 (GRUB_AS_NAMED_LIST): Likewise.
33433555 1373 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 1374 (GRUB_AS_PRIO_LIST): Likewise.
33433555 1375 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 1376 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 1377
f5a51306
VS
13782009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
1381 Fix syntax error.
1382
90d1e879
RM
13832009-12-29 Robert Millan <rmh.grub@aybabtu.com>
1384
1385 * configure.ac: Check for TARGET_CFLAGS initialization before we
1386 initialize it ourselves (sigh).
1387 Move a few modifications to TARGET_CFLAGS to be unconditional
1388 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
1389 eh_frame)
1390
1391 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
1392 * term/i386/pc/at_keyboard.c
1393 (keyboard_controller_wait_untill_ready): Likewise.
1394 (keyboard_controller_led): Rename `led_status' paramter to avoid
1395 name conflict.
1396
465b5a81 13972009-12-28 Carles Pina i Estany <carles@pina.cat>
1398
1399 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
1400 quotes.
1401
c181849b
VS
14022009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
1405
9c8739a4
VS
14062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * normal/menu_text.c (grub_print_message_indented): Prevent
1409 past-the-end-of-array dereference.
1410
3e74249c
VS
14112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
1414 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
1415
64fd18ed 14162009-12-27 Carles Pina i Estany <carles@pina.cat>
1417
1418 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
1419 * normal/main.c (grub_normal_read_line): Remove a space from the
1420 default prompt.
1421
714af9b9 14222009-12-27 Carles Pina i Estany <carles@pina.cat>
1423
1424 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
1425 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1426 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1427 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1428 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1429 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1430 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1431
82f3e412 14322009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 1433
1434 * video/readers/jpeg.c (cmd): Declare.
1435 (grub_cmd_jpegtest): Use `grub_command_t' type.
1436 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1437 Assign to `cmd'.
1438 (GRUB_MOD_FINI): Use `cmd' to unregister.
1439 * video/readers/png.c (cmd): Declare.
1440 (grub_cmd_pngtest): Use `grub_command_t' type.
1441 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1442 Assign to `cmd'.
1443 (GRUB_MOD_FINI): Use `cmd' to unregister.
1444 * video/readers/tga.c (cmd): Declare.
1445 (grub_cmd_tgatest): Use `grub_command_t' type.
1446 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1447 Assign to `cmd'.
1448 (GRUB_MOD_FINI): Use `cmd' to unregister.
1449
82f3e412 14502009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 1451
1452 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
1453 stops.
1454 * kern/corecmd.c (grub_register_core_commands): Likewise.
1455 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
1456 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1457 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
1458 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1459 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1460 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
1461 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1462 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
1463 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1464 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1465 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1466 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1467 * normal/handler.c (insert_handler): Likewise.
1468 * normal/main.c (GRUB_MOD_INIT): Likewise.
1469 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1470
fdcdbb66 14712009-12-26 Carles Pina i Estany <carles@pina.cat>
1472
1473 * commands/help.c (grub_cmd_help): Print the command name before the
1474 summary.
1475 (GRUB_MOD_INIT): Remove command name from the summary.
1476 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 1477 string as summary.
fdcdbb66 1478 * lib/arg.c (find_long): Print the command name before the summary.
1479 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
1480 summary.
1481 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
1482 * commands/cat.c (GRUB_MOD_INIT): Likewise.
1483 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
1484 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
1485 * commands/crc.c (GRUB_MOD_INIT): Likewise.
1486 * commands/date.c (GRUB_MOD_INIT): Likewise.
1487 * commands/echo.c (GRUB_MOD_INIT): Likewise.
1488 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
1489 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1490 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1491 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
1492 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
1493 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
1494 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
1495 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1496 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
1497 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
1498 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
1499 * commands/ls.c (GRUB_MOD_INIT): Likewise.
1500 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1501 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1502 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1503 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
1504 * commands/password.c (GRUB_MOD_INIT): Likewise.
1505 * commands/probe.c (GRUB_MOD_INIT): Likewise.
1506 * commands/read.c (GRUB_MOD_INIT): Likewise.
1507 * commands/search.c (GRUB_MOD_INIT): Likewise.
1508 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
1509 * commands/test.c (GRUB_MOD_INIT): Likewise.
1510 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
1511 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1512 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1513 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
1514 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1515 * lib/arg.c (GRUB_MOD_INIT): Likewise.
1516 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
1517 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1518 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1519 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1520 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1521 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
1522 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
1523 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
1524
9c288be2
VS
15252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Use search command for preliminar UUID search.
1528
1529 * commands/search.c: Split into ...
1530 * commands/search_wrap.c: ...this
1531 * commands/search.c: ...and this.
1532 * commands/search_file.c: New file.
1533 * commands/search_label.c: New file.
1534 * commands/search_uuid.c: New file.
1535 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
1536 Add commands/search_wrap.c, commands/search_file.c,
1537 commands/search_label.c and commands/search_uuid.c.
1538 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
1539 (search_mod_SOURCES): Set to commands/search_wrap.c.
1540 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
1541 search_label.mod.
1542 (search_fs_file_mod_SOURCES): New variable.
1543 (search_fs_file_mod_CFLAGS): Likewise.
1544 (search_fs_file_mod_LDFLAGS): Likewise.
1545 (search_label_mod_SOURCES): Likewise.
1546 (search_label_mod_CFLAGS): Likewise.
1547 (search_label_mod_LDFLAGS): Likewise.
1548 (search_fs_uuid_mod_SOURCES): New variable.
1549 (search_fs_uuid_mod_CFLAGS): Likewise.
1550 (search_fs_uuid_mod_LDFLAGS): Likewise.
1551 (fs_file_mod_SOURCES): Removed.
1552 (fs_file_mod_CFLAGS): Likewise.
1553 (fs_file_mod_LDFLAGS): Likewise.
1554 (fs_uuid_mod_SOURCES): Removed.
1555 (fs_uuid_mod_CFLAGS): Likewise.
1556 (fs_uuid_mod_LDFLAGS): Likewise.
1557 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
1558 Set to util/grub-install.in.
1559 * disk/fs_file.c: Removed.
1560 * disk/fs_uuid.c: Likewise.
1561 * include/grub/search.h: New file.
1562 * util/grub-install.in: Handle sparc64.
1563 Create and use load.cfg.
1564 * util/sparc64/ieee1275/grub-install.in: Removed.
1565
db943399
VS
15662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
1569 Ignore return status if CF is cleared.
1570 (grub_biosdisk_get_diskinfo_standard): Likewise.
1571
3fdae612
RM
15722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1573
1574 * term/i386/pc/at_keyboard.c
1575 (keyboard_controller_wait_untill_ready): New function.
1576 (grub_keyboard_controller_write, grub_keyboard_controller_read)
1577 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
1578 for keyboard polling, rather than duplicate the same loop. This
1579 saves a few bytes in code size.
1580
7ebaa2b4
VS
15812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Support for (pxe[:server[:gateway]]) syntax and
1584 use environment variable for PXE.
1585
1586 * commands/i386/pc/pxecmd.c (options): Removed.
1587 (print_ip): Removed.
1588 (grub_cmd_pxe): Removed
1589 (grub_cmd_pxe_unload): New function.
1590 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
1591 (grub_pxe_your_ip): Made static.
1592 (grub_pxe_default_server_ip): Likewise.
1593 (grub_pxe_default_gateway_ip): Likewise.
1594 (grub_pxe_blksize): Likewise.
1595 (parse_ip): New function.
1596 (grub_pxe_open): Support server and gateway specification.
1597 (grub_pxe_close): Free disk->data.
1598 (grub_pxefs_open): Use disk->data.
1599 (grub_pxefs_read): Likewise.
1600 (grub_env_write_readonly): New function.
1601 (set_mac_env): Likewise.
1602 (set_env_limn_ro): Likewise.
1603 (parse_dhcp_vendor): Likewise.
1604 (grub_pxe_detect): Set the environment variables.
1605 (set_ip_env): New function.
1606 (write_ip_env): Likewise.
1607 (grub_env_write_pxe_default_server): Likewise.
1608 (grub_env_write_pxe_default_gateway): Likewise.
1609 (grub_env_write_pxe_blocksize): Likewise.
1610 (GRUB_MOD_INIT(pxe)): Set environment variables.
1611 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
1612 (grub_pxe_mac_addr_t): ... this. All users updated.
1613 (grub_pxe_your_ip): Removed.
1614 (grub_pxe_server_ip): Likewise.
1615 (grub_pxe_gateway_ip): Likewise.
1616 (grub_pxe_blksize): Likewise.
1617
ec5f98ab 16182009-12-25 Carles Pina i Estany <carles@pina.cat>
1619
1620 * commands/help.c: Include `<grub/i18n.h>'.
1621 (grub_cmd_help): Gettextizze.
1622 (GRUB_MOD_INIT): Likewise.
1623 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
1624 (GRUB_MOD_INIT): Gettextizze.
1625 * commands/search.c: Include `<grub/i18n.h>'.
1626 (options): Gettextizze.
1627 (GRUB_MOD_INIT): Gettextizze.
1628 * lib/arg.c: Include `<grub/i18n.h>'.
1629 (help_options): Gettextizze.
1630 (find_long): Likewise.
1631 (grub_arg_show_help): Likewise.
1632 * normal/dyncmd.c: Include `<grub/i18n.h>'.
1633 (read_command_list): Gettextizze.
1634 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 1635 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 1636
22815526
RM
16372009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1638
1639 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
1640 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
1641 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
1642 (led_status): New variable.
1643 (keyboard_controller_led): New function.
1644 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
1645 update led status for caps lock, num lock and scroll lock.
1646
0ad46fd7
FZ
16472009-12-25 Felix Zielcke <fzielcke@z-51.de>
1648
1649 * util/hostdisk.c (open_device): Fix a comment.
1650
d0e158c2
RM
16512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1652
1653 * util/grub-install.in (host_os): New variable.
1654 * util/i386/efi/grub-install.in (host_os): Likewise.
1655
401c0ad6
RM
16562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1657
1658 * util/mkisofs/write.c (padblock_write): Abort when given an
1659 excedingly large embed image, instead of silently truncating it.
1660
d14d3370
RM
16612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1662
1663 * include/multiboot.h: Indentation fixes.
1664
eeed10b4
RM
16652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1666
1667 * include/multiboot.h (struct multiboot_aout_symbol_table)
1668 (struct multiboot_elf_section_header_table): New structure
1669 declarations (stolen from GRUB Legacy).
1670 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
1671 table information.
1672
1673 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
1674 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
1675 type aliases.
1676
681c70ab
RM
16772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1678
1679 * include/multiboot.h: Make comments src2texi-friendly.
1680
e4d47d8d
RM
16812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1682
1683 For consistency with [multiboot]/docs/boot.S.
1684
1685 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
1686 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
1687 (MULTIBOOT_MAGIC2): Rename from this ...
1688 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
1689
a0b70bda
RM
16902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1691
1692 * include/multiboot.h: Remove `<grub/types.h>'.
1693 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
1694 types. Update all users.
1695
61ba42be 16962009-12-25 Carles Pina i Estany <carles@pina.cat>
1697
1698 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
1699 `couldn't' and `can not' by `cannot'.
1700 * commands/i386/pc/drivemap.c: Likewise.
1701 * disk/ata.c: Likewise.
1702 * disk/ieee1275/nand.c: Likewise.
1703 * fs/affs.c: Likewise.
1704 * fs/fat.c: Likewise.
1705 * fs/hfs.c: Likewise.
1706 * fs/hfsplus.c: Likewise.
1707 * fs/iso9660.c: Likewise.
1708 * fs/jfs.c: Likewise.
1709 * fs/minix.c: Likewise.
1710 * fs/reiserfs.c: Likewise.
1711 * fs/sfs.c: Likewise.
1712 * fs/udf.c: Likewise.
1713 * fs/ufs.c: Likewise.
1714 * fs/xfs.c: Likewise.
1715 * loader/powerpc/ieee1275/linux.c: Likewise.
1716 * loader/sparc64/ieee1275/linux.c: Likewise.
1717 * util/grub-probe.c: Likewise.
1718 * util/misc.c: Likewise.
1719
7fd0baee 17202009-12-24 Carles Pina i Estany <carles@pina.cat>
1721
1722 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1723 grub_errno calls.
1724 * commands/acpi.c: Likewise.
1725 * commands/blocklist.c: Likewise.
1726 * commands/efi/loadbios.c: Likewise.
1727 * commands/i386/pc/drivemap.c: Likewise.
1728 * commands/loadenv.c: Likewise.
1729 * commands/memrw.c: Likewise.
1730 * commands/password.c: Likewise.
1731 * commands/videotest.c: Likewise.
1732 * disk/ata.c: Likewise.
1733 * disk/ata_pthru.c: Likewise.
1734 * disk/dmraid_nvidia.c: Likewise.
1735 * disk/ieee1275/nand.c: Likewise.
1736 * disk/ieee1275/ofdisk.c: Likewise.
1737 * disk/loopback.c: Likewise.
1738 * disk/lvm.c: Likewise.
1739 * disk/mdraid_linux.c: Likewise.
1740 * disk/raid.c: Likewise.
1741 * disk/raid6_recover.c: Likewise.
1742 * disk/scsi.c: Likewise.
1743 * efiemu/main.c: Likewise.
1744 * efiemu/mm.c: Likewise.
1745 * efiemu/pnvram.c: Likewise.
1746 * efiemu/symbols.c: Likewise.
1747 * font/font.c: Likewise.
1748 * fs/cpio.c: Likewise.
1749 * fs/hfsplus.c: Likewise.
1750 * fs/iso9660.c: Likewise.
1751 * fs/jfs.c: Likewise.
1752 * fs/minix.c: Likewise.
1753 * fs/ntfs.c: Likewise.
1754 * fs/ntfscomp.c: Likewise.
1755 * fs/reiserfs.c: Likewise.
1756 * fs/ufs.c: Likewise.
1757 * fs/xfs.c: Likewise.
1758 * gettext/gettext.c: Likewise.
1759 * include/grub/auth.h: Likewise.
1760 * kern/elf.c: Likewise.
1761 * kern/file.c: Likewise.
1762 * kern/ieee1275/init.c: Likewise.
1763 * kern/ieee1275/mmap.c: Likewise.
1764 * kern/ieee1275/openfw.c: Likewise.
1765 * kern/powerpc/dl.c: Likewise.
1766 * kern/sparc64/dl.c: Likewise.
1767 * lib/arg.c: Likewise.
1768 * loader/i386/bsd.c: Likewise.
1769 * loader/i386/bsdXX.c: Likewise.
1770 * loader/i386/efi/linux.c: Likewise.
1771 * loader/i386/efi/xnu.c: Likewise.
1772 * loader/i386/ieee1275/linux.c: Likewise.
1773 * loader/i386/linux.c: Likewise.
1774 * loader/i386/multiboot.c: Likewise.
1775 * loader/i386/pc/linux.c: Likewise.
1776 * loader/i386/pc/multiboot2.c: Likewise.
1777 * loader/i386/xnu.c: Likewise.
1778 * loader/ieee1275/multiboot2.c: Likewise.
1779 * loader/macho.c: Likewise.
1780 * loader/machoXX.c: Likewise.
1781 * loader/multiboot2.c: Likewise.
1782 * loader/multiboot_loader.c: Likewise.
1783 * loader/powerpc/ieee1275/linux.c: Likewise.
1784 * loader/sparc64/ieee1275/linux.c: Likewise.
1785 * loader/xnu.c: Likewise.
1786 * loader/xnu_resume.c: Likewise.
1787 * mmap/i386/pc/mmap.c: Likewise.
1788 * normal/menu_viewer.c: Likewise.
1789 * partmap/acorn.c: Likewise.
1790 * partmap/amiga.c: Likewise.
1791 * partmap/apple.c: Likewise.
1792 * script/lexer.c: Likewise.
1793 * term/gfxterm.c: Likewise.
1794 * term/i386/pc/serial.c: Likewise.
1795 * term/i386/pc/vga.c: Likewise.
1796 * term/ieee1275/ofconsole.c: Likewise.
1797 * term/terminfo.c: Likewise.
1798 * video/bitmap.c: Likewise.
1799 * video/efi_gop.c: Likewise.
1800 * video/efi_uga.c: Likewise.
1801 * video/fb/video_fb.c: Likewise.
1802 * video/i386/pc/vbe.c: Likewise.
1803 * video/readers/tga.c: Likewise.
1804 * video/video.c: Likewise.
1805
0ad46fd7 18062009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
1807
1808 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
1809 * commands/lspci.c: Likewise.
1810 * commands/probe.c: Likewise.
1811 * commands/xnu_uuid.c: Likewise.
1812 * conf/i386-coreboot.rmk: Likewise.
1813 * conf/i386-efi.rmk: Likewise.
1814 * conf/i386-ieee1275.rmk: Likewise.
1815 * conf/i386-pc.rmk: Likewise.
1816 * conf/powerpc-ieee1275.rmk: Likewise.
1817 * conf/sparc64-ieee1275.rmk: Likewise.
1818 * conf/x86_64-efi.rmk: Likewise.
1819 * fs/i386/pc/pxe.c: Likewise.
1820 * gettext/gettext.c: Likewise.
1821 * include/grub/efi/graphics_output.h: Likewise.
1822 * include/grub/i386/pc/memory.h: Likewise.
1823 * kern/env.c: Likewise.
1824 * kern/i386/qemu/startup.S: Likewise.
1825 * lib/i386/pc/biosnum.c: Likewise.
1826 * lib/i386/relocator.c: Likewise.
1827 * lib/i386/relocator_asm.S: Likewise.
1828 * lib/relocator.c: Likewise.
1829 * loader/i386/bsd.c: Likewise.
1830 * loader/i386/multiboot.c: Likewise.
1831 * loader/i386/pc/chainloader.c: Likewise.
1832 * loader/i386/xnu.c: Likewise.
1833 * loader/xnu.c: Likewise.
1834 * normal/main.c: Likewise.
1835 * normal/menu_text.c: Likewise.
1836 * util/getroot.c: Likewise.
1837 * util/grub-mkconfig_lib.in: Likewise.
1838 * util/grub.d/00_header.in: Likewise.
1839 * util/i386/pc/grub-mkimage.c: Likewise.
1840 * util/mkisofs/eltorito.c: Likewise.
1841 * util/mkisofs/exclude.h: Likewise.
1842 * util/mkisofs/hash.c: Likewise.
1843 * util/mkisofs/iso9660.h: Likewise.
1844 * util/mkisofs/joliet.c: Likewise.
1845 * util/mkisofs/mkisofs.c: Likewise.
1846 * util/mkisofs/mkisofs.h: Likewise.
1847 * util/mkisofs/multi.c: Likewise.
1848 * util/mkisofs/name.c: Likewise.
1849 * util/mkisofs/rock.c: Likewise.
1850 * util/mkisofs/tree.c: Likewise.
1851 * util/mkisofs/write.c: Likewise.
1852 * video/efi_gop.c: Likewise.
1853
009ec743
VS
18542009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
1857 size counting.
1858
0ad46fd7 18592009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
1860
1861 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
1862 * genmk.rb (class SCRIPT): Modify the target file instead of source.
1863
d3d30ea0
VS
18642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
1867 (GRUB_MOD_INIT(memrw)): Update help line.
1868
a34f5c70
VS
18692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
1872 Use grub_extcmd_t. All users updated.
1873 (options): New variable.
1874 (grub_cmd_read): Restructure for readability. Support "-v" option.
1875 (grub_cmd_write): Restructure for readability.
1876
0ad46fd7 18772009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
1878
1879 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
1880
0ad46fd7 18812009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
1882
1883 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
1884 with the actual contents of the correspondending make variable.
1885 * util/grub-mkrescue.in (pkglib_DATA): New variable.
1886 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
1887 specifying `*.lst' and `efiemu??.o'
1888
0ad46fd7 18892009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
1890
1891 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
1892 after function name.
1893 Noticed by Rene Engelhard <rene@debian.org>.
1894
dc77a799
VS
18952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
1898 (options): New variable.
1899 (iospace): Likewise.
1900 (grub_lspci_iter): List IO spaces if "-i" was given.
1901 (grub_cmd_lspci): Parse options.
1902 (GRUB_MOD_INIT(lspci)): Use extcmd.
1903 (GRUB_MOD_FINI(lspci)): Likewise.
1904
0ad46fd7 19052009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
1906
1907 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
1908 `function' keyword.
1909 Patch by Tony Mancill <tmancill@debian.org>.
1910
b5d5993b
VS
19112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
1914 (grub_uhci_portstatus): Likewise.
1915 (grub_uhci_portstatus): Add necessary delay.
11d18281 1916 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 1917
941903f2 19182009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 1919
941903f2 1920 * commands/acpi.c (options): Fix capitalizations and/or full stops.
1921 (GRUB_MOD_INIT): Likewise.
1922 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 1923 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
1924 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 1925 * commands/efi/loadbios.c (enable_rom_area): Likewise.
1926 (enable_rom_area): Likewise.
1927 (GRUB_MOD_INIT): Likewise.
1928 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1929 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
1930 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1931 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
1932 * commands/hexdump.c (options): Likewise.
1933 * commands/i386/cpuid.c (options): Likewise.
1934 (GRUB_MOD_INIT): Likewise.
1935 * commands/i386/pc/drivemap.c (options): Likewise.
1936 (GRUB_MOD_INIT): Likewise.
1937 * commands/i386/pc/halt (options): Likewise.
1938 (GRUB_MOD_INIT): Likewise.
1939 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1940 * commands/i386/pc/pxecmd.c (options): Likewise.
1941 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
1942 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
1943 * commands/keystatus.c (options): Likewise.
1944 (GRUB_MOD_INIT): Likewise.
1945 * commands/loadenv.c (options): Likewise.
1946 * commands/ls.c (options): Likewise.
1947 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1948 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1949 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1950 * commands/parttool.c (helpmsg): Likewise.
1951 * commands/probe.c (options): Likewise.
1952 * commands/read.c (GRUB_MOD_INIT): Likewise.
1953 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
1954 * commands/search.c (options): Likewise.
1955 * commands/sleep.c (options): Likewise.
1956 * commands/test.c (GRUB_MOD_INIT): Likewise.
1957 * commands/true.c (GRUB_MOD_INIT): Likewise.
1958 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
1959 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
1960 * lib/arg.c (help_options): Likewise.
e9bbb4e7 1961 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
1962 `$(XGETTEXT)'.
98a50553 1963 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 1964
0ad46fd7 19652009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 1966
ef3c2c3a 1967 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
1968 instead of specifying them explicit.
1969
7922f68b
RM
19702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1971
1972 * NEWS: Add grub-probe support for GNU/Hurd.
1973
537ce47f
RM
19742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1975
1976 * NEWS: gettext was added after 1.97.
1977
9b214e3a
RM
19782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1979
1980 * util/mkisofs/msdos_partition.h: New file (based on
1981 include/grub/msdos_partition.h).
1982 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
1983 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
1984 (ld_options, main): Recognize --protective-msdos-label.
1985 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
1986 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
1987 (padblock_write): If `use_protective_msdos_label' is set, patch a
1988 protective DOS-style label in the output image.
1989
1990 * util/grub-mkrescue.in: Use --protective-msdos-label.
1991
e9309813
RM
19922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1993
1994 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
1995 boot.
1996
0ae56929
RM
19972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
1998
1999 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2000 variables.
2001 (ld_options, main): Recognize `--embedded-boot'.
2002 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2003 declarations.
2004 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2005 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2006 (padblock_write): Likewise. Rewrite to support embedded boot image.
2007
2008 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2009 for BIOS-based disk boot instead of only ElTorito.
2010
b15937b1
RM
20112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2012
2013 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2014 build (not needed for bootstrap).
2015
52cc3ce0
RM
20162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2017
2018 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2019 from i386-pc build (not needed for bootstrap).
2020 Rewrite a pair of strings.
2021
36f5ff04
RM
20222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2023
2024 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2025
973c6c85 20262009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2027
2028 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2029
05d21547
AB
20302009-12-21 Andreas Born <futur.andy@googlemail.com>
2031
2032 * kern/env.c (grub_env_context_open): Mark exported variable for
2033 reexport.
2034
0175d51f
AB
20352009-12-21 Andreas Born <futur.andy@googlemail.com>
2036
2037 * kern/env.c (grub_env_export): Create nonexistent variables before
2038 exporting.
2039
7f39d92f 20402009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2041
7f39d92f 2042 * include/grub/auth.h: Include `<grub/i18n.h>'.
2043 (GRUB_GET_PASSWORD): Gettextizze string.
2044 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2045 menu_text.c.
2046 (grub_utf8_to_ucs4_alloc): Fix indentation.
2047 (grub_print_ucs4): Likewise.
2048 (grub_getstringwidth): Likewise.
2049 (print_message_indented): New declaration.
2050 * normal/auth.c: Include `<grub/i18n.h>'.
2051 (grub_auth_check_authentication): Gettexttize string.
2052 * normal/cmdline.c: Include `<grub/i18n.h>'.
2053 (grub_cmdline_get): Gettextizze.
2054 * normal/color.c: Include `<grub/i18n.h>'.
2055 (grub_parse_color_name_pair): Gettexttize strings.
2056 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2057 string (use `print_message_indented').
2058 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2059 `include/grub/normal.h'.
2060 (print_message_indented): Renamed to ...
2061 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2062 used in normal/main.c).
2063 (print_message): Use `grub_print_message_indented' instead of
2064 `print_message_indented'.
2065 (print_timeout): Likewise.
2066 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2067 (grub_normal_print_device_info): Gettexttize strings.
2068 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2069
3041d898
VS
20702009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2073 of arguments. Return number of tokens and not arguments. All users
2074 updated.
2075
de15bf8e
VS
20762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2079 non-MSDOS paritions.
2080
e0a6ca52
VS
20812009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * include/grub/types.h (UNUSED): Removed since it conflicts with
2084 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2085 Reported by Grégoire Sutre.
2086
b99518d1 20872009-12-19 Carles Pina i Estany <carles@pina.cat>
2088
2089 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2090 (grub_print_ucs4_alloc): Likewise.
2091 (grub_getstringwidth): Likewise.
2092 * normal/main.c (grub_normal_init_page): Gettextize version string.
2093 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2094 (getstringwidth): Renamed to ...
2095 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2096 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2097 (grub_print_ucs4): Remove `static' qualifer (now used in
2098 normal/main.c).
2099 * po/POTFILES: Add normal/main.c.
2100
bfd5e52b 21012009-12-19 Carles Pina i Estany <carles@pina.cat>
2102
2103 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2104 (print_message_indented): Add `margin_left' and `margin_right'
2105 parameters.
2106 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2107 strings.
2108 (print_timeout): Use `print_message_indented' to print the message.
2109 Deletes `second_stage' parameter.
2110 (run_menu): Update `print_timeout' calls.
2111
5a1ad2b9
VS
21122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Fix console palette on OpenFirmware.
2115
2116 * term/ieee1275/ofconsole.c (MAX): Removed.
2117 (colors): Redone based on VGA palette.
2118 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2119 colors are supported.
2120 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2121
b045f00a
VS
21222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 Fix potential EfiEmu double prepare.
2125
2126 * efiemu/main.c (prepared): New variable
2127 (grub_efiemu_unload): Set prepare to '0'.
2128 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2129
2130 set_virtual_address_map support.
2131
2132 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2133 prototype.
2134 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2135 prototype.
2136 (grub_efiemu_crc32): Likewise.
2137 (grub_efiemu_crc64): Likewise.
2138 (grub_efiemu_set_virtual_address_map): Likewise.
2139 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2140 New definition.
2141 (grub_autoefi_set_virtual_address_map): Likewise.
2142 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2143 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2144 Restructure flow to accomodate it.
2145 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2146 (grub_efiemu_crc): Recompute CRC32.
2147 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2148 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2149 * efiemu/symbols.c (relocated_handle): New variable.
2150 (grub_efiemu_free_syms): Free relocated_handle.
2151 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2152 (grub_efiemu_write_sym_markers): New function.
2153 (grub_efiemu_set_virtual_address_map): Likewise.
2154
2155 Newer XNU parameters.
2156
2157 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2158 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2159 (grub_xnu_fill_devicetree): New prototype.
2160 (grub_xnu_heap_real_start): New variable.
2161 * loader/xnu.c (get_name_ptr): New function.
2162 (grub_xnu_load_driver): Fill namelen and name.
2163
2164 64-bit xnu support.
2165
2166 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2167 and 'loader/macho64.c'.
2168 * conf/i386-pc.rmk: Likewise.
2169 * conf/x86_64-efi.rmk: Likewise.
2170 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2171 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2172 * include/grub/macho.h (grub_macho_segment64): New structure.
2173 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2174 (grub_macho_size32): ... to this.
2175 (grub_macho32_get_entry_point): Renamed from ...
2176 (grub_macho_get_entry_point32): ... to this.
2177 (grub_macho_contains_macho64): New prototype.
2178 (grub_macho_size64): Likewise.
2179 (grub_macho_get_entry_point64): Likewise.
2180 (grub_macho32_load): Renamed from ...
2181 (grub_macho_load32): ... to this.
2182 (grub_macho32_filesize): Renamed from ...
2183 (grub_macho_filesize32): ... to this.
2184 (grub_macho32_readfile): Renamed from ...
2185 (grub_macho_readfile32): ... to this.
2186 (grub_macho_filesize64): New prototype.
2187 (grub_macho_readfile64): Likewise.
2188 (grub_macho_parse32): Likewise.
2189 (grub_macho_parse64): Likewise.
2190 * loader/macho.c: Split into ...
2191 * loader/machoXX.c: ... and this. Replace 32 with XX.
2192 * loader/macho32.c: New file.
2193 * loader/macho64.c: Likewise.
2194 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2195 (grub_cmd_xnu_kernel): Make 32-bit only.
2196 (grub_cmd_xnu_kernel64): New function.
2197 (grub_xnu_load_driver): Support Mach-O 64.
2198 (grub_cmd_xnu_mkext): Likewise.
2199 * util/grub.d/30_os-prober.in (osx_entry): New function.
2200 Generate entries for 64-bit boot too.
2201
2202 Eliminate ad-hoc tree format in XNU and EfiEmu.
2203
2204 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2205 * efiemu/pnvram.c: Rewritten to use environment variables.
2206 All users updated.
2207
2208 Inline utf16_to_utf8.
2209
2210 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2211 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2212 All users updated.
2213 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2214
2215 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2216 * commands/usbtest.c (grub_usb_get_string): ... move here.
2217 (usb_print_str): Fix error handling.
2218 * include/grub/usb.h (grub_usb_get_string): Remove.
2219
2220 UTF-8 to UTF-16 transformation.
2221
2222 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2223 (charset_mod_SOURCES): New variable.
2224 (charset_mod_CFLAGS): Likewise.
2225 (charset_mod_LDFLAGS): Likewise.
2226 * include/grub/utf.h: New file.
2227 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2228
2229 Support for device properties.
2230
2231 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2232 (grub_xnu_devprop_device_header): Likewise.
2233 (grub_xnu_devprop_device_descriptor): Likewise.
2234 (grub_xnu_devprop_add_device): New prototype.
2235 (grub_xnu_devprop_remove_device): Likewise.
2236 (grub_xnu_devprop_remove_property): Likewise.
2237 (grub_xnu_devprop_add_property_utf8): Likewise.
2238 (grub_xnu_devprop_add_property_utf16): Likewise.
2239 (grub_cpu_xnu_init): Likewise.
2240 (grub_cpu_xnu_fini): Likewise.
2241 (grub_cpu_xnu_unload): Likewise.
2242 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2243 (property_descriptor): Likewise.
2244 (devices): New variable.
2245 (grub_xnu_devprop_remove_property): New function.
2246 (grub_xnu_devprop_add_device): Likewise.
2247 (grub_xnu_devprop_remove_device): Likewise.
2248 (grub_xnu_devprop_add_property): Likewise.
2249 (grub_xnu_devprop_add_property_utf8): Likewise.
2250 (grub_xnu_devprop_add_property_utf16): Likewise.
2251 (hextoval): Likewise.
2252 (grub_cpu_xnu_fill_devprop): Likewise.
2253 (grub_cmd_devprop_load): Likewise.
2254 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2255 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2256 (cmd_devprop_load): New variable.
2257 (grub_cpu_xnu_init): New function.
2258 (grub_cpu_xnu_fini): Likewise.
2259 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2260 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2261 (grub_cmd_xnu_devtree): Likewise.
2262 (hextoval): New function.
2263 (unescape): Likewise.
2264 (grub_xnu_fill_devicetree): Likewise.
2265
2266 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2267 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2268
0945f181
VS
22692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Workaround for broken ATI VBE.
2272
2273 * video/i386/pc/vbe.c (last_set_mode): New variable.
2274 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2275 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2276 (grub_video_vbe_setup): Don't check for reserved flag.
2277
0ad46fd7 22782009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2279
2280 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2281 the `find' command.
2282
c179ebe4
VS
22832009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 UUID support for HFS.
2286
2287 * fs/hfs.c (grub_hfs_uuid): New function.
2288 (grub_hfs_fs): New value .uuid.
2289 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2290
0ad46fd7 22912009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2292
2293 Fix a segfault with parsing unknown long options.
2294
2295 * util/grub-mkrelpath.c (options): Zero terminate it.
2296
c4a3e41a
CPE
22972009-12-13 Carles Pina i Estany <carles@pina.cat>
2298
2299 * include/grub/misc.h (grub_puts): New declaration.
2300 (grub_puts_): Likewise.
a22008a6 2301 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2302 (grub_puts_): Likewise.
2303
2e8a7602
RM
23042009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2305
2306 * util/grub-probe.c (probe): Improve error message.
2307
b50b77b9
RM
23082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2309
2310 * loader/i386/multiboot_elfxx.c
2311 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2312 initialization.
2313
23142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Relocator framework
2317
2318 * loader/i386/xnu_helper.S: Removed. All users updated.
2319 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2320 (relocator_mod_SOURCES): New variable.
2321 (relocator_mod_CFLAGS): Likewise.
2322 (relocator_mod_LDFLAGS): Likewise.
2323 (relocator_mod_ASFLAGS): Likewise.
2324 * conf/x86_64.rmk: Likewise.
2325 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2326 (grub_multiboot_payload_entry_offset): Likewise.
2327 (grub_multiboot_forward_relocator): Likewise.
2328 (grub_multiboot_forward_relocator_end): Likewise.
2329 (grub_multiboot_backward_relocator): Likewise.
2330 (grub_multiboot_backward_relocator_end): Likewise.
2331 (grub_multiboot_payload_eip): New variable.
2332 (grub_multiboot_payload_orig): Likewise.
2333 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2334 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2335 * include/grub/i386/memory.h
2336 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2337 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2338 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2339 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2340 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
2341 * include/grub/i386/relocator.h: New file.
2342 * include/grub/x86_64/relocator.h: Likewise.
2343 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
2344 (XNU_RELOCATOR): New macro.
2345 (grub_xnu_launcher_start): Remove.
2346 (grub_xnu_launcher_end): Likewise.
2347 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
2348 (grub_xnu_heap_real_start): Remove.
2349 (grub_xnu_heap_start): Change to void *. All users updated.
2350 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
2351 * lib/i386/relocator.c: New file.
2352 * lib/i386/relocator_asm.S: Likewise.
2353 * lib/i386/relocator_backward.S: Likewise.
2354 * lib/mips/relocator.c: Likewise.
2355 * lib/mips/relocator_asm.S: Likewise.
2356 * lib/relocator.c: Likewise.
2357 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
2358 (entry): Removed.
2359 (playground): Likewise.
2360 (grub_multiboot_payload_orig): New variable.
2361 (grub_multiboot_payload_dest): Likewise.
2362 (grub_multiboot_payload_size): Likewise.
2363 (grub_multiboot_payload_eip): Likewise.
2364 (grub_multiboot_payload_esp): Likewise.
2365 (grub_multiboot_boot): Use grub_relocator32_boot.
2366 (grub_multiboot_unload): Free relocators.
2367 (grub_multiboot): Setup stack. Use relocators.
2368 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
2369 (grub_multiboot_load_elfXX): Use relocators.
2370 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
2371 (grub_multiboot_payload_size): Likewise.
2372 (grub_multiboot_payload_dest): Likewise.
2373 (grub_multiboot_payload_entry_offset): Likewise.
2374 (grub_multiboot_forward_relocator): Likewise.
2375 (grub_multiboot_backward_relocator): Likewise.
2376 (grub_multiboot_real_boot): Likewise.
2377 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
2378 (grub_xnu_entry_point): Likewise.
2379 (grub_xnu_arg1): Likewise.
2380 (grub_xnu_stack): Likewise.
2381 (grub_xnu_launch): Removed.
2382 (grub_xnu_boot_resume): New function.
2383 (grub_xnu_boot): Use relocators.
2384 * loader/i386/xnu_helper.S: Removed.
2385 * loader/xnu.c (grub_xnu_heap_start): New variable.
2386 (grub_xnu_heap_size): Likewise.
2387 (grub_xnu_heap_malloc): Use relocators.
2388 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
2389
29eb90c6
VS
23902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
2393 anything.
2394
31027430
CPE
23952009-12-13 Carles Pina i Estany <carles@pina.cat>
2396
2397 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
2398 GRUB_ERR_NONE before calling grub_env_set.
2399
dc0c71d9
RM
24002009-12-12 Robert Millan <rmh@aybabtu.com>
2401
2402 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
2403 * genmk.rb (video): New variable.
2404 (CLEANFILES, VIDEOFILES): Add #{video}.
2405 (#{video}): New target rule.
2406 * genvideolist.sh: New file.
2407 * Makefile.in (pkglib_DATA): Add video.lst.
2408 (video.lst): New target rule.
2409 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
2410 `video.lst'.
2411 * util/grub.d/30_os-prober.in: Replace `vbe' with
2412 ${GRUB_VIDEO_BACKEND}.
2413
2a4bfcf0
RM
24142009-12-11 Robert Millan <rmh.grub@aybabtu.com>
2415
2416 * THANKS: Add David Miller.
2417
2a3aa4d5
RM
24182009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 libpciaccess support.
2421
2422 * Makefile.in (LIBPCIACCESS): New variable.
2423 (enable_grub_emu_pci): Likewise.
2424 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
2425 util/pci.c and commands/lspci.c.
2426 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
2427 * configure.ac (grub-emu-pci): New option.
2428 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
2429 (grub_pci_device_unmap_range): Likewise.
2430 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
2431 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
2432 (grub_pci_address_t) [!GRUB_UTIL]: New type.
2433 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
2434 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
2435 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
2436 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
2437 * include/grub/pciutils.h: New file.
2438 * util/pci.c: Likewise.
2439
0ad46fd7 24402009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
2441
2442 * util/misc.c: Don't include <errno.h> twice.
2443
0ad46fd7 24442009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
2445
2446 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
2447 name in an error message.
2448 (grub_biosdisk_rw): Likewise.
2449
2e59983c
VS
24502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Eliminate NTFS 4Gib barrier.
2453
2454 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
2455 (read_run_data): Likewise.
2456 (grub_ntfs_read_run_list): Likewise.
2457 (grub_ntfs_read_block): Likewise.
2458 (grub_ntfs_iterate_dir): Likewise.
2459 (read_mft): Likewise.
2460 (read_data): Likewise.
2461 Use COM_LOG_LEN.
2462 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
2463 to avoid 64-bit division
2464 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
2465 (grub_ntfs_rlst): Use grub_disk_addr_t.
2466
71ee178a
VS
24672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Eliminate grub-fstest 4Gib barrier.
2470
2471 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
2472 (read_file): Fix error reporting.
2473
2520d4b8
VS
24742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Eliminate hexdump 4Gib barrier.
2477
2478 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
2479 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
2480
e1f27065
VS
24812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
2484 Fixes amarsh bug.
2485
1a0f7f45
RM
24862009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
2487
2488 Remove miscellaneous files in distclean target.
2489
2490 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2491
c631d9fb
CW
24922009-12-09 Colin Watson <cjwatson@ubuntu.com>
2493
2494 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
2495 if they're already set. This resolves the conflict between my
2496 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
2497 fixing the --grub-probe option again.
2498 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
2499 change on 2009-10-06, so that we now once again source
2500 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2501
7c7b6106
RM
25022009-12-08 Robert Millan <rmh.grub@aybabtu.com>
2503
2504 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
2505 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
2506 `util/devicemap.c'.
2507
e3069ec1
CPE
25082009-12-08 Carles Pina i Estany <carles@pina.cat>
2509
2510 * include/grub/misc.h (grub_printf_): New declaration.
2511 * kern/misc.c (grub_printf_): New definition.
2512 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
2513 instead of `grub_printf' and `_'.
2514 * normal/menu_entry.c (store_completion): Likewise.
2515 (run): Likewise.
2516 (grub_menu_entry_run): Likewise.
2517 * normal/menu_text.c (grub_wait_after_message): Likewise.
2518 (notify_booting): Likewise.
2519 (notify_fallback): Likewise.
2520 (notify_execution_failure): Likewise.
2521
d6ceebf1
CW
25222009-12-07 Colin Watson <cjwatson@ubuntu.com>
2523
2524 * configure.ac: Check for vasprintf.
2525 * util/misc.c (asprintf): Move allocation from here ...
2526 (vasprintf): ... to here. New function.
2527 (xasprintf): New function.
2528 * include/grub/util/misc.h (vasprintf, xasprintf): Add
2529 prototypes.
2530 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2531 * util/grub-mkfont.c (write_font): Likewise.
2532 * util/grub-probe.c (probe): Likewise.
2533 * util/hostdisk.c (make_device_name): Likewise.
2534
de6daa8b
DM
25352009-12-06 David S. Miller <davem@sunset.davemloft.net>
2536
2537 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
2538 anything even prefixed with 'cdrom' as a cdrom.
2539
0ad46fd7 25402009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
2541
2542 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
2543 mount points.
2544
98d3dc02
CPE
25452009-12-05 Carles Pina i Estany <carles@pina.cat>
2546
2547 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
2548 grub_gettext_msg_list.
2549 (grub_gettext_gettranslation_from_position): Return const char *
2550 and not char *.
a2c1332b 2551 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
2552 returns from the list if existing there.
2553 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
2554 (grub_gettext_delete_list): Delete the list.
2555 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
2556 lang environment variable is changed.
2557 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
2558
b283f108
VS
25592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 Rename kernel.mod to kernel.img.
2562
2563 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
2564 (kernel_mod_EXPORTS): Rename to ...
2565 (kernel_img_EXPORTS): ... this.
2566 (kernel_mod_SOURCES): Rename to ...
2567 (kernel_img_SOURCES): ... this.
2568 (kernel_mod_HEADERS): Rename to ...
2569 (kernel_img_HEADERS): ... this. All users updated.
2570 (kernel_mod_CFLAGS): Rename to ...
2571 (kernel_img_CFLAGS): ... this.
2572 (kernel_mod_ASFLAGS): Rename to ...
2573 (kernel_img_ASFLAGS): ... this.
2574 (kernel_mod_LDFLAGS): Rename to ...
2575 (kernel_img_LDFLAGS): ... this.
2576 * conf/x86_64-efi.rmk: Likewise.
2577 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
2578 (read_kernel_image): ... this. All users updated.
2579 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
2580
69055f8a
CPE
25812009-12-05 Carles Pina i Estany <carles@pina.cat>
2582
2583 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
2584 (print_spaces): New function.
2585 (grub_print_ucs4): New function.
2586 (getstringwidth): New function.
2587 (print_message_indented): New function.
2588 (print_message): Gettexttize strings using print_message_indented.
2589 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
2590 width.
2591 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 2592 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
2593 Gettextize.
2594 * normal/menu_entry.c (store_completion): Cleanup the gettextized
2595 string.
2596 (run): Likewise.
2597 (grub_menu_entry_run): Likewise.
2598 * PO/POTFILES: Add normal/menu_entry.c.
2599
f616f51c
VS
26002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
2603
57bbe3be
CPE
26042009-12-05 Carles Pina i Estany <carles@pina.cat>
2605
2606 * util/grub-install.in: Install gettext .mo files.
2607 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
2608
013d67a1
CPE
26092009-12-05 Carles Pina i Estany <carles@pina.cat>
2610
2611 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
2612 grub_dprintf.
2613
fb954db0
RM
26142009-12-05 Robert Millan <rmh.grub@aybabtu.com>
2615
2616 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
2617 non-firmware-dependant one in realmode.S takes precedence.
2618
6b8474f8
RM
26192009-12-04 Robert Millan <rmh.grub@aybabtu.com>
2620
2621 * commands/halt.c: Replace misc arch-specific headers with
2622 `<grub/misc.h>'.
2623 * commands/reboot.c: Likewise.
2624 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
2625 `<grub/misc.h>'.
2626 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
2627 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
2628 (kernel_img_SOURCES): ... to here.
2629
2630 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
2631 * include/grub/i386/pc/init.h: Likewise.
2632 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2633 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2634
2635 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
2636
2637 * include/grub/i386/halt.h: Remove.
2638 * include/grub/i386/reboot.h: Likewise.
2639
2640 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2641
4b2e6ca2
DM
26422009-12-03 David S. Miller <davem@sunset.davemloft.net>
2643
2644 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
2645 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
2646 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
2647 "progname.h"
2648 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2649 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2650 (usage): Add missing comma in printf.
2651
5239348f
RM
26522009-12-02 Robert Millan <rmh.grub@aybabtu.com>
2653
2654 Use the same reboot approach on i386 coreboot and qemu as we do on
2655 BIOS.
2656
2657 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
2658 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
2659 * kern/i386/reboot.c: Remove.
2660 * include/grub/i386/reboot.h (grub_reboot): Export function.
2661 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
2662 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
2663 0xf000:0xfff0 instead of 0xffff:0x0000.
2664 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
2665 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
2666
ef34cbd4
RM
26672009-11-30 Robert Millan <rmh.grub@aybabtu.com>
2668
2669 Fix $srcdir != $objdir build.
2670
2671 * Makefile.in (po/%.po): Rewrite as ...
2672 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
2673
dc9837ea
ST
26742009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
2675
2676 Fix GNU/Hurd grub-install crash.
2677 * util/grub-probe.c (probe): Try to access `path' only when it is not
2678 NULL.
2679
2f857f98
VS
26802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Correct module naming.
2683
2684 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2685 (GRUB_MOD_INIT(efi_uga)): ... to this
2686 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2687 (GRUB_MOD_FINI(efi_uga)): ... to this
2688 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2689 (GRUB_MOD_INIT(efi_gop)): ... to this
2690 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2691 (GRUB_MOD_FINI(efi_gop)): ... to this
2692
c5448046
RM
26932009-11-28 Robert Millan <rmh.grub@aybabtu.com>
2694
2695 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
2696 translatable.
2697 (usage): Translate `arg' strings using gettext().
2698 Thanks to Jordi Mallach for the suggestion.
2699
c85184ad
VS
27002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 GOP support. Based on patch from Bean
2703 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2704
2705 * video/efi_gop.c: New file.
2706 * include/grub/efi/graphics_output.h: Likewise.
2707 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
2708 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2709 variables.
2710 * conf/x86_64-efi.rmk: Likewise.
2711
8a4c48d8
VS
27122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Rename efi_fb to efi_uga.
2715
2716 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2717 'efi_uga.mod'.
2718 (efi_fb_mod_SOURCES): Rename this ...
2719 (efi_uga_mod_SOURCES): ... to this.
2720 (efi_fb_mod_CFLAGS): Rename this ...
2721 (efi_uga_mod_CFLAGS): ... to this.
2722 (efi_fb_mod_LDFLAGS): Rename this ...
2723 (efi_uga_mod_LDFLAGS): ... to this.
2724 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2725 'efi_uga.mod'.
2726 (efi_fb_mod_SOURCES): Rename this ...
2727 (efi_uga_mod_SOURCES): ... to this.
2728 (efi_fb_mod_CFLAGS): Rename this ...
2729 (efi_uga_mod_CFLAGS): ... to this.
2730 (efi_fb_mod_LDFLAGS): Rename this ...
2731 (efi_uga_mod_LDFLAGS): ... to this.
2732 * video/efi_fb.c: Move this ...
2733 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2734
fb6c1a7b
RM
27352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2736
2737 * po/README: New file. Explain our PO file workflow.
2738
3bc7896c
RM
27392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2740
2741 * po/ChangeLog: Remove. Move relevant entries back to ...
2742 * ChangeLog: ... here.
2743 * po/ca.po: Remove (now handled by TLP).
2744 * po/id.po: Likewise.
2745 * po/zh_CN.po: Likewise.
2746 * Makefile.in (LINGUAS): Initialize in a way that supports
2747 empty set.
2748
9ed4841d
RM
27492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2750
2751 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2752 reliing on po/LINGUAS.
2753 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2754 (po/%.po): ... this.
2755
0ad46fd7 27562009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2757
2758 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2759 (main): Use `program_name' instead of nonexistent `progname'.
2760
e30dd392
FZ
27612009-11-26 Felix Zielcke <fzielcke@z-51.de>
2762
2763 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2764 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2765
7656de4f
RM
27662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2767
2768 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2769 commit.
2770 * conf/i386-efi.rmk: Likewise.
2771 * conf/i386-ieee1275.rmk: Likewise.
2772 * conf/powerpc-ieee1275.rmk: Likewise.
2773 * conf/sparc64-ieee1275.rmk: Likewise.
2774 * conf/x86_64-efi.rmk: Likewise.
2775
db77c4d4
FZ
27762009-11-26 Felix Zielcke <fzielcke@z-51.de>
2777
2778 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2779
a755bb04
FZ
27802009-11-26 Felix Zielcke <fzielcke@z-51.de>
2781
2782 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2783
8a4c07fd
RM
27842009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2785
2786 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2787 (grub_mkdevicemap_SOURCES): New variable.
2788 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2789 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2790 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2791 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2792 (grub_mkdevicemap_SOURCES): Remove.
2793 * conf/i386-efi.rmk: Likewise.
2794 * conf/i386-ieee1275.rmk: Likewise.
2795 * conf/i386-pc.rmk: Likewise.
2796 * conf/powerpc-ieee1275.rmk: Likewise.
2797 * conf/sparc64-ieee1275.rmk: Likewise.
2798 * conf/x86_64-efi.rmk: Likewise.
2799 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2800 (usage): Fix strings to use `program_name'.
2801 (main): Initialize gettext.
2802 * util/grub-editenv.c: Likewise.
2803 * util/grub-emu.c: Likewise.
2804 * util/grub-fstest.c: Likewise.
2805 * util/grub-mkdevicemap.c: Likewise.
2806 * util/grub-mkfont.c: Likewise.
2807 * util/grub-mkrelpath.c: Likewise.
2808 * util/grub-pe2elf.c: Likewise.
2809 * util/grub-probe.c: Likewise.
2810 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2811 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2812 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2813
2814 * util/misc.c: Include `"progname.h"'.
2815 (progname): Remove variable.
2816 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
2817
6f61ed55
FZ
28182009-11-25 Felix Zielcke <fzielcke@z-51.de>
2819
2820 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
2821 printf and print a newline after the menuentry header line.
2822 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2823
f022876b
FZ
28242009-11-25 Felix Zielcke <fzielcke@z-51.de>
2825
2826 autoconf >= 2.60 support $(localedir).
2827
2828 * INSTALL: Note that autoconf 2.60 is required.
2829 * configure.ac (AC_PREREQ): Bump to 2.60.
2830 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
2831 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2832
6717926e
YB
28332009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
2834
2835 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
2836 aclocal is run.
2837
08806a54
RM
28382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2839
2840 * normal/main.c (grub_normal_read_line): Fix off-by-one
2841 buffer overflow.
2842
13b33fba
RM
28432009-11-25 Robert Millan <rmh.grub@aybabtu.com>
2844
2845 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
2846 "parser.grub" in grub_command_execute() call.
2847
4a8572e9
CPE
28482009-11-24 Carles Pina i Estany <carles@pina.cat>
2849
2850 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
2851 * conf/i386-efi.rmk: Likewise.
2852 * conf/i386-ieee1275.rmk: Likewise.
2853 * conf/i386-pc.rmk: Likewise.
2854 * conf/powerpc-ieee1275.rmk: Likewise.
2855 * conf/sparc64-ieee1275.rmk: Likewise.
2856 * conf/x86_64-efi.rmk: Likewise.
2857 * gettext/gettex.c: Include <grub/i18n.h>.
2858 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
2859 here ...
2860 * include/grub/i18n.h: ... to here
2861 * include/grub/i18n.h: ... to here.
2862 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 2863 (grub_gettext_dummy): Move above user.
4a8572e9 2864
bee48093
FZ
28652009-11-24 Felix Zielcke <fzielcke@z-51.de>
2866
2867 * util/Makefile.in (install-local): Convert a `for' into a normal
2868 shell expansion.
2869
a031e91c
RM
28702009-11-24 Robert Millan <rmh.grub@aybabtu.com>
2871
2872 * autogen.sh: Add automake call.
2873 * config.guess: Remove.
2874 * config.sub: Likewise.
2875 * install-sh: Likewise.
2876
26bec39d
FZ
28772009-11-24 Felix Zielcke <fzielcke@z-51.de>
2878
2879 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
2880
8e2532fd
FZ
28812009-11-24 Felix Zielcke <fzielcke@z-51.de>
2882
2883 * util/Makefile.in (install-local): Convert a make `$(foreach)'
2884 function to a normal shell `for'.
2885
fefa1b7d
FZ
28862009-11-24 Felix Zielcke <fzielcke@z-51.de>
2887
2888 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2889
4501250b
FZ
28902009-11-24 Felix Zielcke <fzielcke@z-51.de>
2891
2892 * util/grub-mkrelpath.c: New file.
2893 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
2894 (grub_mkrelpath_SOURCES): New variable.
2895 * include/grub/util/misc.h: New function prototype.
2896 * util/misc.c (make_system_path_relative_to_its_root): New function.
2897
2898 * util/grub-mkconfig_lib.in (bindir): New variable.
2899 (grub_mkrelpath): Likewise.
2900 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
2901
2902 * util/probe.c (probe): Make the file path relative to its root.
2903 Change a info message to use the GRUB path. Enable again the
2904 check if we can read the file with GRUB facilities.
2905
2906 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
2907 to its root.
2908
11d9778b
FZ
29092009-11-24 Felix Zielcke <fzielcke@z-51.de>
2910
2911 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
2912 platform.
2913
4465287d
FZ
29142009-11-24 Felix Zielcke <fzielcke@z-51.de>
2915
2916 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
2917 strncmp().
2918
62b47f22
FZ
29192009-11-24 Felix Zielcke <fzielcke@z-51.de>
2920
2921 * util/getroot.c (grub_util_is_dmraid): New function.
2922 (grub_util_get_dev_abstraction): Treat dmraid and multipath
2923 devices as normal ones, not as LVM.
2924
1eafb9b9 29252009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
2926
2927 * conf/common.rmk: Add grub-gettext_lib target and updates
2928 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
2929 LDFLAGS.
2930 * gettext/gettext.c: New file. (Reads mo files).
2931 * include/grub/file.h (grub_file_pread): New prototype.
2932 * include/grub/i18n.h (_): New prototype.
2933 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
2934 prototypes.
2935 * kern/misc.c (grub_gettext_dummy): New function.
2936 * normal/menu_text.c: Include <grub/i18n.h>.
2937 * normal/menu_text.c (print_timeout): Gettexttize string.
2938 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
2939 * po/POTFILES: Add `normal/menu_text.c'.
2940 * po/ca.po: Add new translations.
c3ea6bd4
CPE
2941 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
2942 gettext module and defines locale_dir and lang in grub.cfg.
2943 * NEWS: Add gettext support.
2944
0fdb2568
RM
29452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2946
2947 * util/hostdisk.c: Include `<grub/i18n.h>'.
2948 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
2949 (make_device_name): Rewrite using asprintf.
2950 (convert_system_partition_to_system_disk): Replace 0 with NULL.
2951 (find_system_device): If a device is not found, generate one just
2952 by reusing the OS path name.
2953 (read_device_map): Make it permissible for device.map not to exist.
2954
f515aa62
RM
29552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2956
2957 * script/sh/execute.c: Move from here ...
2958 * script/execute.c: ... to here. Update all users.
2959 * script/sh/function.c: Move from here ...
2960 * script/function.c: ... to here. Update all users.
2961 * script/sh/lexer.c: Move from here ...
2962 * script/lexer.c: ... to here. Update all users.
2963 * script/sh/main.c: Move from here ...
2964 * script/main.c: ... to here. Update all users.
2965 * script/sh/parser.y: Move from here ...
2966 * script/parser.y: ... to here. Update all users.
2967 * script/sh/script.c: Move from here ...
2968 * script/script.c: ... to here. Update all users.
2969
f84b481b
RM
29702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
2971
2972 * configure.ac: Detect all `emu' platforms. Define
2973 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
2974 --enable-grub-emu logic. Disable include/grub/machine
2975 symlink on `emu' platforms.
2976
2977 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
2978 * gensymlist.sh.in: Likewise.
2979
2980 * include/grub/i386/coreboot/machine.h: Remove file.
2981 * include/grub/i386/efi/machine.h: Likewise.
2982 * include/grub/i386/ieee1275/machine.h: Likewise.
2983 * include/grub/i386/pc/machine.h: Likewise.
2984 * include/grub/i386/qemu/machine.h: Likewise.
2985 * include/grub/powerpc/ieee1275/machine.h: Likewise.
2986 * include/grub/sparc64/ieee1275/machine.h: Likewise.
2987 * include/grub/x86_64/efi/machine.h: Likewise.
2988
2989 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
2990 * commands/halt.c: Likewise.
2991 * commands/reboot.c: Likewise.
2992 * include/grub/autoefi.h: Likewise.
2993 * include/grub/i386/at_keyboard.h: Likewise.
2994 * include/grub/i386/kernel.h: Likewise.
2995 * include/grub/i386/loader.h: Likewise.
2996 * include/grub/i386/pc/memory.h: Likewise.
2997 * kern/dl.c: Likewise.
2998 * kern/i386/coreboot/init.c: Likewise.
2999 * loader/i386/bsd.c: Likewise.
3000 * loader/i386/linux.c: Likewise.
3001 * loader/multiboot_loader.c: Likewise.
3002 * term/i386/pc/serial.c: Likewise.
3003 * term/usb_keyboard.c: Likewise.
3004
3005 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3006 `<grub/machine/machine.h>'
3007 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3008 * util/misc.c: Remove `<grub/machine/machine.h>' and
3009 `<grub/machine/time.h>'.
3010
3011 * Makefile.in (enable_grub_emu): Remove variable.
3012 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3013
3014 * conf/any-emu.rmk: New file.
3015 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3016 (grub_emu_init.c): Move from here ...
3017 * conf/any-emu.rmk: ... to here.
3018
3019 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3020 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3021 * conf/any-emu.rmk: ... to here.
3022
4efeab03
RM
30232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3024
3025 * include/grub/parser.h (grub_parser_register): Document need
3026 of `name' parameter.
3027 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3028 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3029 "sh" to "grub".
3030
ea1dd8bf
RM
30312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3032
3033 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3034 `$(XGETTEXT)'.
3035 * include/grub/i18n.h (N_): New macro.
3036 * util/mkisofs/mkisofs.h: Likewise.
3037 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3038 around N_().
3039 (usage): Use gettext() to translate help strings when printing them.
3040
0c140626
RM
30412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3042
3043 Based on patch from Bean
3044 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3045
3046 * video/efi_fb.c: New file.
3047 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3048 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3049 variables.
3050 * conf/x86_64-efi.rmk: Likewise.
3051
87d58298
RM
30522009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3053
3054 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3055 * util/i386/pc/grub-setup.c: Likewise.
3056
994cc3a3
ST
30572009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3058
3059 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3060 <hurd/fs.h>
3061 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3062 file_get_storage_info to implement grub_guess_root_device.
3063
26a61d6a
FZ
30642009-11-21 Felix Zielcke <fzielcke@z-51.de>
3065
3066 * Makefile.in (target): Use make's builtin $(shell) function
3067 instead of calling directly $(SHELL) to create the locale directories,
3068 inside the $(foreach) function.
3069
74ff1dd5
FZ
30702009-11-21 Felix Zielcke <fzielcke@z-51.de>
3071
3072 * util/grub-mkrescue.in: Print an error and usage if output option
3073 has not been given.
3074
0b787d0e
FZ
30752009-11-21 Felix Zielcke <fzielcke@z-51.de>
3076
3077 Patch from Loïc Minier <loic.minier@ubuntu.com>.
3078 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3079 root and /boot are on different devices.
3080
1164b270
RM
30812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3082
3083 Fix build for srcdir != objdir.
3084
3085 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3086 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3087 $(srcdir).
3088 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3089 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3090 reference for input.
3091
13774a2f
RM
30922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3093
3094 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3095 or hardlinking it). Remove -J option, Joliet is not compatible with
3096 multiple source directories.
3097
efda854e
RM
30982009-11-21 Carles Pina i Estany <carles@pina.cat>
30992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3100
3101 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3102 (process_input_dir): New function. Process an arbitrary input
3103 directory.
3104 Misc adjustments to support both "override mode" and system-wide mode.
3105
6c09890c
FZ
31062009-11-20 Felix Zielcke <fzielcke@z-51.de>
3107
3108 * configure.ac (UNIFONT_BDF): Rename to ...
3109 (FONT_SOURCE): ... this. Update all users.
3110
a797824f
FZ
31112009-11-20 Felix Zielcke <fzielcke@z-51.de>
3112
3113 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3114 to the list of unifont files to look for.
3115
cd4f42b0
RM
31162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3117
3118 Patch from Joe Auricchio <jauricchio@gmail.com>
3119 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3120 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3121 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3122
393c783d
FZ
31232009-11-19 Felix Zielcke <fzielcke@z-51.de>
3124
3125 * Makefile.in (install-local): Add a missing backslash.
3126
b2f1e327
FZ
31272009-11-19 Felix Zielcke <fzielcke@z-51.de>
3128
3129 * include/grub/x86_64/io.h: New file.
3130
f577f7a0
RM
31312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3132
3133 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3134 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3135 Include `"progname.h"'.
3136 (main): Initialize gettext.
3137 * util/i386/pc/grub-setup.c: Gettexttize.
3138 * util/i386/pc/grub-mkimage.c: Likewise.
3139
3140 * Makefile.in (po/*.po): Redefine as ...
3141 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3142
3bc7896c
RM
3143 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3144
c37943b6
RM
31452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3146
3147 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3148 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3149 (program_name): Remove.
3150 (main): Initialize gettext support.
6323f705
RM
3151 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3152 Include `<libintl.h>'.
3153 (_): New macro.
c37943b6
RM
3154
3155 * util/mkisofs/eltorito.c: Gettexttize.
3156 * util/mkisofs/joliet.c: Likewise.
3157 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3158 * util/mkisofs/multi.c: Likewise.
3159 * util/mkisofs/rock.c: Likewise.
3160 * util/mkisofs/tree.c: Likewise.
3161 * util/mkisofs/write.c: Likewise.
3162
3bc7896c
RM
3163 * po/POTFILES: Update with new files.
3164
5ce77c6e
RM
31652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3166
3167 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3168 * util/mkisofs/iso9660.h: Likewise.
3169 * util/mkisofs/joliet.c: Likewise.
3170 * util/mkisofs/mkisofs.c: Likewise.
3171 * util/mkisofs/mkisofs.h: Likewise.
3172 * util/mkisofs/rock.c: Likewise.
3173 * util/mkisofs/tree.c: Likewise.
3174 * util/mkisofs/write.c: Likewise.
3175
3176 * util/mkisofs/eltorito.c (rcsid): Remove.
3177 * util/mkisofs/hash.c: Likewise.
3178 * util/mkisofs/joliet.c: Likewise.
3179 * util/mkisofs/name.c: Likewise.
3180 * util/mkisofs/rock.c: Likewise.
3181 * util/mkisofs/tree.c: Likewise.
3182 * util/mkisofs/write.c: Likewise.
3183
1dabbc77
RM
31842009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3185
3186 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3187 instead of static allocation.
3188 * util/mkisofs/match.h: Likewise.
3189
633877cb
RM
31902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3191
3bc7896c
RM
3192 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3193 and `util/grub.d/10_linux.in'.
633877cb
RM
3194 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3195 translatable Shell files.
3196
af1c0c85
RM
31972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3198
3199 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3200
769ae37b
RM
32012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3202
3203 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3204 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3205 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3206 Add gettext initialization.
3207 (kfreebsd_entry): Make menuentry output translatable.
3208
32092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3210
3211 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3212 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3213 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3214 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3215 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3216 * po/LINGUAS: New file.
769ae37b
RM
3217
32182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3219
3220 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3221 other things).
3222 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3223 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3224 bindtextdomain() calls for gettext initialization.
3225
32262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3227
3228 * gnulib/progname.c: New file (imported from Gnulib).
3229 * gnulib/progname.h: Likewise.
3230 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3231 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3232 (usage): Replace `progname' with `program_name'.
3233 (main): Use set_program_name() for program name initialization.
3234
32352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3236
3237 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3238 from here ...
3239 * Makefile.in (CPPFLAGS): ... to here.
3240
32412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3242
3243 * aclocal.m4: Move from here ...
3244 * acinclude.m4: ... to here.
3245 * autogen.sh: Add call to `aclocal'.
3246 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3247
32482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3249
3250 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3251 (LINGUAS): New variable.
3252 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3253 (install-local): Install MO files.
3254 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3255 * include/grub/i18n.h: New file.
3bc7896c
RM
3256 * po/POTFILES: New file.
3257 * po/ca.po: New file.
769ae37b
RM
3258 * util/grub.d/10_linux.in (bindir): New variable.
3259 Add gettext initialization.
3260 (linux_entry): Make menuentry output translatable.
3261 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3262 (usage): Make --help output translatable.
3263 (main): Initialize gettext.
3264
02c0a6ad
RM
32652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3266
3267 * import_gcry.py: New file (written by Vladimir with minor
3268 adjustments).
3269 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3270 ciphers.
3271 * INSTALL: Document that Python is required for bootstrap.
3272
32732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3274
3275 Import ciphers from libgcrypt 1.4.4.
3276
3277 * lib/libgcrypt/cipher/ChangeLog
3278 * lib/libgcrypt/cipher/ac.c
3279 * lib/libgcrypt/cipher/arcfour.c
3280 * lib/libgcrypt/cipher/bithelp.h
3281 * lib/libgcrypt/cipher/blowfish.c
3282 * lib/libgcrypt/cipher/camellia-glue.c
3283 * lib/libgcrypt/cipher/camellia.c
3284 * lib/libgcrypt/cipher/camellia.h
3285 * lib/libgcrypt/cipher/cast5.c
3286 * lib/libgcrypt/cipher/cipher.c
3287 * lib/libgcrypt/cipher/crc.c
3288 * lib/libgcrypt/cipher/des.c
3289 * lib/libgcrypt/cipher/dsa.c
3290 * lib/libgcrypt/cipher/ecc.c
3291 * lib/libgcrypt/cipher/elgamal.c
3292 * lib/libgcrypt/cipher/hash-common.c
3293 * lib/libgcrypt/cipher/hash-common.h
3294 * lib/libgcrypt/cipher/hmac-tests.c
3295 * lib/libgcrypt/cipher/md.c
3296 * lib/libgcrypt/cipher/md4.c
3297 * lib/libgcrypt/cipher/md5.c
3298 * lib/libgcrypt/cipher/primegen.c
3299 * lib/libgcrypt/cipher/pubkey.c
3300 * lib/libgcrypt/cipher/rfc2268.c
3301 * lib/libgcrypt/cipher/rijndael-tables.h
3302 * lib/libgcrypt/cipher/rijndael.c
3303 * lib/libgcrypt/cipher/rmd.h
3304 * lib/libgcrypt/cipher/rmd160.c
3305 * lib/libgcrypt/cipher/rsa.c
3306 * lib/libgcrypt/cipher/seed.c
3307 * lib/libgcrypt/cipher/serpent.c
3308 * lib/libgcrypt/cipher/sha1.c
3309 * lib/libgcrypt/cipher/sha256.c
3310 * lib/libgcrypt/cipher/sha512.c
3311 * lib/libgcrypt/cipher/tiger.c
3312 * lib/libgcrypt/cipher/twofish.c
3313 * lib/libgcrypt/cipher/whirlpool.c
3314
af2f93ac
RM
33152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3316
3317 Fix build for systems without error().
3318
3319 * gnulib/error.c: New file (imported from Gnulib).
3320 * gnulib/error.h: Likewise.
3321 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3322 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3323 (this variable is now used by error()).
3324
73fb3dd5
FZ
33252009-11-16 Felix Zielcke <fzielcke@z-51.de>
3326
814f5e96
FZ
3327 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3328 instead of relying that char is signed.
73fb3dd5 3329
a691ca33
VS
33302009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3333 blocksize different from specified.
3334 (grub_pxefs_read): Likewise.
3335
2af8f0f4
FZ
33362009-11-16 Felix Zielcke <fzielcke@z-51.de>
3337
3338 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3339
3340 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
3341 (grub_ata_readwrite): Likewise. Update 2 format strings.
3342 (grub_atapi_read): Likewise.
3343
3344 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
3345 * conf/i386.rmk (pkglib_MODULES): ... to here ...
3346 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
3347 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
3348 (ata_mod_LDFLAGS): Move from here ...
3349 * conf/i386.rmk: ... to here ...
3350 * conf/x86_64-efi.rmk: ... and here.
3351 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
3352 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
3353
83bdecaf
RM
33542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3355
3356 Relicense multiboot.h, with RMS' blessing.
3357
3358 * include/multiboot.h: Change to X11 license.
3359
fd6fd3d7
RM
33602009-11-15 Robert Millan <rmh.grub@aybabtu.com>
3361
3362 Support --version in grub-mkisofs.
3363
3364 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
3365 (OPTION_VERSION): New macro.
3366 (ld_options): Recognize --version.
3367 (usage): Move `program_name' from here ...
3368 (program_name): ... to here. Add `static' qualifier.
3369 (main): Recognize `OPTION_VERSION'.
3370
16a88c49
FZ
33712009-11-15 Felix Zielcke <fzielcke@z-51.de>
3372
3373 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
3374 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
3375
a4158476
RM
33762009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3377
3378 Fix help2man generation for mkisofs.
3379
3380 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
3381 (usage): Send output to stdout (rather than stderr).
3382
fc2208b0
RM
33832009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3384
3385 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
3386 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3387 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
3388 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3389 (bin_SCRIPTS): Add `grub-mkfloppy'.
3390 (grub_mkfloppy_SOURCES): New variable.
3391
3392 * util/grub-mkrescue.in: New file.
3393 * util/i386/pc/grub-mkfloppy.in: New file.
3394
3395 * util/i386/coreboot/grub-mkrescue.in: Remove.
3396 * util/i386/pc/grub-mkrescue.in: Remove.
3397
8d0edf4a
RM
33982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3399
3400 * include/grub/multiboot.h (struct grub_multiboot_header): Move
3401 from here ...
3402 * include/multiboot.h (struct multiboot_header): ... to here. Update
3403 all users.
3404 * include/grub/multiboot.h (struct grub_multiboot_info): Move
3405 from here ...
3406 * include/multiboot.h (struct multiboot_info): ... to here. Update
3407 all users.
3408 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
3409 from here ...
3410 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
3411 Update all users.
3412 * include/grub/multiboot.h (struct grub_mod_list): Move
3413 from here ...
3414 * include/multiboot.h (struct multiboot_mod_list): ... to here.
3415 Update all users.
3416
a73f5969
RM
34172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3418
3419 * include/multiboot2.h (multiboot_word): Rename from this ...
3420 (multiboot2_word): ... to this. Update all users.
3421 (multiboot_header): Rename from this ...
3422 (multiboot2_header): ... to this. Update all users.
3423 (multiboot_tag_header): Rename from this ...
3424 (multiboot2_tag_header): ... to this. Update all users.
3425 (multiboot_tag_start): Rename from this ...
3426 (multiboot2_tag_start): ... to this. Update all users.
3427 (multiboot_tag_name): Rename from this ...
3428 (multiboot2_tag_name): ... to this. Update all users.
3429 (multiboot_tag_module): Rename from this ...
3430 (multiboot2_tag_module): ... to this. Update all users.
3431 (multiboot_tag_memory): Rename from this ...
3432 (multiboot2_tag_memory): ... to this. Update all users.
3433 (multiboot_tag_unused): Rename from this ...
3434 (multiboot2_tag_unused): ... to this. Update all users.
3435 (multiboot_tag_end): Rename from this ...
3436 (multiboot2_tag_end): ... to this. Update all users.
3437
1c8927f0
RM
34382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3439
3440 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
3441 this platform we should support Multiboot1 first.
3442
3443 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3444 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
3445 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
3446
6e1e0d89
RM
34472009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3448
3449 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
3450 of write calls (converting them to fwrite() if they aren't already).
3451 (get_torito_desc): Likewise.
3452 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
3453
7f2b34d8
RM
34542009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3455
3456 * util/i386/pc/grub-install.in: Move from here ...
3457 * util/grub-install.in: ... to here. Update all users.
3458
c0ef3311
CW
34592009-11-11 Colin Watson <cjwatson@ubuntu.com>
3460
3461 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
3462
e1f240ff
RM
34632009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3464
3465 Support for El Torito without floppy emulation.
3466
3467 * util/mkisofs/eltorito.c: Include `<errno.h>'.
3468 (init_boot_catalog): Improve error handling.
3469 (get_torito_desc): Don't use floppy emulation unless requested by
3470 user. Patch boot information table when requested via
3471 `-boot-info-table'.
3472 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
3473 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
3474 (use_boot_info_table): New variables.
3475 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
3476 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
3477 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
3478 `--eltorito-emul-floppy'.
3479 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
3480 and `OPTION_ELTORITO_EMUL_FLOPPY'.
3481 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
3482 (use_boot_info_table, get_731): New prototypes.
3483 * util/mkisofs/write.c (get_731): New function.
3484
af7d4de5
FZ
34852009-11-11 Felix Zielcke <fzielcke@z-51.de>
3486
3487 Fix the generation of the man page.
3488
3489 * util/pc/i386/grub-install.in: Source
3490 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3491
2c55dbc0
RM
34922009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3493
3494 Large file support for grub-mkisofs.
3495
3496 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
3497 * util/mkisofs/mkisofs.c (next_extent, last_extent)
3498 (session_start): Upgrade type to `uint64_t'. Update all users.
3499 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
3500 (struct directory_entry): Upgrade type of `starting_block' and
3501 `size' to `uint64_t'. Update all users.
3502 (struct deferred): Remove unused structure.
3503 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
3504 Update all users.
3505 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
3506 file is larger than `UINT32_MAX'.
3507 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
3508 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
3509 return value.
3510 (struct deferred_write): Upgrade type of `extent' and `size' to
3511 `uint64_t'. Update all users.
3512 (last_extent_written): Upgrade type to `uint64_t'. Update all
3513 users.
3514 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
3515 Update all users. Upgrade type of `remain' to `int64_t' and
3516 `use' to `size_t'. Use error() to handle fread() errors.
3517 (write_files): Rely on write_one_file() rather than calling
3518 xfwrite() directly.
3519
6a9cead5
FZ
35202009-11-09 Felix Zielcke <fzielcke@z-51.de>
3521
3522 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
3523
4825d790
RM
35242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3525
3526 * util/mkisofs/fnmatch.c: Remove.
3527 * util/mkisofs/getopt1.c: Likewise.
3528 * util/mkisofs/getopt.c: Likewise.
3529 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
3530 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
3531 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
3532 `gnulib/getopt1.c' and `gnulib/getopt.c'.
3533 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
3534
3535 * configure.ac: Detect `mingw32msvc' host_os.
3536 Check for lstat(), getuid() and getgid().
3537
3538 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
3539 instances of `u_char' with `uint8_t'.
3540
3541 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
3542 [!HAVE_GETUID] (getuid): New function (stub).
3543 [!HAVE_GETGID] (getgid): Likewise.
3544 [!HAVE_LSTAT] (lstat): Likewise.
3545 [!S_IROTH] (S_IROTH): New macro (dummy).
3546 [!S_IRGRP] (S_IRGRP): Likewise.
3547
84b860d8
RM
35482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3549
3550 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
3551 conditional expression).
3552
66e9b712
RM
35532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3554
3555 Import from Gnulib.
3556
3557 * gnulib/fnmatch.c: New file.
3558 * gnulib/fnmatch.h: Likewise.
3559 * gnulib/fnmatch_loop.c: Likewise.
3560 * gnulib/getopt.c: Likewise.
3561 * gnulib/getopt.h: Likewise.
3562 * gnulib/getopt1.c: Likewise.
3563 * gnulib/getopt_int.h: Likewise.
3564 * gnulib/gettext.h: Likewise.
3565
34f4a5b0
RM
35662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3567
3568 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
3569 * normal/handler.c (read_handler_list): Likewise.
3570
ac451143
RM
35712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3572
3573 Misc cleanup.
3574
3575 * kern/command.c (grub_register_command_prio): Use
3576 grub_zalloc() instead of explicitly zeroing data.
3577 * kern/list.c: Include `<grub/mm.h>'.
3578 (grub_named_list_find): Replace `0' with `NULL'.
3579 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
3580 (fs_module_list): Change type to `grub_named_list_t'. Update all
3581 users.
3582 * normal/dyncmd.c (read_command_list): Add space between function
3583 call and parenthesis.
3584 * normal/handler.c (read_handler_list): Likewise.
3585
4089b167
RM
35862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3587
3588 * normal/auth.c (punishment_delay): Moved from here ...
3589 (grub_auth_strcmp): ... to here (inside function).
3590
325f5037
RM
35912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3592
3593 * include/grub/list.h (struct grub_named_list): Remove `const'
3594 qualifier from `name'.
3595 (struct grub_prio_list): Likewise.
3596
7aea29a3
RM
35972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3598
3599 * normal/auth.c: Include `<grub/time.h>'.
3600 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
3601
3fd6f044
RM
36022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3603
3604 * normal/auth.c (punishment_delay): New variable.
3605 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
3606 (grub_auth_check_authentication): Punish failed login attempts with
3607 an incremental (2^N) delay.
3608
a4cd68e4
RM
36092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3610
3611 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
3612 path with $(srcdir).
3613
7ad12f43
VS
36142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
3617
c1129f03
RM
36182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3619
3620 * util/i386/coreboot/grub-mkrescue.in: New file.
3621 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
3622 variables.
3623
3624 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
3625 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
3626 * configure.ac: Add header and function checks to satisfy grub-mkisofs
3627 requirements.
3628 * util/mkisofs/defaults.h: New file.
3629 * util/mkisofs/eltorito.c: Likewise.
3630 * util/mkisofs/exclude.h: Likewise.
3631 * util/mkisofs/fnmatch.c: Likewise.
3632 * util/mkisofs/getopt.c: Likewise.
3633 * util/mkisofs/getopt1.c: Likewise.
3634 * util/mkisofs/hash.c: Likewise.
3635 * util/mkisofs/include/fctldefs.h: Likewise.
3636 * util/mkisofs/include/mconfig.h: Likewise.
3637 * util/mkisofs/include/prototyp.h: Likewise.
3638 * util/mkisofs/include/statdefs.h: Likewise.
3639 * util/mkisofs/iso9660.h: Likewise.
3640 * util/mkisofs/joliet.c: Likewise.
3641 * util/mkisofs/match.c: Likewise.
3642 * util/mkisofs/match.h: Likewise.
3643 * util/mkisofs/mkisofs.c: Likewise.
3644 * util/mkisofs/mkisofs.h: Likewise.
3645 * util/mkisofs/multi.c: Likewise.
3646 * util/mkisofs/name.c: Likewise.
3647 * util/mkisofs/rock.c: Likewise.
3648 * util/mkisofs/tree.c: Likewise.
3649 * util/mkisofs/write.c: Likewise.
3650
ec8bb77d
VS
36512009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
3654 being insecure.
3655
3716b12c
RM
36562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3657
3658 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
3659 `grub-mkimage' (and use $0 when possible).
3660
b97b7b91
RM
36612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3662
3663 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
3664 error message for excessively large memory map.
3665
04114812
RM
36662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3667
3668 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
3669 executable bit.
3670
e4eb2373
RM
36712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3672
3673 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
3674 message for coreboot users.
3675
c926e1d5 36762009-11-07 Robert Millan <rmh.grub@aybabtu.com>
3677
3678 Fix build with GNU gold.
3679
3680 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
3681 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
3682 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
3683 link addresses.
3684 * aclocal.m4: Likewise.
3685
86e5b1db 36862009-11-04 Felix Zielcke <fzielcke@z-51.de>
3687
3688 * configure.ac (AC_PREREQ): Bump to 2.59d.
3689 * INSTALL: Make it more clear when Autoconf and Ruby are
3690 needed and when to run `./autogen.sh'.
3691
246cd78f 36922009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3693
3694 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
3695 OSes.
3696
4f9dfb37 36972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3698
3699 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
3700
b82bd5e1 37012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3702
3703 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
3704 giving it to GNU Mach.
3705
ff1a9bca 37062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3707
3708 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
3709 GNU partition number to get internal GRUB partition number.
3710
61697d9c 37112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3712
3713 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
3714 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
3715
a50569e1 37162009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3717
3718 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3719 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3720 case.
3721
5b153867 37222009-11-01 Felix Zielcke <fzielcke@z-51.de>
3723
3724 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3725
d9e2cd70 37262009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3727
3728 Fix build problem.
3729
3730 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3731 `-isystem=$(srcdir)/include'.
3732
805111a4 37332009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3734
3735 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3736 checked (grub-install doesn't currently rely on it).
3737
fa6e945f 37382009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3739
3740 Revert SVN r2660.
3741
3742 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3743 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3744 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3745 * conf/i386-ieee1275.rmk: Likewise.
3746 * conf/i386-pc.rmk: Likewise.
3747 * conf/powerpc-ieee1275.rmk: Likewise.
3748 * conf/sparc64-ieee1275.rmk: Likewise.
3749 * conf/x86_64-efi.rmk: Likewise.
3750
cee15086 37512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3752
3753 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3754
95b9239e 37552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3756
3757 * include/grub/misc.h: Stop checking for APPLE_CC.
3758
2ed19dfd 37592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3760
3761 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3762 doesn't cause an infinite call loop.
3763
fdcdde19 37642009-10-28 Felix Zielcke <fzielcke@z-51.de>
3765
3766 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3767 strings.
3768
cefabfe1 37692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3770
3771 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3772 variable.
3773 * Makefile.in: Likewise.
3774
ed96ab6d 37752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3776
3777 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3778
0579b753 37792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3780
3781 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3782
478df409 37832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3784
3785 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3786
083d1679 37872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3788
3789 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3790 from here ...
3791 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3792
5947ae32 37932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3794
3795 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3796 in $(MAKEINFO) invocation. This makes it clear in output that
3797 errors are being ignored.
3798
94180ff6 37992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3800
3801 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3802 from here ...
3803 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3804 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
3805 * conf/i386-ieee1275.rmk: Likewise.
3806 * conf/i386-pc.rmk: Likewise.
3807 * conf/powerpc-ieee1275.rmk: Likewise.
3808 * conf/sparc64-ieee1275.rmk: Likewise.
3809 * conf/x86_64-efi.rmk: Likewise.
3810
9031b03a 38112009-10-26 Colin Watson <cjwatson@ubuntu.com>
3812
3813 * util/grub-editenv.c (main): If only a command is given, use
3814 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
3815 (usage): FILENAME is now optional and has a default.
3816
e4f6809b 38172009-10-26 Colin Watson <cjwatson@ubuntu.com>
3818
3819 Improve grub-mkconfig performance when there are several menu
3820 entries on a single filesystem.
3821
3822 * util/grub.d/10_linux.in (linux_entry): Cache the output of
3823 prepare_grub_to_access_device.
3824 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3825 * util/grub.d/30_os-prober.in: Likewise.
3826
67937d4d 38272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3828
3829 * util/grub.d/10_freebsd.in: Remove.
3830 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
3831 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
3832
ee3756cc 38332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3834
5c35048e 3835 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 3836
4dea1c6f 38372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3838
3839 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
3840 grub_util_error() call.
3841
042484d7 38422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3843
3844 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
3845 `reserved_first_sector' member.
3846 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
3847 `reserved_first_sector' to 1.
3848 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
3849 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
3850 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
3851 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
3852 filesystems which begin at first sector.
3853 (options): New option --skip-fs-probe.
3854 (main): Handle --skip-fs-probe and pass it to setup().
3855
d64448a7 38562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3857
3858 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
3859 (memset): Fix function prototype.
3860
508d42ec 38612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
38622009-10-25 Vasily Averin <vvs@parallels.com>
3863
3864 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
3865 `dirent.direntlen == 0'.
3866
b240e30c 38672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3868
3869 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
3870 `cpio'.
3871 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
3872
346e7fbe 38732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3874
3875 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
3876 `__trampoline_setup' and `__ucmpdi2'.
3877 * include/grub/powerpc/libgcc.h: Only export symbols for functions
3878 that libgcc provides.
3879
cdb308b0 38802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3881
3882 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
3883 * include/grub/sparc64/libgcc.h (memset): Likewise.
3884 * include/grub/misc.h (memset, memcmp): New function prototypes.
3885
fb26abc2 38862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3887
3888 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
3889 `cpio'.
3890 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
3891
f6693890 38922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
3893
3894 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
3895 * docs/grub.cfg: Compensate for recent change in multiboot
3896 loader (since 2009-08-14 it won't pass filename to payload).
3897 * util/grub.d/10_hurd.in: Likewise.
3898
0933cdc0 38992009-10-21 Felix Zielcke <fzielcke@z-51.de>
3900
3901 * config.guess: Update to latest version from config git
3902 repository.
3903 * config.sub: Likewise.
3904
3b2fe8c2 39052009-10-20 Robert Millan <rmh.grub@aybabtu.com>
3906
3907 Fix build on sparc64.
3908
3909 * configure.ac: Perform checks for libgcc symbols before
3910 adding `-nostdlib' to LDFLAGS.
3911
46695a62 39122009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Let user specify OpenBSD root device.
3915
3916 * loader/i386/bsd.c (openbsd_root): New variable.
3917 (openbsd_opts): New option 'root'.
3918 (OPENBSD_ROOT_ARG): New macro.
3919 (grub_openbsd_boot): Use 'openbsd_root'.
3920 (grub_cmd_openbsd): Fill 'openbsd_root'.
3921
d2b6b7fc 39222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3923
3924 * NEWS: Misc adjustments.
3925
421bd7ac 39262009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
3929
f1d29d87 39302009-10-16 Robert Millan <rmh.grub@aybabtu.com>
3931
3932 * configure.ac: Bump version to 1.97.
3933
6f3cd880 39342009-10-16 Colin Watson <cjwatson@ubuntu.com>
3935
3936 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
3937 -mno-3dnow on x86 architectures. Some toolchains enable these
3938 features by default, but they rely on registers that aren't enabled
3939 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
3940
035f7122 39412009-10-15 Robert Millan <rmh.grub@aybabtu.com>
3942
3943 Make entry text a bit more readable.
3944
3945 * util/grub.d/10_linux.in: Add `with' before `Linux'.
3946
44998e58 39472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
3950
cd2851b3 39512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
3954 operations.
3955
c6f3b249 39562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * configure.ac: Add missing dollar.
3959
6b5886ba 39602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
3963
3964 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
3965 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
3966 exports.
3967 * include/grub/sparc64/libgcc.h: Likewise. Use
3968 preprocessor conditionals.
3969
e9d66f6d 39702009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3971
3972 * conf/common.rmk (grub-dumpbios): Remove rule.
3973 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
3974 * util/grub-dumpbios.in: Remove file.
3975
9155bc17 39762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
3979 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
3980
3981 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
3982 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
3983 users.
3984
3985 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
3986 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
3987 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
3988 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
3989 users.
3990
bf7f7a18 39912009-10-12 Robert Millan <rmh.grub@aybabtu.com>
3992
3993 * term/tparm.c: Switch to GPLv3.
3994
86564c26 39952009-10-09 Robert Millan <rmh.grub@aybabtu.com>
3996
3997 * include/grub/i386/cpuid.h: Add header protection.
3998
5c936493 39992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4000
4001 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4002
4003 * include/grub/i386/cpuid.h: New file.
4004 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4005 (has_longmode): Rename to ...
4006 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4007 `static' attribute.
4008 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4009 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4010 on a CPU that doesn't implement AMD64 instruction set.
4011
186e7cf2 40122009-10-06 Colin Watson <cjwatson@ubuntu.com>
4013
4014 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4015 that version.texi is rebuilt on version number changes.
4016
83b65c4a 40172009-10-06 Colin Watson <cjwatson@ubuntu.com>
4018
4019 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4020 Fixes bug #27602.
4021
d244281c 40222009-10-06 Colin Watson <cjwatson@ubuntu.com>
4023
4024 * util/i386/pc/grub-install.in: Source
4025 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4026 that the --grub-probe option will work.
4027 * util/sparc64/ieee1275/grub-install.in: Likewise.
4028
da25306d 40292009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4030
4031 * configure.ac: Bump version to 1.97~beta4.
4032
e8ee83c0 40332009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4034
4035 Resync grub-mkdevicemap in x86_64-efi.
4036
4037 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4038 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4039 `util/devicemap.c'.
4040
50dcabcf 40412009-10-01 Colin Watson <cjwatson@ubuntu.com>
4042
4043 * util/grub-editenv.c (create_envblk_file): Write new block with a
4044 .new suffix and then rename it into place, to ensure atomic
4045 creation.
4046
0e51c3a7 40472009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4048
4049 Do not automatically install headers.
4050
4051 * Makefile.in (include_DATA): Remove. Update all users.
4052
31299a95 40532009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4054
4055 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4056 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4057
4058 * util/osdetect.lua: Remove.
4059 * script/lua/lauxlib.c: Likewise.
4060 * script/lua/ldebug.c: Likewise.
4061 * script/lua/grub_main.c: Likewise.
4062 * script/lua/lauxlib.h: Likewise.
4063 * script/lua/ldebug.h: Likewise.
4064 * script/lua/ltablib.c: Likewise.
4065 * script/lua/liolib.c: Likewise.
4066 * script/lua/lstrlib.c: Likewise.
4067 * script/lua/lualib.h: Likewise.
4068 * script/lua/ldo.c: Likewise.
4069 * script/lua/ldump.c: Likewise.
4070 * script/lua/ldo.h: Likewise.
4071 * script/lua/loslib.c: Likewise.
4072 * script/lua/lundump.c: Likewise.
4073 * script/lua/grub_lib.c: Likewise.
4074 * script/lua/ldblib.c: Likewise.
4075 * script/lua/lundump.h: Likewise.
4076 * script/lua/lmem.c: Likewise.
4077 * script/lua/grub_lib.h: Likewise.
4078 * script/lua/lmathlib.c: Likewise.
4079 * script/lua/lstate.c: Likewise.
4080 * script/lua/ltm.c: Likewise.
4081 * script/lua/lvm.c: Likewise.
4082 * script/lua/lmem.h: Likewise.
4083 * script/lua/lstate.h: Likewise.
4084 * script/lua/ltm.h: Likewise.
4085 * script/lua/ltable.c: Likewise.
4086 * script/lua/lvm.h: Likewise.
4087 * script/lua/llex.c: Likewise.
4088 * script/lua/lgc.c: Likewise.
4089 * script/lua/grub_lua.h: Likewise.
4090 * script/lua/loadlib.c: Likewise.
4091 * script/lua/lfunc.c: Likewise.
4092 * script/lua/lopcodes.c: Likewise.
4093 * script/lua/lparser.c: Likewise.
4094 * script/lua/ltable.h: Likewise.
4095 * script/lua/llex.h: Likewise.
4096 * script/lua/lgc.h: Likewise.
4097 * script/lua/lfunc.h: Likewise.
4098 * script/lua/lbaselib.c: Likewise.
4099 * script/lua/lopcodes.h: Likewise.
4100 * script/lua/lparser.h: Likewise.
4101 * script/lua/lzio.c: Likewise.
4102 * script/lua/linit.c: Likewise.
4103 * script/lua/lobject.c: Likewise.
4104 * script/lua/llimits.h: Likewise.
4105 * script/lua/lstring.c: Likewise.
4106 * script/lua/lzio.h: Likewise.
4107 * script/lua/lapi.c: Likewise.
4108 * script/lua/lcode.c: Likewise.
4109 * script/lua/lua.h: Likewise.
4110 * script/lua/lobject.h: Likewise.
4111 * script/lua/lstring.h: Likewise.
4112 * script/lua/lapi.h: Likewise.
4113 * script/lua/lcode.h: Likewise.
4114 * script/lua/luaconf.h: Likewise.
4115
cb8a2c38 41162009-09-26 Colin Watson <cjwatson@ubuntu.com>
4117
4118 * docs/grub.texi (Command-line and menu entry commands): Document
4119 date and echo commands.
4120
6b9b6276 41212009-09-24 Pavel Roskin <proski@gnu.org>
4122
4123 * include/grub/kernel.h (struct grub_module_header): Remove
4124 `grub_module_header_types'. Make `type' unsigned. Make `size'
4125 32-bit on all platforms.
4126 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4127 8-bit field. Use grub_host_to_target32() for `size'.
4128 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4129 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4130 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4131
4e5a02a7 41322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4133
4134 Fix "lost keypress" bug in at_keyboard.
4135
4136 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4137 Checks for readyness of input buffer (without flushing it).
4138 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4139 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4140
c6dcedf6 41412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4142
4143 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4144 size check within GRUB_MACHINE_PCBIOS section.
4145
74c958b1 41462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4147
4148 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4149 return value.
4150 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4151 KEYBOARD_ISREADY check.
4152 (grub_at_keyboard_checkkey): Rename to ...
4153 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4154 Remove gratuitous cast.
4155
ff420223 41562009-09-23 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * configure.ac: Call AC_PROG_MKDIR_P.
4159 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4160 version.texi in $(builddir) rather than $(srcdir).
4161 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4162 to makeinfo's @include search path.
4163
d96875df 41642009-09-23 Felix Zielcke <fzielcke@z-51.de>
4165
4166 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4167
9b3f8365 41682009-09-23 Felix Zielcke <fzielcke@z-51.de>
4169
4170 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4171 for `*.dpkg-new'.
4172
c44c90db 41732009-09-21 Colin Watson <cjwatson@ubuntu.com>
4174
4175 Build info documentation. Some code borrowed from Automake.
4176
4177 * configure.ac: Check for makeinfo.
4178 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4179 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4180 docs/version.texi.
4181 (MOSTLYCLEANFILES): Add vti.tmp.
4182 (docs/version.texi, docs/stamp-vti): Update automatically.
4183 (docs/grub.info): Build info documentation. Use --force and ignore
4184 errors for now.
4185 (all-local): Add $(INFOS).
4186 (install-local): Install info files.
4187 (uninstall): Uninstall info files.
4188 * docs/version.texi: Remove from revision control. This file is
4189 automatically generated on build now.
4190 * gendistlist.sh: Add `*.info'.
4191
e0b37bb5 41922009-09-21 Felix Zielcke <fzielcke@z-51.de>
4193
4194 * kern/term.c: Fix indentation.
4195
5a78865b 41962009-09-21 Felix Zielcke <fzielcke@z-51.de>
4197
4198 * util/hostdisk.c: Fix a comment.
4199
dace7e8a 42002009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4201
4202 Fix regression introduced in r2539.
4203
4204 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4205 to 0xA1.
4206
a83d079b 42072009-09-19 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4210 os-prober. Under normal operation, it does not print anything to
4211 stderr; if it does, we need to debug it, and throwing away stderr
4212 makes that excessively difficult.
a83d079b 4213
be94a509 42142009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4217
63f745e8 42182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4219
4220 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4221 AC_LANG_PROGRAM from autoconf.
4222 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4223 prototypes (fixes warning).
4224
4225 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4226 `--disable-werror' was used.
4227
bbb2a70f 42282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4229
4230 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4231 uninitialized `lastaddr'.
4232
77c24f1d 42332009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4234
0f0b8c87 4235 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4236
07197f23 42372009-09-14 Colin Watson <cjwatson@ubuntu.com>
4238
4239 * commands/test.c (get_fileinfo): Return immediately if
4240 grub_fs_probe fails.
4241
dabf1798 42422009-09-14 José Martínez <xosemp@gmail.com>
4243
4244 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4245
d52109a7 42462009-09-14 Colin Watson <cjwatson@ubuntu.com>
4247
4248 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4249 output.
4250
56532179 42512009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4252
4253 * configure.ac: Remove --enable-grub-pe2elf. Only build
4254 grub-pe2elf when needed by the build system itself.
4255 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4256
8ef070f5 42572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4258
4259 * configure.ac: Bump version to 1.97~beta3.
4260 * docs/version.texi: Likewise.
4261
61229557 42622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4263
4264 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4265 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4266 from here ...
4267 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4268 (grub_linux_setup_video): ... to here (with some adjustments).
4269
5c9f8d84 42702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4271
4272 Fix memory corruption issue (spotted by Colin Watson).
4273
4274 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4275 causing returned size to be stored in an incorrect memory location.
4276 Fix use of uninitialized value when storing the returned size.
4277
e8f5d6e9 42782009-09-12 Yves Blusseau <blusseau@zetam.org>
4279
4280 Change clean rules to properly remove files
4281
4282 * genmk.rb: add new clean rules
4283 * Makefile.in (clean): add the new targets
4284 (mostlyclean): likewise
4285
cda2a409 42862009-09-11 Colin Watson <cjwatson@ubuntu.com>
4287
4288 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4289 to grub_uint64_t.
4290 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4291 non-resident files.
4292
86695375 42932009-09-11 Colin Watson <cjwatson@ubuntu.com>
4294
4295 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4296 part of bug #27349.
4297
8aa1541a 42982009-09-10 Felix Zielcke <fzielcke@z-51.de>
4299
4300 * util/grub-mkconfig.in: Make the created config mode 400 and
4301 print a warning if it fails.
4302
48d9bb0a 43032009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4304
4305 * util/grub.d/40_custom.in: Ask user to type custom entries below
4306 comment, rather than below 'exec tail' line.
4307
3b0521be 43082009-09-10 Colin Watson <cjwatson@ubuntu.com>
4309
4310 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4311 visible in grub.cfg.
4312
50051d55 43132009-09-10 Colin Watson <cjwatson@ubuntu.com>
4314
4315 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4316 file.
4317
c0d34387 43182009-09-10 Felix Zielcke <fzielcke@z-51.de>
4319
4320 * docs/grub.cfg: Add an example menu entry for memtest86+.
4321
80a608f3 43222009-09-09 Felix Zielcke <fzielcke@z-51.de>
4323
a2094832 4324 * config.guess: Update to latest version from config git.
80a608f3 4325 * config.sub: Likewise.
4326
99423078 43272009-09-08 Colin Watson <cjwatson@ubuntu.com>
4328
4329 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4330 unknown-command case. Fixes bug #27320.
4331
44454e4c 43322009-09-08 Felix Zielcke <fzielcke@z-51.de>
4333
4334 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4335 `help' if the command exists.
4336
e30d87ad 43372009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4338
4339 * INSTALL: Require GCC 4.1.3 or later.
4340
9a86f1ec 43412009-09-06 Yves Blusseau <blusseau@zetam.org>
4342
4343 * Makefile.in (RMKFILES): add i386-qemu.rmk
4344 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
4345 $(srcdir)/stamp-h.in
4346
7f26d466 43472009-09-05 Robert Millan <rmh.grub@aybabtu.com>
4348
4349 * util/grub-probe.c (probe): Comment out buggy codepath, which
4350 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
4351 should be re-enabled after 1.97.
4352
3a613259 43532009-09-05 Felix Zielcke <fzielcke@z-51.de>
4354
4355 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
4356 find searches for.
4357
197f76c7 43582009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
4361 unnecessary calls to grub_error.
4362
70ba68ce 43632009-09-04 Colin Watson <cjwatson@ubuntu.com>
4364
4365 * NEWS: Mention `keystatus' and Unicode fonts.
4366
4ff0d7a4 43672009-09-04 Robert Millan <rmh.grub@aybabtu.com>
4368
4369 * configure.ac: Bump version to 1.97~beta2.
4370 * docs/version.texi: Likewise.
4371
77c55a87 43722009-09-03 Colin Watson <cjwatson@ubuntu.com>
4373
4374 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
4375 containing unwind information in some cases where it previously did
4376 not. Use -fno-dwarf2-cfi-asm if available to restore the old
4377 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
4378 discussion.
4379
f79572cd 43802009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
4381
4382 Embedding loadenv module into grub-emu
4383
4384 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
4385 commands/loadenv.c
4386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
4387 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
4388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
4389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
4390 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
4391 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
4392
93a81088 43932009-09-03 Magnus Granberg <zorry@ume.nu>
4394
4395 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
4396 include -fPIE in the default specs.
4397 * configure.ac: Check if pie_possible is yes and add -fno-PIE
4398 to TARGET_CFLAGS.
4399
160034b2 44002009-09-03 Felix Zielcke <fzielcke@z-51.de>
4401
4402 * INSTALL: Note that GNU Bison 2.3 or later is required.
4403
087c07c4 44042009-09-03 Colin Watson <cjwatson@ubuntu.com>
4405
4406 * kern/i386/pc/startup.S: Fix typo.
4407
cbf978c0 44082009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
4411 according to GCS.
4412
44132009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 4414
4415 * docs/grub.texi (Naming convention): Describe one-based partition
4416 numbering.
4417 (Device syntax): Likewise.
4418 (File name syntax): Likewise.
4419 (Block list syntax): Likewise.
4420 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
4421 menu.lst.
4422 (File name syntax): Likewise.
4423 (Command-line and menu entry commands): Document acpi, blocklist,
4424 crc, export, insmod, keystatus, ls, set, and unset commands.
4425
f3e8cdfd 44262009-09-02 Colin Watson <cjwatson@ubuntu.com>
4427
4428 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
4429 to avoid implying that only one of --shift, --ctrl, or --alt may be
4430 used.
4431
c0bc232b 44322009-09-02 Colin Watson <cjwatson@ubuntu.com>
4433
4434 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
4435 rather than comparing against S_IFREG, which will almost never work.
4436
aa0f752d 44372009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
4440 (write_blocklists): Likewise.
4441
ecb3166a 44422009-09-01 Colin Watson <cjwatson@ubuntu.com>
4443
4444 * script/lua/grub_lua.h (fputs): Supply a format string as the first
4445 argument to grub_printf.
4446
c403a125 44472009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 4448
4449 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 4450 non GNU test.
31aba781 4451
b5e7312c 44522009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * kern/file.c (grub_file_read): Spelling fix
4455
fe00f472 44562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
4459 loading of headers in some cases.
4460
cc55302e 44612009-08-30 Robert Millan <rmh.grub@aybabtu.com>
4462
4463 * configure.ac: Bump version to 1.97~beta1.
4464 * docs/version.texi: Likewise.
4465
5c90cdd2 44662009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 4467
4468 * include/grub/i386/xnu.h: Add license header.
4469 include grub/err.h explicitly.
4470
c90edae4 44712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4472
4473 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
4474 to `ufs' in the vfs.root.mountfrom kernel parameter.
4475
d8888b5c 44762009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4477
4478 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
4479
4480 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
4481 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
4482
4483 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
4484 `ARRAY_SIZE' macro.
4485
6f07b921 44862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * kern/file.c (grub_file_read): Check offset.
4489 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
4490 * fs/jfs.c (grub_jfs_read_file): Likewise.
4491 * fs/ntfs.c (grub_ntfs_read): Likewise.
4492 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
4493 * fs/minix.c (grub_minix_read_file): Correct offset check.
4494 * fs/ufs.c (grub_ufs_read_file): Likewise.
4495
b4f34077 44962009-08-28 Colin Watson <cjwatson@ubuntu.com>
4497
4498 * term/i386/pc/console.c (bios_data_area): Cast
4499 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
4500
e7c69859 45012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 1-bit optimised blitters.
4504
4505 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
4506 prototype.
4507 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4508 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4509 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4510 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4511 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4512 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4513 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
4514 function.
4515 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4516 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4517 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4518 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4519 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4520 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4521 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
4522 when possible.
4523 * video/video.c (grub_video_get_blit_format): Return
4524 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
4525
a57da43f 45262009-08-28 Colin Watson <cjwatson@ubuntu.com>
4527
4528 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
4529 the first argument to grub_printf.
4530
4cbe67e5 45312009-08-28 Colin Watson <cjwatson@ubuntu.com>
45322009-08-28 Robert Millan <rmh.grub@aybabtu.com>
4533
4534 Add `getkeystatus' terminal method. Add a new `keystatus' command
4535 to query it.
4536
4537 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
4538 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
4539 modifier key bitmasks.
4540 (struct grub_term_input): Add `getkeystatus' member.
4541 (grub_getkeystatus): Add prototype.
4542 * kern/term.c (grub_getkeystatus): New function.
4543
4544 * include/grub/i386/pc/memory.h
4545 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
4546 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
4547 Data Area layout.
4548 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
4549 (grub_console_term_input): Set `getkeystatus' member.
4550 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
4551 constants.
4552 (grub_usb_keyboard_getreport): Likewise.
4553 (grub_usb_keyboard_checkkey): Likewise.
4554 (grub_usb_keyboard_getkeystatus): New function.
4555 (grub_usb_keyboard_term): Set `getkeystatus' member.
4556
4557 * commands/keystatus.c: New file.
4558 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
4559 (keystatus_mod_SOURCES): New variable.
4560 (keystatus_mod_CFLAGS): Likewise.
4561 (keystatus_mod_LDFLAGS): Likewise.
4562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
4563 commands/keystatus.c.
4564 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4566 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4568 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4569 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 4570
6e2a9085 45712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Split befs.mod and afs.mod into *_be.mod and *.mod
4574
4575 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
4576 (grub_fstest_SOURCES): Likewise.
4577 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
4578 (afs_be_mod_SOURCES): New variable.
4579 (afs_be_mod_CFLAGS): Likewise.
4580 (afs_be_mod_LDFLAGS): Likewise.
4581 (befs_be_mod_SOURCES): Likewise.
4582 (befs_be_mod_CFLAGS): Likewise.
4583 (befs_be_mod_LDFLAGS): Likewise.
4584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
4585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4587 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4588 (grub_emu_SOURCES): Likewise.
4589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4591 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4592 * fs/afs_be.c: New file.
4593 * fs/befs_be.c: New file.
4594 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
4595 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
4596 (U16): Replaced with ...
4597 (grub_afs_to_cpu16): ...this. All users updated.
4598 (U32): Replaced with ...
4599 (grub_afs_to_cpu32): ...this. All users updated.
4600 (U64): Replaced with ...
4601 (grub_afs_to_cpu64): ...this. All users updated.
4602 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
4603 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 4604 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 4605 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4606 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4607 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4608 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4609 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4610 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4611 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4612 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4613
32a71655 46142009-08-26 Bean <bean123ch@gmail.com>
4615
4616 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
4617 64-bit number.
4618 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4619 (grub_xfs_inode_block): Change return type to grub_uint64_t.
4620 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
4621
552bf6c5 46222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 NetBSD memory map support.
4625
4626 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
4627 (grub_netbsd_btinfo_mmap_header): New structure.
4628 (grub_netbsd_btinfo_mmap_entry): Likewise.
4629 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
4630
1ae2078c 46312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 Enable bsd.mod on coreboot.
4634
4635 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
4636 (bsd_mod_SOURCES): New variable.
4637 (bsd_mod_CFLAGS): Likewise.
4638 (bsd_mod_LDFLAGS): Likewise.
4639 (bsd_mod_ASFLAGS): Likewise.
4640 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
4641 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
4642
beefc598 46432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Cleanup NetBSD root support.
4646
4647 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
4648 grub_bsd_get_device.
4649 Fix typo.
4650
3b76e68b 46512009-08-25 Felix Zielcke <fzielcke@z-51.de>
4652
4653 * util/grub.d/00_header.in: Move check for the video backend of
4654 gfxterm from here ...
4655 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
4656 a suitable video backend.
4657
aea664ea 46582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Fix breakage in grub-setup.
4661
4662 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
4663 "msdos_partition_map".
4664
ff747d50 46652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Fix breakage in normal/auth.c.
4668
4669 * normal/auth.c (grub_iswordseparator): New function.
4670
e7e1f93f 46712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 Authentication support.
4674
4675 * commands/password.c: New file.
4676 * conf/common.rmk (pkglib_MODULES): Add password.mod.
4677 (password_mod_SOURCES): New variable.
4678 (password_mod_CFLAGS): Likewise.
4679 (password_mod_LDFLAGS): Likewise.
4680 (normal_mod_SOURCES): Add normal/auth.c.
4681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
4682 normal/auth.c.
4683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4685 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4688 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4689 * include/grub/auth.h: New file.
4690 * include/grub/err.h (grub_err_t): New enum value
4691 GRUB_ERR_ACCESS_DENIED.
4692 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
4693 'users'.
4694 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
4695 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
4696 users updated.
4697 * normal/auth.c: New file.
4698 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
4699 (grub_cmdline_run): Don't allow to go to command line without
4700 authentication.
4701 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
4702 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
4703 menuentry without superuser rights.
4704 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
4705 user isn't a superuser.
4706
70f1161d 47072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 Save space by inlining misc.c functions.
4710
4711 * kern/misc.c (grub_iswordseparator): Made static.
4712 * kern/misc.c (grub_strcat): Moved from here ...
4713 * include/grub/misc.h (grub_strcat): ... here. Inlined.
4714 * kern/misc.c (grub_strncat): Moved from here ...
4715 * include/grub/misc.h (grub_strncat): ... here. Inlined.
4716 * kern/misc.c (grub_strcasecmp): Moved from here ...
4717 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4718 * kern/misc.c (grub_strncasecmp): Moved from here ...
4719 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4720 * kern/misc.c (grub_isalpha): Moved from here ...
4721 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4722 * kern/misc.c (grub_isdigit): Moved from here ...
4723 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4724 * kern/misc.c (grub_isgraph): Moved from here ...
4725 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4726 * kern/misc.c (grub_tolower): Moved from here ...
4727 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4728
48e40bff 47292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * script/sh/function.c (grub_script_function_find): Cut error message
4732 not to flood terminal.
4733 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4734 limit.
4735 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4736
c385bfc3 47372009-08-24 Colin Watson <cjwatson@ubuntu.com>
4738
4739 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4740 `report' grub_uint8_t *.
4741 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4742 Use a 50-millisecond timeout rather than just repeating
4743 grub_usb_keyboard_getreport 50 times.
4744 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4745
2d21e3e8 47462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Rename *_partition_map to part_*
4749
4750 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4751 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4752 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4753 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4754 All users updated.
4755 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4756 All users updated.
4757 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4758 * util/grub-probe.c (probe_partmap): Don't transform partition name
4759 to get module name.
4760
dd103c4e 47612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Fix OpenBSD and NetBSD support.
4764
4765 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4766 memory address conflict.
4767 (OPENBSD_MMAP_ACPI): New definition.
4768 (OPENBSD_MMAP_NVS): Likewise.
4769 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4770 and OPENBSD_MMAP_NVS.
4771 Add memory map terminator
4772 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4773 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4774
16c84d74 47752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Let user specify NetBSD root device.
4778
4779 * loader/i386/bsd.c (netbsd_root): New variable.
4780 (netbsd_opts): New option 'root'.
4781 (NETBSD_ROOT_ARG): New macro.
4782 (grub_netbsd_boot): Use 'netbsd_root'.
4783 (grub_bsd_unload): Free 'netbsd_root'.
4784 (grub_cmd_netbsd): Fill 'netbsd_root'.
4785
adb29902 47862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 Support for 64-bit NetBSD.
4789
4790 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4791 point when booting non-FreeBSD.
4792
f5ae9f74 47932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Support --no-smp and --no-acpi for NetBSD.
4796
4797 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4798 (NETBSD_AB_NOACPI): Likewise.
4799 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4800 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4801
de74f136 48022009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
4805 errors.
4806 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
4807 errors. Call grub_error when needed.
4808
e9a925da 48092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * commands/search.c (search_fs): Try searching without autoload first.
4812 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4813 filesystem module explicitly for faster booting.
4814
5174302b 48152009-08-23 Colin Watson <cjwatson@ubuntu.com>
4816
4817 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
4818
c8c80635 48192009-08-23 Colin Watson <cjwatson@ubuntu.com>
4820
4821 * util/grub.d/30_os-prober.in: Disable os-prober if
4822 `GRUB_DISABLE_OS_PROBER' was set to true.
4823
71acf5e5 48242009-08-23 Robert Millan <rmh.grub@aybabtu.com>
4825
4826 * partmap/pc.c: Rename to ...
4827 * partmap/msdos.c: ... this. Update all users.
4828 (grub_pc_partition_map): Rename to ...
4829 (grub_msdos_partition_map): ... this. Update all users.
4830
4831 * parttool/pcpart.c: Rename to ...
4832 * parttool/msdospart.c: ... this. Update all users.
4833
4834 * include/grub/pc_partition.h: Rename to ...
4835 * include/grub/msdos_partition.h: ... this. Update all users.
4836 (grub_pc_partition_bsd_entry): Rename to ...
4837 (grub_msdos_partition_bsd_entry): ... this. Update all users.
4838 (grub_pc_partition_disk_label): Rename to ...
4839 (grub_msdos_partition_disk_label): ... this. Update all users.
4840 (grub_pc_partition_entry): Rename to ...
4841 (grub_msdos_partition_entry): ... this. Update all users.
4842 (grub_pc_partition_mbr): Rename to ...
4843 (grub_msdos_partition_mbr): ... this. Update all users.
4844 (grub_pc_partition): Rename to ...
4845 (grub_msdos_partition): ... this. Update all users.
4846 (grub_pc_partition_is_empty): Rename to ...
4847 (grub_msdos_partition_is_empty): ... this. Update all users.
4848 (grub_pc_partition_is_extended): Rename to ...
4849 (grub_msdos_partition_is_extended): ... this. Update all users.
4850 (grub_pc_partition_is_bsd): Rename to ...
4851 (grub_msdos_partition_is_bsd): ... this. Update all users.
4852
4853 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
4854 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
4855 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
4856 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
4857 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
4858 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
4859 (gpt_mod_LDFLAGS): Rename to ...
4860 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
4861 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
4862 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
4863 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
4864 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
4865 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
4866 (part_gpt_mod_LDFLAGS): ... this.
4867 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
4868 `pcpart.mod' to `msdospart.mod'.
4869 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
4870 to ...
4871 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
4872 (msdospart_mod_LDFLAGS): ... this.
4873
c11fded5 48742009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
4877 (openbsd_opts): Likewise.
4878 (netbsd_opts): Likewise.
4879 (freebsd_flags): Added 0 terminator.
4880 (openbsd_flags): Likewise.
4881 (netbsd_flags): Likewise.
4882 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
4883 (grub_cmd_freebsd): Transformed into extended command.
4884 (grub_cmd_openbsd): Likewise.
4885 (grub_cmd_netbsd): Likewise.
4886 (cmd_freebsd): Changed type to grub_extcmd_t.
4887 (cmd_openbsd): Likewise.
4888 (cmd_netbsd): Likewise.
4889 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
4890 grub_cmd_openbsd as extended commands.
4891 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
4892 cmd_netbsd and cmd_openbsd
4893
11d1c769 48942009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
4897
7a9094e5 48982009-08-21 Pavel Roskin <proski@gnu.org>
4899
5496c37e 4900 * Makefile.in (install-local): When checking if a file is in the
4901 build directory, use "test -e" to detect symlinks.
4902
7a9094e5 4903 * Makefile.in (install-local): Remove all files in
4904 $(DESTDIR)$(pkglibdir) before installing new files there.
4905
e53cea11 49062009-08-18 Felix Zielcke <fzielcke@z-51.de>
4907
4908 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
4909 grub-mkelfimage.
4910
9aced544 49112009-08-18 Felix Zielcke <fzielcke@z-51.de>
4912
4913 * util/grub-mkconfig.in: Don't use gfxterm by default if not
4914 explicitly specified by the user.
4915
b7da6bab 49162009-08-18 Pavel Roskin <proski@gnu.org>
4917
4918 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
4919 grub_uint8_t pointer for data.
4920 * include/grub/fbutil.h (struct grub_video_fbblit_info):
4921 Likewise.
4922 * video/fb/fbutil.c: Remove unnecessary casts.
4923
19f1b335 49242009-08-17 Michal Suchanek <hramrach@centrum.cz>
4925
4926 VBE cleanup.
4927
4928 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
4929 (grub_vbe_set_video_mode): Save active mode info
4930 only after setting the mode.
4931 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
4932 second argument.
4933
2f467aa9 49342009-08-17 Michal Suchanek <hramrach@centrum.cz>
4935
4936 Rename variables for clarity.
4937
4938 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
4939 (active_vbe_mode_info): ... this. All users updated.
4940 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
4941 All users updated.
4942 (initial_mode): Rename to ...
4943 (initial_vbe_mode): ... this. All users updated.
4944 (mode_in_use): Rename to ..
4945 (vbe_mode_in_use): ... this. All users updated.
4946 (mode_list): Rename to ..
4947 (vbe_mode_list): ... this. All users updated.
4948 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
4949 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
4950 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
4951 'mode_list_size' to 'vbe_mode_list_size'.
4952 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
4953 'best_mode_info' to 'best_vbe_mode_info' and
4954 'best_mode' to 'best_vbe_mode'
4955
6025fcd7 49562009-08-17 Michal Suchanek <hramrach@centrum.cz>
4957
4958 Remove duplicate grub_video_fb_get_video_ptr.
4959
4960 * include/grub/fbutil.h (get_data_ptr): Rename to ...
4961 (grub_video_fb_get_video_ptr): ... this.
4962 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
4963 * video/fb/fbutil.c: Add comment about addressing.
4964 (get_data_ptr): Rename to ...
4965 (grub_video_fb_get_video_ptr): ... this. All users updated.
4966 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
4967
cc8c6faf 49682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4969
4970 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
4971 grub_dprintf() that was just added.
4972
08aa61f0 49732009-08-17 Robert Millan <rmh.grub@aybabtu.com>
4974
4975 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
4976 (DEFAULT_VIDEO_MODE): Remove macros.
4977 (grub_linux_boot): Remove assumption that Linux has FB support,
4978 and use "text" as default video mode.
4979
7cef4f75 49802009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
4983 grub_dprintf.
4984 * fs/fat.c (grub_fat_read_data): Likewise.
4985
e1f39873 49862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
4989 payload.
4990 (grub_module): Likewise.
4991
c166d79e 49922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
4995 mbi->cmdline but free playground.
4996
c60cee8e 49972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 Handle group offset on UFS1.
5000
5001 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5002 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5003
c0d8b5d4 50042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 Split ufs.mod into ufs1.mod and ufs2.mod.
5007
5008 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5009 (grub_fstest_SOURCES): Likewise.
5010 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5011 (ufs_mod_SOURCES): Remove.
5012 (ufs_mod_CFLAGS): Likewise.
5013 (ufs_mod_LDFLAGS): Likewise.
5014 (ufs1_mod_SOURCES): New variable.
5015 (ufs1_mod_CFLAGS): Likewise.
5016 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5017 (ufs2_mod_SOURCES): New variable.
5018 (ufs2_mod_CFLAGS): Likewise.
5019 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5021 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5022 Likewise.
5023 (grub_emu_SOURCES): Likewise.
5024 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5025 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5026 (grub_setup_SOURCES): Likewise.
5027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5028 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5029 (grub_setup_SOURCES): Likewise.
5030 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5031 Likewise.
5032 * fs/ufs2.c: New file.
5033 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5034
d3539132 50352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 Framebuffer split.
5038
5039 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5040 subsystem at the end.
5041 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5042 (video_fb_mod_SOURCES): New variable.
5043 (video_fb_mod_CFLAGS): Likewise.
5044 (video_fb_mod_LDFLAGS): Likewise.
5045 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5046 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5047 * video/i386/pc/vbeblit.c: Moved from here ...
5048 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5049 * video/i386/pc/vbefill.c: Moved from here ...
5050 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5051 * video/i386/pc/vbeutil.c: Moved from here ...
5052 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5053 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5054 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5055 * include/grub/i386/pc/vbefill.h: Moved from here ...
5056 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5057 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5058 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5059 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5060 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5061 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5062 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5063 (grub_video_adapter): Added 'get_info_and_fini'.
5064 (grub_video_get_info_and_fini): New prototype.
5065 (grub_video_set_mode): make modestring const char *.
5066 * loader/i386/linux.c (grub_linux_setup_video): Use
5067 grub_video_get_info_and_fini.
5068 (grub_linux_boot): Move modesetting just before booting.
5069 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5070 grub_video_get_info_and_fini.
5071 * video/i386/pc/vbe.c: Moved framebuffer part ...
5072 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5073 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5074 grub_video_fbstd_colors and grub_video_fb_set_palette.
5075 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5076 grub_video_fb_init.
5077 (grub_video_vbe_fini): Use grub_video_fb_fini.
5078 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5079 render_target and use grub_video_fb_set_active_render_target and
5080 grub_video_fb_set_palette.
5081 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5082 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5083 (grub_video_vbe_adapter): Use framebuffer.
5084 * video/video.c (grub_video_get_info_and_fini): New function.
5085 (grub_video_set_mode): Make modestring const char *.
5086 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5087 values are already initialised.
5088
d404ee56 50892009-08-14 Pavel Roskin <proski@gnu.org>
5090
5091 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5092 ABS and APPLE_CC.
5093 * boot/i386/pc/diskboot.S: Likewise.
5094 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5095 sectors allow compilation on MacOSX.
5096 * conf/i386-pc.rmk: Enable unconditional compilation of
5097 lnxboot.img.
5098
9a10df16 50992009-08-13 Colin Watson <cjwatson@ubuntu.com>
5100
5101 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5102 * util/grub.d/00_header.in: Enter interruptible sleep if
5103 GRUB_HIDDEN_TIMEOUT is set.
5104
be3c9ca7 51052009-08-13 Yves Blusseau <blusseau@zetam.org>
5106
5107 * include/grub/symbol.h: Add the LOCAL macro.
5108 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5109 starting with "L_".
5110
1f9e557e 51112009-08-13 Pavel Roskin <proski@gnu.org>
5112
9ca62843 5113 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5114 any modern compilers we support.
5115
1f9e557e 5116 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5117 Use local labels starting with "L_" so that Apple assembler
5118 knows they are local.
5119
81623db6 51202009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5121
5122 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5123 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5124 (bsd_kernel_types): ... this enum.
5125
5126 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5127 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5128 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5129
5130 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5131 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5132 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5133 messages.
5134
f5d35e7a 51352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5136
5137 * util/grub-dumpdevtree: Moved from here ...
5138 * util/i386/efi/grub-dumpdevtree: ... to here.
5139 (hexify): New function. Converts a string to its hex version.
5140 Generate hex versions of "efi" and "device-properties" by calling
5141 hexify() on the ASCII strings rather than by hardcoding numbers.
5142
d1e1d527 51432009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5144
5145 * fs/jfs.c: Update copyright year.
5146
1ebbe064 51472009-08-08 Felix Zielcke <fzielcke@z-51.de>
5148
5149 * util/grub.d/00_header.in: Fix a comment.
5150 * util/grub.d/10_linux.in: Likewise.
5151 * util/grub.d/10_windows.in: Likewise.
5152 * util/grub.d/10_hurd.in: Likewise.
5153
a78c8d24 51542009-08-08 Felix Zielcke <fzielcke@z-51.de>
5155
5156 * util/grub-mkconfig.in: Allow the user to specify the used font
5157 with GRUB_FONT.
5158
29a6b9e8 51592009-08-08 Pavel Roskin <proski@gnu.org>
5160
b5f16cc4 5161 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5162 available, xfs.mod needs it now.
5163
2f5cb827 5164 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5165 the "g" modifier in sed when the intention is to strip something
5166 once. This fixes comparison of kernels with multiple dashes.
5167
29a6b9e8 5168 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5169 on it. Add missing space before closing bracket. Fix
5170 misleading formatting.
5171
892a3d98 51722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5173
5174 * docs/grub.texi: Major overhaul. Remove all sections that are
5175 specific to GRUB Legacy, or mostly composed of Legacy-specific
5176 information.
5177
ed94253f 51782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5179
5180 * docs/version.texi: New file. Provides version information for
5181 grub.texi.
5182
126d6628 51832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5184
5185 * docs/grub.texi: Update CVS information to SVN.
5186 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5187
998b5aa9 51882009-08-07 Felix Zielcke <fzielcke@z-51.de>
5189
5190 * util/grub-mkconfig.in: Remove a wrong `fi'.
5191
818e094a 51922009-08-07 Felix Zielcke <fzielcke@z-51.de>
5193
5194 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5195 (grub_jfs_uuid): New function.
5196 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5197
b969c52f 51982009-08-07 Felix Zielcke <fzielcke@z-51.de>
5199
5200 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5201 of it to ...
5202 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5203 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5204
7a4894cc 52052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5206
5207 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5208 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5209 Update all users.
5210
5211 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5212 not just "vmlinu[zx]".
5213 Moved from here ...
5214 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5215 all users.
5216
5217 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5218 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5219 all users.
5220
4e2171f8 52212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5222
5223 * util/grub.d/10_freebsd.in: Use an absolute device path for
5224 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5225
6dcfcb32 52262009-08-06 Felix Zielcke <fzielcke@z-51.de>
5227
5228 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5229 handling of multiple abstraction modules.
5230
f56a8756 52312009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5232
5233 Fix a bug resulting in black screen when loading Linux using a
5234 packed video mode.
5235
5236 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5237 function.
5238
5239 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5240 (grub_vbe_bios_getset_dac_palette_width): New function.
5241 (grub_vbe_bios_get_dac_palette_width)
5242 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5243 grub_vbe_bios_getset_dac_palette_width()).
5244
5245 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5246 check for return status.
5247 (grub_vbe_get_video_mode_info): When getting information for a packed
5248 mode (<= 8 bpp), obtain DAC palette width using
5249 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5250 {red,green,blue}_mark_size.
5251
222671b2 52522009-08-04 Felix Zielcke <fzielcke@z-51.de>
5253
ecb1a6d9 5254 * commands/search.c (options): Fix help output to match actual code.
222671b2 5255
f84114f5 52562009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5259 of homegrown code.
5260
bd288a20 52612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5262
5263 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5264 on XFS or ReiserFS.
5265
8aab5e25 52662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Support Apple partition map with sector size different from 512 bytes.
5269
5270 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5271 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5272 and 'apart.partmap_size'.
5273
6ad6258a 52742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
52752009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5276
5277 Fix cpuid command.
5278
5279 * commands/i386/cpuid.c (options): New variable.
5280 (grub_cmd_cpuid): Return real error.
5281 (GRUB_MOD_INIT(cpuid)): Declare options.
5282
67459bc6 52832009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5286 valid.
5287
fbc6ab54 52882009-07-31 Bean <bean123ch@gmail.com>
5289
5290 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5291 log2_inode.
5292 (grub_fshelp_node): Move inode field to the end.
5293 (grub_xfs_data): Remove inode field.
5294 (grub_xfs_inode_block): Calculate inode size using sblock.
5295 (grub_xfs_inode_offset): Likewise.
5296 (grub_xfs_read_inode): Calculate inode size using sblock.
5297 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5298 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5299 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5300 to match inode size.
5301 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5302 not accessible when data is null.
5303 (grub_xfs_open): Likewise.
5304
f45d6cfc 53052009-07-31 Bean <bean123ch@gmail.com>
5306
5307 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5308 Don't change pv->disk if it's already set.
5309
5310 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5311 (grub_raid_register): ... here.
5312 (grub_raid_rescan): Removed.
5313
5314 * include/grub/raid.h (grub_raid_rescan): Removed.
5315
5316 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5317 (fstest): Replace grub_raid_rescan with module fini function followed
5318 by init function.
5319
5320 * util/grub-probe.c: Add include file <grub/raid.h>.
5321 (probe_raid_level): New function.
5322 (probe): Detect abstraction by walking the disk device, support two
5323 level of abstraction (LVM on RAID) when detecting partition map.
5324
24443b5a 53252009-07-31 Pavel Roskin <proski@gnu.org>
5326
5327 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5328 to grub_zalloc(), it was erroneous.
5329 Reported by Bean <bean123ch@gmail.com>
5330
a275d9e7 53312009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5334 embedding zone, not only the first one.
a275d9e7 5335
56c5a47f 53362009-07-29 Joe Auricchio <jauricchio@gmail.com>
5337
5338 * term/gfxterm.c (clear_char): New function.
5339 (grub_virtual_screen_setup): Use clear_char.
5340 (scroll_up): Likewise.
5341 (grub_virtual_screen_cls): Likewise.
5342
67bb323a 53432009-07-29 Felix Zielcke <fzielcke@z-51.de>
5344
5345 * util/deviceiter.c (get_acceleraid_disk_name): New static
5346 function.
5347 (grub_util_iterate_devices): Handle Accelraid devices.
5348 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
5349
388a7c75 53502009-07-28 Robert Millan <rmh.grub@aybabtu.com>
5351
5352 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
5353 separator for the suggested gfxpayload string (';' collides with the
5354 parser and needs escaping).
5355
3bb7abcf 53562009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
5359 Clear direction flag before jumping to OS.
5360 (grub_multiboot2_real_boot): Likewise.
5361
2ddd36d7 53622009-07-28 Felix Zielcke <fzielcke@z-51.de>
5363
5364 * util/i386/pc/grub-install: Fix parsing of --disk-module
5365 option.
5366
c521b62b 53672009-07-28 Felix Zielcke <fzielcke@z-51.de>
5368
5369 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
5370 when embedding.
5371
880e0a0c 53722009-07-26 Felix Zielcke <fzielcke@z-51.de>
5373
5374 * util/grub-mkconfig.in (package_version): New variable.
5375 Use it do display the version.
5376
2366e356 53772009-07-25 Felix Zielcke <fzielcke@z-51.de>
5378
5379 * kern/file.c (grub_file_open): Revert to previous check with
5380 grub_errno.
5381
7ad8c80e 53822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
5385 from help line. It's out of sync with code.
5386
72b9658b 53872009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
5390 entries on failed boot.
5391
77435277 53922009-07-25 Felix Zielcke <fzielcke@z-51.de>
5393
5394 * kern/file.c (grub_file_open): Fix an error check.
5395
fcaa8b21 53962009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
5397
35d16c74 5398 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
5399 partition map couldn't be identified.
fcaa8b21 5400
48904cd1 54012009-07-23 Pavel Roskin <proski@gnu.org>
5402
ef3c317f 5403 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
5404 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
5405 case of little endian words becomes just an optimization.
5406 Respect const modifier.
ad8ea1f4 5407 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 5408
48904cd1 5409 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
5410 to avoid loss of upper bits if align is unsigned and shorter
5411 than addr.
5412
260c9a89 54132009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 UUID support for UFS
5416
5417 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
5418 (grub_ufs_uuid): New function.
5419 (grub_ufs_fs): add .uuid
5420
f76ce889 54212009-07-21 Pavel Roskin <proski@gnu.org>
5422
5423 * kern/dl.c (grub_dl_check_header): Make static.
5424
6a6cbcaf 54252009-07-21 Felix Zielcke <fzielcke@z-51.de>
5426
5427 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
5428 add drivemap for Vista. It breaks Windows 7.
5429
cffcddb2 54302009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
5433 128 bytes
5434
1ef44b80 54352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 Add BFS support
5438
5439 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
5440 (grub_fstest_SOURCES): Likewise.
5441 (pkglib_MODULES): Add befs.mod.
5442 (befs_mod_SOURCES): New variable.
5443 (befs_mod_CFLAGS): Likewise.
5444 (befs_mod_LDFLAGS): Likewise.
5445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5446 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5447 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5448 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5449 (grub_setup_SOURCES): Likewise.
5450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5451 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5452 (grub_setup_SOURCES): Likewise.
5453 * fs/befs.c: New file.
5454 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
5455 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
5456 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
5457 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
5458 (B_KEY_INDEX_ALIGN): New declaration.
5459 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
5460 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
5461 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
5462 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
5463 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
5464 (grub_afs_mount) [MODE_BFS]: Likewise.
5465 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
5466 (grub_afs_fs): Use GRUB_AFS_FSNAME
5467 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
5468 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
5469 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
5470 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
5471
4f253044 54722009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
5473
5474 * util/getroot.c (find_root_device): Add support for MacOSX.
5475 * util/hostdisk.c: Likewise.
5476
57a55913 54772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * font/font.c (find_glyph): Check whether a font is present to avoid
5480 segmentation fault.
75421ca9 5481
54822009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 5483
5484 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
5485
e98cd0c2 54862009-07-20 Pavel Roskin <proski@gnu.org>
5487
5488 * configure.ac: Trim excessively wordy excuses.
5489
1d2d169a 54902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Add symlink, mtime and label support to AtheFS.
5493
5494 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
5495 (grub_afs_iterate_dir): Handle symlinks.
5496 (grub_afs_open): Use grub_afs_read_symlink.
5497 (grub_afs_dir): Likewise.
5498 Pass mtime.
5499 (grub_afs_label): New function.
5500 (grub_afs_fs): Add grub_afs_label.
5501 (grub_afs_read_symlink): New function.
5502
186f3189 55032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 Fix AtheFS support.
5506
5507 * fs/afs.c: Fix comments style.
5508 (grub_afs_blockrun): Declare as packed.
5509 (grub_afs_datastream): Likewise.
5510 (grub_afs_bnode): Likewise.
5511 (grub_afs_btree): Likewise.
5512 (grub_afs_sblock): Likewise.
5513 Declare `name' as char.
5514 (grub_afs_inode): Declare as packed.
5515 Change void *vnode to grub_uint32_t unused.
5516 (grub_afs_iterate_dir): Check that key_size is positive.
5517 (grub_afs_mount): Don't read superblock twice.
75421ca9 5518 (grub_afs_dir): Don't free node in case of error,
186f3189 5519 grub_fshelp_find_file already handles this.
5520 (grub_afs_open): Likewise.
5521
5680109e 55222009-07-19 Pavel Roskin <proski@gnu.org>
5523
5524 * Makefile.in: Remove LIBLZO and enable_lzo.
5525 * conf/i386-pc.rmk: Remove lzo support.
5526 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
5527 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
5528 support.
5529 * kern/i386/pc/lzo1x.S: Remove.
5530 * kern/i386/pc/startup.S: Remove lzo support.
5531 * util/i386/pc/grub-mkimage.c: Likewise.
5532
ac70fa32 55332009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
5536 * fs/xfs.c (grub_xfs_dir): Likewise.
5537 * fs/afs.c (grub_afs_dir): Likewise.
5538 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5539 (grub_iso9660_open): Likewise.
5540 * fs/jfs.c (grub_jfs_open): Likewise.
5541 * fs/ext2.c (grub_ext2_dir): Likewise.
5542 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
5543 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 5544
eab58da2 55452009-07-16 Pavel Roskin <proski@gnu.org>
5546
d2838156 5547 * configure.ac: Never add "-c" to CFLAGS.
5548
55c70904 5549 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
5550
43e6200c 5551 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
5552 grub_cv_cc_efiemu should be used.
5553
ce7a733d 5554 * configure.ac: Typo fixes.
5555
eab58da2 5556 * kern/mm.c (grub_zalloc): New function.
5557 (grub_debug_zalloc): Likewise.
5558 * include/grub/mm.h: Declare grub_zalloc() and
5559 grub_debug_zalloc().
5560 * util/misc.c (grub_zalloc): New function.
5561 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
5562 instead of grub_malloc(), remove unneeded initializations.
5563 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
5564 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
5565 * commands/parttool.c (grub_cmd_parttool): Likewise.
5566 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5567 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
5568 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
5569 * disk/usbms.c (grub_usbms_finddevs): Likewise.
5570 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
5571 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
5572 (grub_cmd_efiemu_pnvram): Likewise.
5573 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
5574 * fs/iso9660.c (grub_iso9660_mount): Likewise.
5575 (grub_iso9660_iterate_dir): Likewise.
5576 * fs/jfs.c (grub_jfs_opendir): Likewise.
5577 * fs/ntfs.c (list_file): Likewise.
5578 (grub_ntfs_mount): Likewise.
5579 * kern/disk.c (grub_disk_open): Likewise.
5580 * kern/dl.c (grub_dl_load_core): Likewise.
5581 * kern/elf.c (grub_elf_file): Likewise.
5582 * kern/env.c (grub_env_context_open): Likewise.
5583 (grub_env_set): Likewise.
5584 (grub_env_set_data_slot): Likewise.
5585 * kern/file.c (grub_file_open): Likewise.
5586 * kern/fs.c (grub_fs_blocklist_open): Likewise.
5587 * loader/i386/multiboot.c (grub_module): Likewise.
5588 * loader/xnu.c (grub_xnu_create_key): Likewise.
5589 (grub_xnu_create_value): Likewise.
5590 * normal/main.c (grub_normal_add_menu_entry): Likewise.
5591 (read_config_file): Likewise.
5592 * normal/menu_entry.c (make_screen): Likewise.
5593 * partmap/sun.c (sun_partition_map_iterate): Likewise.
5594 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
5595 * script/sh/script.c (grub_script_parse): Likewise.
5596 * video/bitmap.c (grub_video_bitmap_create): Likewise.
5597 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5598 * video/readers/png.c (grub_png_output_byte): Likewise.
5599 (grub_video_reader_png): Likewise.
5600
830afef7 56012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 5602
5603 Enable all targets that can be built by default
5604
830afef7 5605 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 5606 grub-mkfont and grub-fstest if they can be built
5607
ee293aee 56082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Fix hang and segmentation fault in grub-emu-usb
5611
5612 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
5613 * util/usb.c (grub_libusb_devices): likewise
5614 (grub_libusb_init): rename to ...
5615 (GRUB_MOD_INIT (libusb)):...this
5616 (grub_libusb_fini): rename to ..
5617 (GRUB_MOD_FINI (libusb)):...this
5618 * disk/usbms.c (grub_usbms_transfer): fix retry logic
5619 * include/grub/disk.h (grub_raid_init): removed, it's useless
5620 (grub_raid_fini): likewise
5621 (grub_lvm_init): likewise
5622 (grub_lvm_fini): likewise
5623 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
5624 by grub_init_all
5625
94414221 56262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 Fix libusb
5629
5630 * Makefile.in (LIBUSB): new macro
5631 * genmk.rb (Utility/print_tail): new method
5632 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
5633 (top level): call util.print_tail at the end.
5634
59ade63d 56352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 Make FreeBSD accept zpool.cache
5638
5639 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
5640 type is /boot/zfs/zpool.cache
5641
a58da8c7 56422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 Fix 64-bit efiemu
5645
5646 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
5647 correct wrong typedef
5648 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
5649
20591577 56502009-07-15 Pavel Roskin <proski@gnu.org>
5651
560ca572 5652 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
5653 * kern/disk.c (struct grub_disk_cache): Likewise.
5654
e8e8e4fd 5655 * commands/probe.c (options): Typo fix.
5656
fde24e10 5657 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
5658 Increase to 0x5a to accommodate FAT32. Adjust other offsets
5659 accordingly.
5660 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
5661
379c54c1 5662 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
5663 the end of "Error" to make the message more readable.
5664
7bd8f5bf 5665 * boot/i386/pc/boot.S (kernel_segment): Remove.
5666 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
5667 for destination.
5668
40b132c5 5669 * boot/i386/pc/boot.S (boot_version): Remove.
5670 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5671 Remove.
5672
20591577 5673 * include/grub/i386/pc/boot.h: Sort all offsets.
5674 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
5675 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
5676 * boot/i386/pc/boot.S: Assert location of every offset listed in
5677 include/grub/i386/pc/boot.h.
5678
2df32b2c 56792009-07-13 Pavel Roskin <proski@gnu.org>
5680
44b5d879 5681 * include/grub/i386/coreboot/machine.h: Rename
5682 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
5683 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
5684 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
5685
17dc3751 5686 * kern/dl.c: Force native word size to suppress warnings when
5687 compiling grub-emu.
5688
2df32b2c 5689 * kern/device.c (grub_device_iterate): Change struct part_ent to
5690 hold the name, not a pointer to it. Use one grub_malloc() per
5691 partition, not two. Free partition_name if grub_malloc() fails.
5692 Set ents to NULL only before grub_partition_iterate() is called.
5693
75c59f59 56942009-07-11 Bean <bean123ch@gmail.com>
5695
5696 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
5697 childname.
5698
0ae1bf88 56992009-07-10 Bean <bean123ch@gmail.com>
57002009-07-10 Robert Millan <rmh.grub@aybabtu.com>
5701
5702 * kern/ieee1275/openfw.c (grub_children_iterate)
5703 (grub_devalias_iterate): Fix size evaluation for property or path
5704 strings, which was broken since r2132.
5705
8279cade 57062009-07-07 Pavel Roskin <proski@gnu.org>
5707
7d8a52d3 5708 * commands/search.c (search_file): Merge into ...
5709 (search_fs): ... this. Accept search type as argument.
5710 (grub_cmd_search): Pass search type to search_fs().
5711
25f9a05a 5712 * include/grub/util/console.h: New file.
5713 * util/console.c: Use it instead of grub/machine/console.h.
5714 * util/grub-emu.c: Likewise.
5715
8279cade 5716 * lib/arg.c (find_long_option): Remove.
5717 (find_long): Add `len' argument, make `s' const char *.
5718 (grub_arg_parse): Parse long options in place, not in a
5719 temporary buffer.
5720
4a11b60f 57212009-07-06 Pavel Roskin <proski@gnu.org>
5722
99f68041 5723 * commands/search.c (search_fs): Fix potential NULL pointer
5724 dereference.
5725
4a11b60f 5726 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5727 function pointer.
5728
e110f4de 57292009-07-06 Daniel Mierswa <impulze@impulze.org>
5730
5731 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5732 comparison.
5733
46eeb6a2 57342009-07-05 Pavel Roskin <proski@gnu.org>
5735
bab74958 5736 * include/grub/i386/linux.h (struct linux_kernel_params):
5737 Restore padding3, it's still needed.
5738
46eeb6a2 5739 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5740 FreeBSD.
5741 * util/osdetect.lua: Likewise.
5742
b4a1dc79 57432009-07-05 Bean <bean123ch@gmail.com>
5744
5745 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5746
5747 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5748 (grub_lua_getenv): Likewise.
5749 (grub_lua_setenv): Likewise.
5750 (save_errno): New function.
5751 (push_result): Likewise.
5752 (grub_lua_enum_device): Likewise.
5753 (grub_lua_enum_file): Likewise.
5754 (grub_lua_file_open): Likewise.
5755 (grub_lua_file_close): Likewise.
5756 (grub_lua_file_seek): Likewise.
5757 (grub_lua_file_read): Likewise.
5758 (grub_lua_file_getline): Likewise.
5759 (grub_lua_file_getsize): Likewise.
5760 (grub_lua_file_getpos): Likewise.
5761 (grub_lua_file_eof): Likewise.
5762 (grub_lua_file_exist): Likewise.
5763 (grub_lua_add_menu): Likewise.
5764
5765 * script/lua/grub_lua.h (isupper): New inline function.
5766 (islower): Likewise.
5767 (ispunct): Likewise.
5768 (isxdigit): Likewise.
5769 (strcspn): Change to normal function.
5770 (strpbkr): New function declaration.
5771 (memchr): Likewise.
5772
5773 * script/lua/grub_main.c (scan_str): New function.
5774 (strcspn): Likewise.
5775 (strpbrk): Likewise.
5776 (memchr): Likewise.
5777
5778 * script/lua/linit.c (lualibs): Enable the string library.
5779
5780 * util/osdetect.lua: New file.
5781
2da92295 57822009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5783
5784 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5785 `capabilities' member.
5786
b2582ec9 57872009-07-02 Pavel Roskin <proski@gnu.org>
5788
5789 * genparttoollist.sh: Add missing newline at the end.
5790
32622956 57912009-07-01 Pavel Roskin <proski@gnu.org>
5792
87a7339e 5793 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5794
d23af54e 5795 * util/hostdisk.c (open_device): Remove `const' from
5796 `sysctl_size', as sysctlbyname() can change it (in this case it
5797 doesn't actually happen).
5798
c94b18a9 5799 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5800 using signed long int constants.
5801
c6cd3ef0 5802 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
5803 constant to avoid a warning on FreeBSD.
5804
0df63420 5805 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
5806 where it's needed.
5807
999577f1 5808 * Makefile.in: Install include/grub/machine symlink.
5809
6f41557f 5810 * Makefile.in: When installing symlinks, use "cp -fR", which
5811 works on FreeBSD and MacOSX.
5812 From Yves Blusseau <cl7m42e02@sneakemail.com>
5813
c8d22988 5814 * kern/dl.c (grub_dl_resolve_symbol): Make static.
5815 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
5816
1b96e952 5817 * util/misc.c: Move grub_reboot() and grub_halt() ...
5818 * util/grub-emu.c: ... here. Make main_env static.
5819 * include/grub/util/misc.h: Remove main_env.
5820
2ef0084d 5821 * kern/mm.c: Use correct format to print size_t.
5822
32622956 5823 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
5824 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
5825 * kern/powerpc/dl.c: Likewise.
5826 * kern/sparc64/dl.c: Likewise.
5827 * kern/x86_64/dl.c: Likewise.
5828
3f7f0cd0 58292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5830
5831 Fix grub-emu build on sparc64-ieee1275.
5832
75421ca9 5833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 5834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
5835
211d06b5 58362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5837
5838 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
5839 (grub_reboot, grub_halt): New functions.
5840
5841 * util/i386/pc/misc.c: Delete. Update all users.
5842 * util/sparc64/ieee1275/misc.c: Likewise.
5843 * util/powerpc/ieee1275/misc.c: Likewise.
5844
aaf53e3c 58452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5846
5847 * conf/i386.rmk (setjmp_mod_SOURCES)
5848 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
5849 * conf/common.rmk (setjmp_mod_SOURCES)
5850 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
5851 to use $(target_cpu).
5852 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
5853 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
5854 * conf/powerpc-ieee1275.rmk: Likewise.
5855 * conf/sparc64-ieee1275.rmk: Likewise.
5856
5857 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
5858 $(target_cpu) for kern/$(target_cpu)/dl.c.
5859 * conf/i386-efi.rmk: Likewise.
5860 * conf/i386-ieee1275.rmk: Likewise.
5861 * conf/x86_64-efi.rmk: Likewise.
5862 * conf/i386-coreboot.rmk: Likewise.
5863 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
5864 $(target_cpu) for kern/$(target_cpu)/dl.c and for
5865 kern/$(target_cpu)/cache.S.
5866 * conf/sparc64-ieee1275.rmk: Likewise.
5867
a337130b 58682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
5871 type to `grub_uint8_t', and adjust `padding9' accordingly.
5872
c6fe4d53 58732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5874
b09db61d 5875 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
5876
c6fe4d53 5877 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
5878 assembly in final jump, using register constraints.
5879
b09db61d 5880 (grub_linux_boot): For text mode, initialize `have_vga' using
5881 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
5882
5883 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
5884 right before the final jump.
5885
5886 Set `video_mode' to 0x3.
5887
5888 Document initialization of `video_page', `video_mode' and
5889 `video_ega_bx'.
5890
28333ad0 58912009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5892
5893 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
5894 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 5895 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 5896
02164e1b 58972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
5898
5899 Fix build on Debian / sparc.
5900
5901 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
5902
18b6c557 59032009-06-28 Pavel Roskin <proski@gnu.org>
5904
85f2aab6 5905 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
5906 fix a warning.
5907
18b6c557 5908 * util/grub.d/10_linux.in: Match SUSE style initrd names.
5909
ad760f81 59102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5911
5912 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
5913 `err'.
5914
87a4623b 59152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5916
5917 Revert r2338.
5918
5919 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
5920 file can't be opened. grub_file_open() is already supposed to set
75421ca9 5921 grub_errno / grub_errmsg appropriately.
87a4623b 5922 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5923
8231fb77 59242009-06-27 Pavel Roskin <proski@gnu.org>
59252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
5926
5927 * include/grub/dl.h: Include grub/elf.h.
5928 (struct grub_dl): Add symtab field.
5929 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
5930 GRUB_MODULES_MACHINE_READONLY.
5931 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
5932 of the header for read-only modules.
5933 (grub_dl_unload): Free mod->symtab for read-only modules.
5934 * kern/i386/dl.c: Use mod->symtab.
5935 * kern/powerpc/dl.c: Likewise.
5936 * kern/sparc64/dl.c: Likewise.
5937 * kern/x86_64/dl.c: Likewise.
5938
5939 * conf/i386-qemu.rmk: New file.
5940 * kern/i386/qemu/startup.S: Likewise.
5941 * kern/i386/qemu/mmap.c: Likewise.
5942 * boot/i386/qemu/boot.S: Likewise.
5943 * include/grub/i386/qemu/time.h: Likewise.
5944 * include/grub/i386/qemu/serial.h: Likewise.
5945 * include/grub/i386/qemu/kernel.h: Likewise.
5946 * include/grub/i386/qemu/console.h: Likewise.
5947 * include/grub/i386/qemu/boot.h: Likewise.
5948 * include/grub/i386/qemu/init.h: Likewise.
5949 * include/grub/i386/qemu/machine.h: Likewise.
5950 * include/grub/i386/qemu/loader.h: Likewise.
5951 * include/grub/i386/qemu/memory.h: Likewise.
5952
5953 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
5954 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
5955 [qemu] (pkglib_IMAGES): Add `boot.img'.
5956 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
5957 [qemu] (boot_img_FORMAT): New variables.
5958 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
5959 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
5960 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
5961 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5962 [qemu] (kernel_img_FORMAT): New variables.
5963
5964 * configure.ac: Recognise `i386-qemu'.
5965
5966 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
5967 (for no compression).
5968 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
5969 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
5970 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
5971 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
5972 ifdefs).
5973
97fe384e 59742009-06-27 Pavel Roskin <proski@gnu.org>
5975
5976 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
5977 read.
5978 * efiemu/prepare32.c: Likewise.
5979 * efiemu/prepare64.c: Likewise.
5980
c402ab17 59812009-06-26 Pavel Roskin <proski@gnu.org>
5982
5983 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
5984 * include/grub/elf.h: Define symbols without "32" or "64" based
5985 on GRUB_TARGET_WORDSIZE.
5986 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
5987 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
5988 ELF definitions.
5989 * efiemu/loadcore64.c: Likewise.
5990 * loader/i386/bsd32.c: Likewise.
5991 * loader/i386/bsd64.c: Likewise.
5992 * kern/dl.c: Remove own ELF definitions.
5993 * util/i386/efi/grub-mkimage.c: Likewise.
5994
9bbdfd4d 59952009-06-23 Robert Millan <rmh.grub@aybabtu.com>
5996
5997 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
5998 segment 0x0 unconditionally, because the reference generated by
5999 GAS is an absolute address.
6000
a42ce6e9 60012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6002
6003 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6004 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6005
c952cf92 60062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6007
6008 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6009 indexes. Check for -f explicitly.
cc3752ad 6010 (search_file): Improve error message.
6011 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6012
132a0a59 60132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6014
6015 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6016 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6017
387a140c 60182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6019
6020 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6021 * conf/i386-ieee1275.rmk: Likewise.
6022 * conf/i386-coreboot.rmk: Likewise.
6023
6024 * kern/i386/pc/startup.S (grub_stop): Remove function.
6025 * kern/i386/ieee1275/startup.S: Likewise.
6026 * kern/i386/coreboot/startup.S: Likewise.
6027 * kern/i386/misc.S (grub_stop): New function.
6028
41da9665 60292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6030
6031 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6032 * kern/i386/realmode.S (real_to_prot): ... to here.
6033
bf337234 60342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6035
6036 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6037 with `kernel.img'.
6038 (kernel_elf_SOURCES): Rename to ...
6039 (kernel_img_SOURCES): ... this.
6040 (kernel_elf_HEADERS): Rename to ...
6041 (kernel_img_HEADERS): ... this. Update all users.
6042 (kernel_elf_ASFLAGS): Rename to ...
6043 (kernel_img_ASFLAGS): ... this.
6044 (kernel_elf_CFLAGS): Rename to ...
6045 (kernel_img_CFLAGS): ... this.
6046 (kernel_elf_LDFLAGS): Rename to ...
6047 (kernel_img_LDFLAGS): ... this.
6048 * conf/i386-coreboot.rmk: Likewise.
6049 * conf/powerpc-ieee1275.rmk: Likewise.
6050
6051 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6052 with "kernel.img".
6053
f52196ff 60542009-06-21 Pavel Roskin <proski@gnu.org>
6055
c3cee413 6056 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6057 to match nested functions.
6058 * loader/sparc64/ieee1275/linux.c: Likewise.
6059
f52196ff 6060 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6061
58750afc 60622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6063
6064 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6065 all i386 platforms.
6066
15355c7d 60672009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6068
6069 Fix asm file handling on ELF, and remove workarounds.
6070
6071 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6072 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6073 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6074 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6075
3f3ec72b 60762009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 Load BSD ELF modules
6079
6080 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6081 and loader/i386/bsd64.c
6082 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6083 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6084 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6085 (grub_freebsd_load_elfmodule32): New declaration
6086 (grub_freebsd_load_elfmoduleobj64): Likewise
6087 (grub_freebsd_load_elf_meta32): Likewise
6088 (grub_freebsd_load_elf_meta64): Likewise
6089 (grub_freebsd_add_meta): Likewise
6090 (grub_freebsd_add_meta_module): Likewise
6091 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6092 (grub_freebsd_add_meta_module): Likewise and move module-specific
6093 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6094 (grub_cmd_freebsd): Add elf-kernel specific parts
6095 based on grub_freebsd_add_meta_module
6096 (grub_cmd_freebsd_module): Add type parsing moved from
6097 grub_freebsd_add_meta_module
6098 (grub_cmd_freebsd_module_elf): New function
6099 (cmd_freebsd_module_elf): New variable
6100 (GRUB_MOD_INIT): Register freebsd_module_elf
6101 * loader/i386/bsd32.c: New file
6102 * loader/i386/bsd64.c: Likewise
6103 * loader/i386/bsdXX.c: Likewise
6104 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6105 (grub_elf64_load): Likewise
6106 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6107 All users updated
6108 (grub_elf64_load_hook_t): Likewise
6109
0db15301 61102009-06-21 Colin Watson <cjwatson@ubuntu.com>
6111
6112 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6113 variable.
6114 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6115 don't write a menu entry for recovery mode.
6116
546796c1 61172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6118
6119 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6120 after it's no longer needed.
6121
cd7310d5 61222009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6123
6124 * include/grub/i386/loader.h (grub_linux_prot_size)
6125 (grub_linux_tmp_addr, grub_linux_real_addr)
6126 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6127 GRUB_MACHINE_PCBIOS.
6128 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6129 common grub_util_info() call to ...
6130 (generate_image): ... here.
6131 Fix use of uninitialized memory, comparison of signed with
6132 unsigned integers and memory leak.
6133 Remove bogus module address message.
6134
ab32d3b5 61352009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6138 grub_raid_register
6139 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6140
024ef597 61412009-06-19 Pavel Roskin <proski@gnu.org>
6142
6143 * configure.ac: Remove stray AC_MSG_CHECKING.
6144
3ac72b51 61452009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6148
e14cd814 61492009-06-18 Pavel Roskin <proski@gnu.org>
6150
6151 * conf/common.rmk: Add fs_file.mod.
6152 * disk/fs_file.c: New file.
6153 * include/grub/disk.h (enum grub_disk_dev_id): Add
6154 GRUB_DISK_DEVICE_FILE_ID.
6155
26586d98 61562009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 Fix build with Apple's toolchain. Part 2
6159
6160 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6161 a fake start
6162
26de2bcd 61632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 Fix build with Apple's toolchain. Part 1
6166
6167 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6168 for long calls
6169 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6170 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6171 Apple's toolchain
6172
09b3490b 61732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 Fix warnings
6176
6177 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6178 (decomp_block): initialize ch
6179 use grub_memcpy instead of memcpy
6180
c22a006a 61812009-06-17 Pavel Roskin <proski@gnu.org>
6182
d3638678 6183 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6184 version, use declarations needed to use vga_text as the startup
6185 console.
6186
c22a006a 6187 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6188 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6189 the kernel.
6190 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6191 and grub_at_keyboard_fini(), it's done on module load and
6192 unload.
6193
05b129e0 61942009-06-17 Felix Zielcke <fzielcke@z-51.de>
6195
6196 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6197 file can't be found.
6198 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6199
cf24ed9e 62002009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 Fix newline handling
6203
6204 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6205 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6206 (grub_script_yylex): don't segfault on unterminated script
6207 newline terminates command and variable
6208
74aa8e4b 62092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 avoid double grub_adjust_range call. Bug reported by David Simner
6212
6213 * kern/disk.c (grub_disk_write): change to raw disk access before
6214 calling disk_read
6215
1bd265f3 62162009-06-17 Colin Watson <cjwatson@ubuntu.com>
6217
6218 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6219 spaces, for the benefit of help2man.
6220 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6221
a2d08c06 62222009-06-16 Pavel Roskin <proski@gnu.org>
6223
6224 * kern/i386/halt.c: Include grub/machine/init.h.
6225 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6226
b97bcb19 62272009-06-16 Felix Zielcke <fzielcke@z-51.de>
6228
6229 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6230 drivemap menuentry.
6231
0644f96c 62322009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6233
6234 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6235 `echo' command.
6236
3ef17a2e 62372009-06-16 Pavel Roskin <proski@gnu.org>
6238
6239 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6240 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6241 save %dx, we only need %dl and we never change it.
6242 * boot/i386/pc/cdboot.S: Don't set the root drive.
6243 * boot/i386/pc/pxeboot.S: Likewise.
6244 * include/grub/i386/pc/boot.h: Remove
6245 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6246 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6247 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6248 * kern/i386/pc/init.c (make_install_device): Remove references
6249 to grub_root_drive.
6250 * kern/i386/pc/startup.S: Likewise.
6251 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6252
693fe637 62532009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 xnu_uuid command
6256
6257 * commands/xnu_uuid.c: new file
6258 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6259 (xnu_uuid_mod_SOURCES): new variable
6260 (xnu_uuid_mod_CFLAGS): likewise
6261 (xnu_uuid_mod_LDFLAGS): likewise
6262 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6263 * conf/i386-ieee1275.rmk: likewise
6264 * conf/i386-pc.rmk: likewise
6265 * conf/powerpc-ieee1275.rmk: likewise
6266 * conf/sparc64-ieee1275.rmk: likewise
6267 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6268
c9da87d0 62692009-06-16 Pavel Roskin <proski@gnu.org>
6270
6271 * configure.ac: Avoid '==' in test command, it's not portable.
6272
9c6f4596 62732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Probe command
6276
6277 * commands/probe.c: new file
6278 * conf/common.rmk (pkglib_MODULES): add probe.mod
6279 (probe_mod_SOURCES): new variable
6280 (probe_mod_CFLAGS): likewise
6281 (probe_mod_LDFLAGS): likewise
6282 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6283 * conf/i386-ieee1275.rmk: likewise
6284 * conf/i386-pc.rmk: likewise
6285 * conf/powerpc-ieee1275.rmk: likewise
6286 * conf/sparc64-ieee1275.rmk: likewise
6287
70b7f9fd 62882009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 Fix handling of string like \"hello\" and "a
6291 b"
6292
6293 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6294 (grub_script_yylex): fix parsing of quoting, escaping and newline
6295
71c79a6b 62962009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6297
dd74360c 6298 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6299 handling
dd74360c 6300
0644f96c 63012009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6302
6303 * util/grub-mkconfig.in: Fix parsing of --output option.
6304
e40893c3 63052009-06-12 Pavel Roskin <proski@gnu.org>
6306
6307 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6308 genmk.rb don't need to be generated or installed.
6309
3a1acfe2 63102009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * commands/i386/pc/drivemap_int13h.S: add more comments
6313
3a4575d4 63142009-06-11 Pavel Roskin <proski@gnu.org>
6315
0658e928 6316 * Makefile.in (uninstall): Uninstall manuals.
6317
ca0388f0 6318 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6319 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6320 and update-grub_lib in two places.
6321 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6322
e3b27c39 6323 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6324 a compiler warning.
6325
3a4575d4 6326 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6327 `entry_lo' to fix variable shadowing.
6328
af1f4f55 63292009-06-11 Christian Franke <franke@computer.org>
6330
6331 * kern/misc.c (__enable_execute_stack): Add missing return type
6332 to prevent gcc warning.
6333
5225e649 63342009-06-11 Felix Zielcke <fzielcke@z-51.de>
6335
6336 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6337
7d83bd47 63382009-06-11 Pavel Roskin <proski@gnu.org>
6339
c1cb63ba 6340 * Makefile.in: Don't rely on any scripts being executable.
6341 Always use $(SHELL) to run shell scripts.
6342
7d83bd47 6343 * configure.ac: Always define ___main if using -nostdlib. This
6344 fixes tests on Cygwin.
6345
948f48e7 63462009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
6347
6348 UDF fix
6349
7d83bd47 6350 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 6351 is in bytes and not in blocks
7d83bd47 6352
8ada9bc1 63532009-06-11 Pavel Roskin <proski@gnu.org>
6354
6355 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
6356 warning.
6357
25ad2323 63582009-06-11 Felix Zielcke <fzielcke@z-51.de>
6359
6360 * util/grub.d/30_os-prober.in: Fix a comment. Source
6361 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
6362 to set the root device. Place drivemap command in the generated
6363 chain entry.
6364
e65acb0c 63652009-06-11 Pavel Roskin <proski@gnu.org>
6366
6367 * configure.ac: Remove host_m32. Issues with 64-bit utilities
6368 have long been resolved.
6369
f285fe2d 63702009-06-11 Colin Watson <cjwatson@ubuntu.com>
6371
bd47b0b5 6372 * util/grub.d/10_linux.in: Capitalise "Linux".
6373
f285fe2d 6374 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
6375
a0c62e4e 63762009-06-11 Pavel Roskin <proski@gnu.org>
6377
b6783cb2 6378 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
6379 fix a gcc warning and ensure that the function won't ever exit.
6380
dde032e8 6381 * kern/i386/ieee1275/init.c: Add missing prototype for
6382 grub_stop_floppy().
6383
22cd079d 6384 * loader/ieee1275/multiboot2.c [__i386__]: Include
6385 grub/cpu/multiboot.h.
6386
a0c62e4e 6387 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
6388 casts to short - they are not portable and cause warnings. Fix
6389 use of uninitialized values in input_buf. Use ARRAY_SIZE.
6390
63963d17 63912009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 Drivemap fixes
6394
6395 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
6396 new function
6397 (grub_get_root_biosnumber_saved): new variable
6398 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
6399 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 6400 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 6401 %dx after the call if necessary
6402 * conf/common.rmk (pkglib_MODULES): remove boot.mod
6403 (boot_mod_SOURCES): remove
6404 (boot_mod_CFLAGS): remove
6405 (boot_mod_LDFLAGS): remove
6406 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
6407 (boot_mod_SOURCES): new variable
6408 (boot_mod_CFLAGS): likewise
6409 (boot_mod_LDFLAGS): likewise
6410 * conf/i386-efi.rmk: likewise
6411 * conf/i386-ieee1275.rmk: likewise
6412 * conf/i386-pc.rmk: likewise
6413 * conf/powerpc-ieee1275.rmk: likewise
6414 * conf/sparc64-ieee1275.rmk: likewise
6415 * conf/x86_64-efi.rmk: likewise
6416 * include/grub/i386/pc/biosnum.h: new file
6417 * lib/i386/pc/biosnum.c: likewise
6418 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
6419 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
6420 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 6421
33abf7ae 64222009-06-10 Pavel Roskin <proski@gnu.org>
6423
5ac35b35 6424 * io/gzio.c (test_header): Don't reuse one buffer for all data.
6425 Use separate variables. Read only the file size at the end, but
6426 not the checksum that we don't use.
6427
5c5215d5 6428 * kern/file.c (grub_file_read): Use void pointer for the buffer.
6429 Adjust all callers.
6430
27d5fef7 6431 * kern/ieee1275/openfw.c: Remove libc includes.
6432 * kern/ieee1275/cmain.c: Likewise.
6433 * include/grub/ieee1275/ieee1275.h: Likewise.
6434
33abf7ae 6435 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
6436 compiler warnings.
6437
19d50c2b 64382009-06-10 Felix Zielcke <fzielcke@z-51.de>
6439
6440 * Makefile.in: Remove all trailing whitespace.
6441 * conf/i386-pc.rmk: Likewise.
6442 * conf/powerpc-ieee1275.rmk: Likewise.
6443 * conf/sparc64-ieee1275.rmk: Likewise.
6444 * docs/grub.texi: Likewise.
6445 * docs/texinfo.tex: Likewise.
6446 * disk/fs_uuid.c: Likewise.
6447 * disk/lvm.c: Likewise.
6448 * disk/scsi.c: Likewise.
6449 * disk/ata.c: Likewise.
6450 * disk/ieee1275/ofdisk.c: Likewise.
6451 * disk/i386/pc/biosdisk.c: Likewise.
6452 * disk/host.c: Likewise.
6453 * disk/raid.c: Likewise.
6454 * disk/efi/efidisk.c: Likewise.
6455 * disk/usbms.c: Likewise.
6456 * disk/memdisk.c: Likewise.
6457 * disk/loopback.c: Likewise.
6458 * kern/powerpc/dl.c: Likewise.
6459 * kern/device.c: Likewise.
6460 * kern/dl.c: Likewise.
6461 * kern/sparc64/dl.c: Likewise.
6462 * kern/ieee1275/ieee1275.c: Likewise.
6463 * kern/term.c: Likewise.
6464 * kern/fs.c: Likewise.
6465 * kern/i386/dl.c: Likewise.
6466 * kern/i386/pc/startup.S: Likewise.
6467 * kern/i386/pc/init.c: Likewise.
6468 * kern/i386/pc/mmap.c: Likewise.
6469 * kern/i386/pc/lzo1x.S: Likewise.
6470 * kern/i386/ieee1275/init.c: Likewise.
6471 * kern/i386/realmode.S: Likewise.
6472 * kern/i386/tsc.c: Likewise.
6473 * kern/partition.c: Likewise.
6474 * kern/corecmd.c: Likewise.
6475 * kern/file.c: Likewise.
6476 * kern/efi/efi.c: Likewise.
6477 * kern/efi/init.c: Likewise.
6478 * kern/efi/mm.c: Likewise.
6479 * kern/main.c: Likewise.
6480 * kern/err.c: Likewise.
6481 * kern/env.c: Likewise.
6482 * kern/disk.c: Likewise.
6483 * kern/generic/millisleep.c: Likewise.
6484 * kern/generic/rtc_get_time_ms.c: Likewise.
6485 * kern/misc.c: Likewise.
6486 * kern/parser.c: Likewise.
6487 * genmk.rb: Likewise.
6488 * configure.ac: Likewise.
6489 * boot/i386/pc/diskboot.S: Likewise.
6490 * boot/i386/pc/pxeboot.S: Likewise.
6491 * boot/i386/pc/boot.S: Likewise.
6492 * boot/i386/pc/lnxboot.S: Likewise.
6493 * boot/i386/pc/cdboot.S: Likewise.
6494 * parttool/pcpart.c: Likewise.
6495 * video/readers/tga.c: Likewise.
6496 * video/video.c: Likewise.
6497 * video/bitmap.c: Likewise.
6498 * lib/envblk.c: Likewise.
6499 * lib/i386/setjmp.S: Likewise.
6500 * fs/xfs.c: Likewise.
6501 * fs/afs.c: Likewise.
6502 * fs/fat.c: Likewise.
6503 * fs/ntfs.c: Likewise.
6504 * fs/udf.c: Likewise.
6505 * fs/affs.c: Likewise.
6506 * fs/iso9660.c: Likewise.
6507 * fs/hfs.c: Likewise.
6508 * fs/fshelp.c: Likewise.
6509 * fs/ext2.c: Likewise.
6510 * fs/jfs.c: Likewise.
6511 * fs/reiserfs.c: Likewise.
6512 * fs/hfsplus.c: Likewise.
6513 * fs/minix.c: Likewise.
6514 * fs/cpio.c: Likewise.
6515 * fs/sfs.c: Likewise.
6516 * fs/ufs.c: Likewise.
6517 * efiemu/prepare.c: Likewise.
6518 * efiemu/loadcore_common.c: Likewise.
6519 * efiemu/runtime/efiemu.sh: Likewise.
6520 * efiemu/runtime/efiemu.S: Likewise.
6521 * efiemu/runtime/efiemu.c: Likewise.
6522 * efiemu/pnvram.c: Likewise.
6523 * efiemu/main.c: Likewise.
6524 * efiemu/i386/pc/cfgtables.c: Likewise.
6525 * efiemu/i386/loadcore64.c: Likewise.
6526 * efiemu/i386/loadcore32.c: Likewise.
6527 * efiemu/loadcore.c: Likewise.
6528 * efiemu/symbols.c: Likewise.
6529 * efiemu/mm.c: Likewise.
6530 * include/grub/autoefi.h: Likewise.
6531 * include/grub/datetime.h: Likewise.
6532 * include/grub/term.h: Likewise.
6533 * include/grub/hfs.h: Likewise.
6534 * include/grub/lvm.h: Likewise.
6535 * include/grub/i386/tsc.h: Likewise.
6536 * include/grub/i386/linux.h: Likewise.
6537 * include/grub/i386/xnu.h: Likewise.
6538 * include/grub/i386/efiemu.h: Likewise.
6539 * include/grub/i386/pc/biosdisk.h: Likewise.
6540 * include/grub/i386/pc/memory.h: Likewise.
6541 * include/grub/i386/pc/vbe.h: Likewise.
6542 * include/grub/parttool.h: Likewise.
6543 * include/grub/video.h: Likewise.
6544 * include/grub/memory.h: Likewise.
6545 * include/grub/fs.h: Likewise.
6546 * include/grub/partition.h: Likewise.
6547 * include/grub/xnu.h: Likewise.
6548 * include/grub/efi/api.h: Likewise.
6549 * include/grub/efi/pe32.h: Likewise.
6550 * include/grub/efi/memory.h: Likewise.
6551 * include/grub/multiboot.h: Likewise.
6552 * include/grub/usbdesc.h: Likewise.
6553 * include/grub/multiboot2.h: Likewise.
6554 * include/grub/acpi.h: Likewise.
6555 * include/grub/efiemu/efiemu.h: Likewise.
6556 * include/grub/disk.h: Likewise.
6557 * include/grub/ieee1275/ieee1275.h: Likewise.
6558 * include/grub/net.h: Likewise.
6559 * include/grub/machoload.h: Likewise.
6560 * include/grub/macho.h: Likewise.
6561 * include/multiboot.h: Likewise.
6562 * genmoddep.awk: Likewise.
6563 * normal/main.c: Likewise.
6564 * normal/menu_entry.c: Likewise.
6565 * normal/menu_viewer.c: Likewise.
6566 * normal/completion.c: Likewise.
6567 * normal/cmdline.c: Likewise.
6568 * normal/misc.c: Likewise.
6569 * normal/datetime.c: Likewise.
6570 * bus/usb/usbtrans.c: Likewise.
6571 * bus/usb/ohci.c: Likewise.
6572 * bus/usb/uhci.c: Likewise.
6573 * bus/usb/usb.c: Likewise.
6574 * mmap/efi/mmap.c: Likewise.
6575 * mmap/i386/pc/mmap_helper.S: Likewise.
6576 * mmap/i386/pc/mmap.c: Likewise.
6577 * mmap/i386/mmap.c: Likewise.
6578 * mmap/i386/uppermem.c: Likewise.
6579 * mmap/mmap.c: Likewise.
6580 * commands/acpi.c: Likewise.
6581 * commands/echo.c: Likewise.
6582 * commands/blocklist.c: Likewise.
6583 * commands/loadenv.c: Likewise.
6584 * commands/usbtest.c: Likewise.
6585 * commands/boot.c: Likewise.
6586 * commands/parttool.c: Likewise.
6587 * commands/search.c: Likewise.
6588 * commands/cat.c: Likewise.
6589 * commands/i386/pc/play.c: Likewise.
6590 * commands/i386/pc/drivemap.c: Likewise.
6591 * commands/i386/pc/vbeinfo.c: Likewise.
6592 * commands/i386/pc/acpi.c: Likewise.
6593 * commands/i386/pc/vbetest.c: Likewise.
6594 * commands/ls.c: Likewise.
6595 * commands/cmp.c: Likewise.
6596 * commands/test.c: Likewise.
6597 * commands/efi/acpi.c: Likewise.
6598 * commands/gptsync.c: Likewise.
6599 * commands/help.c: Likewise.
6600 * partmap/amiga.c: Likewise.
6601 * partmap/apple.c: Likewise.
6602 * partmap/acorn.c: Likewise.
6603 * partmap/pc.c: Likewise.
6604 * partmap/sun.c: Likewise.
6605 * partmap/gpt.c: Likewise.
6606 * script/sh/lexer.c: Likewise.
6607 * script/sh/function.c: Likewise.
6608 * font/font.c: Likewise.
6609 * font/font_cmd.c: Likewise.
6610 * loader/powerpc/ieee1275/linux.c: Likewise.
6611 * loader/efi/chainloader.c: Likewise.
6612 * loader/multiboot_loader.c: Likewise.
6613 * loader/macho.c: Likewise.
6614 * loader/i386/multiboot.c: Likewise.
6615 * loader/i386/linux.c: Likewise.
6616 * loader/i386/pc/linux.c: Likewise.
6617 * loader/i386/pc/multiboot2.c: Likewise.
6618 * loader/i386/pc/chainloader.c: Likewise.
6619 * loader/i386/pc/xnu.c: Likewise.
6620 * loader/i386/bsd_trampoline.S: Likewise.
6621 * loader/i386/efi/linux.c: Likewise.
6622 * loader/i386/multiboot_elfxx.c: Likewise.
6623 * loader/i386/bsd_helper.S: Likewise.
6624 * loader/i386/bsd.c: Likewise.
6625 * loader/i386/linux_trampoline.S: Likewise.
6626 * loader/i386/xnu_helper.S: Likewise.
6627 * loader/i386/xnu.c: Likewise.
6628 * loader/i386/bsd_pagetable.c: Likewise.
6629 * loader/i386/multiboot_helper.S: Likewise.
6630 * loader/xnu.c: Likewise.
6631 * loader/xnu_resume.c: Likewise.
6632 * io/gzio.c: Likewise.
6633 * term/efi/console.c: Likewise.
6634 * term/terminfo.c: Likewise.
6635 * term/ieee1275/ofconsole.c: Likewise.
6636 * term/i386/pc/serial.c: Likewise.
6637 * term/i386/pc/vesafb.c: Likewise.
6638 * term/i386/pc/vga.c: Likewise.
6639 * term/usb_keyboard.c: Likewise.
6640 * term/gfxterm.c: Likewise.
6641 * aclocal.m4: Likewise.
6642 * util/lvm.c: Likewise.
6643 * util/grub.d/30_os-prober.in: Likewise.
6644 * util/grub.d/10_hurd.in: Likewise.
6645 * util/console.c: Likewise.
6646 * util/grub-macho2img.c: Likewise.
6647 * util/grub-probe.c: Likewise.
6648 * util/hostfs.c: Likewise.
6649 * util/i386/pc/grub-mkimage.c: Likewise.
6650 * util/i386/pc/grub-setup.c: Likewise.
6651 * util/i386/efi/grub-mkimage.c: Likewise.
6652 * util/grub-mkconfig.in: Likewise.
6653 * util/raid.c: Likewise.
6654 * util/resolve.c: Likewise.
6655 * util/grub-mkdevicemap.c: Likewise.
6656 * util/grub-emu.c: Likewise.
6657 * util/getroot.c: Likewise.
6658 * util/hostdisk.c: Likewise.
6659 * util/usb.c: Likewise.
6660 * util/grub-editenv.c: Likewise.
6661 * util/misc.c: Likewise.
6662
d2d49665 66632009-06-10 Felix Zielcke <fzielcke@z-51.de>
6664
6665 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
6666 `genparttoollist.sh'.
6667 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
6668 Add `*.sh' to the list find searches for and change `mdate.sh'
6669 to `mdate-sh'.
6670
fe052e37 66712009-06-10 Pavel Roskin <proski@gnu.org>
6672
2763ac18 6673 * include/grub/multiboot2.h: Provide compatibility defines for
6674 multiboot2.h.
6675 * include/multiboot2.h: Include stdint.h only if needed, using
6676 angle brackets.
6677 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
6678 grub/multiboot2.h.
6679 * loader/ieee1275/multiboot2.c: Likewise.
6680 * loader/multiboot2.c: Likewise.
6681 * loader/multiboot_loader.c: Likewise.
6682
437e6adc 6683 * configure.ac: Use -nostdlib when probing for the target. It
6684 should not be required to have libc for the target.
6685
06a6836c 6686 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
6687 they fail without libc headers for the target.
6688 * include/grub/powerpc/libgcc.h: Use weak attribute for all
6689 exports.
6690 * include/grub/sparc64/libgcc.h: Likewise. Don't use
6691 preprocessor conditionals.
6692
fe052e37 6693 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
6694 build system doesn't need to be aware of the tar.c internals.
6695
afd22553 66962009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 6697
afd22553 6698 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 6699
6b787c4f 67002009-06-09 Robert Millan <rmh.grub@aybabtu.com>
6701
6702 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
6703 disk limit to 26 for IDE, Virtio, Xen and SCSI.
6704
67052009-06-09 Felix Zielcke <fzielcke@z-51.de>
6706
6707 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 6708 aren't available if ata.mod gets used.
6b787c4f 6709
473d1e45 67102009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 6711
473d1e45 6712 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 6713 initialising controller.
473d1e45 6714 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 6715
255a27d4 67162009-06-08 Felix Zielcke <fzielcke@z-51.de>
6717
6718 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6719 to choose between ata and biosdisk module on i386-pc.
6720
473d1e45 67212009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6722
d55842d8 6723 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6724 Subclass and Programming Interface fields in terms of the 3 byte
6725 Class Code register.
6726 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6727
fa5db0b1 6728 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6729 interface is OHCI. Add grub_dprintf for symmetry with
6730 bus/usb/uhci.c.
6731 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6732 interface is UHCI. Add interf variable for programming
6733 interface. Print interface with class/subclass.
6734
c0947beb 6735 * bus/usb/ohci.c: Set interf with correct field.
6736
69da8877 6737 * bus/usb/uhci.c: Remove unneeded doubled lines.
6738 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6739 Remove whitespace inside comment.
6740
9e172e30 67412009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6742
6743 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6744 as fallback an equivalent option without depth.
6745
de65ee2b 67462009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Not fail if unable to retrieve C/H/S on LBA disks
6749
473d1e45 6750 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6751 if unable to retrieve C/H/S on LBA disks
6752
b57ea2c9 67532009-06-08 Pavel Roskin <proski@gnu.org>
6754
6755 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6756 about aliasing.
6757
af361263 67582009-06-08 Felix Zielcke <fzielcke@z-51.de>
6759
6760 * Makefile.in (uninstall): Remove all $lib_DATA files.
6761
4c9ec6b3 67622009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Bugfix: install on partitionless device
6765
6766 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6767 is a whole disk
6768
e76fc924 67692009-06-08 Felix Zielcke <fzielcke@z-51.de>
6770
6771 * Makefile.in (uninstall): Remove all $include_DATA files.
6772
ba5a0d05 67732009-06-08 Felix Zielcke <fzielcke@z-51.de>
6774
6775 * commands/true.c: New file. Implement the true and false commands.
6776 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6777 (true_mod_SOURCES): New variable.
6778 (true_mod_CFLAGS): Likewise.
6779 (true_mod_LDFLAGS): Likewise.
6780
c8048e32 67812009-06-05 Colin D Bennett <colin@gibibit.com>
6782
6783 Optimized font character lookup using binary search instead of linear
6784 search. Fonts now are required to have the character index ordered by
6785 code point.
6786
6787 * font/font.c (load_font_index): Verify that fonts have ordered
6788 character indices.
6789 (find_glyph): Use binary search instead of linear search to find a
6790 character in a font.
6791
408305be 67922009-06-05 Michael Scherer <misc@mandriva.org>
6793
6794 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6795 uses case sensitive btree.
6796 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6797 only for case insensitive filesystems.
6798
8ee1e0d9 67992009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6802 * conf/common.rmk (search_mod_CFLAGS): likewise
6803
a9966eb1 68042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6805
473d1e45 6806 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 6807 compensate a compiler bug
6808
9e7100fb 68092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6810
473d1e45 6811 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 6812 instead of '\b'
473d1e45 6813
ede21d71 68142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Definitions for creating asm symbols with Apple's CC
6817
6818 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
6819 [APPLE_CC] (VARIABLE): likewise
6820
9dbf7653 68212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Disable lnxboot.img when compiled
6824 with Apple's CC
6825
6826 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
6827 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
6828 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
6829 [! APPLE_CC] (CODE_LENG): skip
6830 [! APPLE_CC] (setup_sects): likewise
6831 [! APPLE_CC]: skip filling
473d1e45 6832
e93cdc3d 68332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 Address in trampolines based on 32-bit registers when compiled
6836 with Apple's CC
6837
473d1e45 6838 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 6839 for addresses
6840 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
6841
6c688477 68422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 Avoid aliases when compiling with Apple's CC for PCBIOS machine
6845
6846 * kern/misc.c [APPLE_CC] (memcpy): new function
6847 [APPLE_CC] (memmove): likewise
6848 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 6849 (memcpy): define alias conditionally on !APPLE_CC
6c688477 6850 (memset): likewise
6851 (abort): likewise
6852 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
6853 APPLE_CC are defined
6854 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
6855 (grub_assert_fail): make prototype conditional
6856
e37ffc5c 68572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
6860
473d1e45 6861 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
6862 grub-macho2img
e37ffc5c 6863 (CLEANFILES): add grub-macho2img
6864 (grub_macho2img_SOURCES): new variable
6865 * kern/i386/pc/startup.S (bss_start): new variable
6866 (bss_end): likewise
6867 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
6868 * util/grub-macho2img.c: new file
6869
cf00df31 68702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 Use objconv when compiling with Apple's CC
6873
6874 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
6875 (efiemu64.o): likewise
6876 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
6877 when compiling with Apple's CC
6878 (efiemu64_s.o): likewise
6879 * configure.ac: check for objconv when compiling with Apple's CC
6880 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 6881
d119a20c 68822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 Define segment as well as section when compiling with
6885 Apple's CC
6886
6887 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
6888 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
6889 (efiemu_convert_pointer): likewise
6890 (efiemu_set_virtual_address_map): likewise
6891 (efiemu_convert_pointer): likewise
6892 (efiemu_getcrc32): likewise
6893 (init_crc32_table): likewise
6894 (reflect): likewise
6895 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
6896 (GRUB_MOD_DEP): likewise
473d1e45 6897
c8600122 68982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 Allow a compilation without -mcmodel=large
6901
6902 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
6903 when compiled without -mcmodel=large
473d1e45 6904 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 6905 without -mcmodel=large
473d1e45 6906 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 6907 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 6908
e8df1d4e 69092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Remove nested functions in efiemu core
6912
6913 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 6914
cc6c3ac1 69152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
6918
6919 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
6920 temporary storage
473d1e45 6921 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
6922 using Apple's CC
cc6c3ac1 6923 (grub_cpu_is_tsc_supported): likewise
6924 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 6925
3e325901 69262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Absolute addressing through constant with Apple's cc
6929
6930 * kern/i386/pc/startup.S: Define necessary constants
6931 and address through it when using ABS with Apple's CC
6932 * boot/i386/pc/diskboot.S: likewise
6933 * boot/i386/pc/boot.S: likewise
6934 * boot/i386/pc/lnxboot.S: likewise
6935 * boot/i386/pc/cdboot.S: likewise
6936 * mmap/i386/pc/mmap_helper.S: likewise
6937 * commands/i386/pc/drivemap_int13h.S: likewise
6938
2b167a72 69392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 Check if compiler is apple cc
6942
6943 * Makefile.in (ASFLAGS): new variable
6944 (TARGET_ASFLAGS): likewise
6945 (TARGET_MODULE_FORMAT): likewise
6946 (TARGET_APPLE_CC): likewise
6947 (OBJCONV): likewise
6948 (TARGET_IMG_CFLAGS): likewise
6949 (TARGET_CPPFLAGS): add includedir
6950 * configure.ac: call grub_apple_cc and grub_apple_target_cc
6951 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
6952 Check for linker script only if compiler isn't Apple's CC
6953 (TARGET_MODULE_FORMAT): set
6954 (TARGET_APPLE_CC): likewise
6955 (TARGET_ASFLAGS): likewise
6956 (ASFLAGS): likewise
6957 Check for objcopy only if compiler isn't Apple's CC
6958 Check for BSS symbol only if compiler isn't Apple's CC
6959 * genmk.rb: adapt nm options if we use Apple's utils
6960 * aclocal.m4 (grub_apple_cc): new test
6961 (grub_apple_target_cc): likewise
473d1e45 6962
fb14123e 69632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 Simplify sed expressions and improve awk
6966
6967 * Makefile.in (install-local): simplify sed expression
6968 * gencmdlist.sh: likewise
6969 * genmoddep.awk: avoid adding module as a dependency of itself
6970
5b889789 69712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 Add missing start symbols
6974
6975 * boot/i386/pc/boot.S: add start
fb14123e 6976 * boot/i386/pc/pxeboot.S: likewise
473d1e45 6977
fd2bf2e3 69782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 6981
6982 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 6983 (relocate_addresses): consider both r_addend and value at offset
6984 (make_mods_section): zerofill modinfo and header
6985 (convert_elf): write prefix here
473d1e45 6986
5389763d 69872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Use .asciz instead of .string
6990
6991 * i386/pc/diskboot.S: use .asciz instead of .string
6992 * i386/pc/boot.S: likewise
6993 * include/grub/dl.h (GRUB_MOD_DEP): likewise
6994 (GRUB_MOD_NAME): likewise
473d1e45 6995
3eb5ed4e 69962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 gfxpayload support
6999
7000 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7001 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7002 (grub_video_setup): remove
7003 (grub_video_set_mode): new prototype
7004 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7005 (vid_mode): remove
7006 (linux_vesafb_res): compile only on PCBIOS
7007 (grub_linux_boot): support gfxpayload
7008 * loader/i386/pc/xnu.c (video_hook): new function
7009 (grub_xnu_set_video): support gfxpayload
7010 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7011 (DEFAULT_VIDEO_HEIGHT): likewise
7012 (DEFAULT_VIDEO_FLAGS): likewise
7013 (DEFAULT_VIDEO_MODE): new definition
7014 (video_hook): new function
7015 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7016 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7017 loading xnu
7018 * video/video.c (grub_video_setup): removed
473d1e45 7019 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7020 grub_video_setup
7021
4b0e1143 70222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Avoid calling biosdisk in drivemap
7025
7026 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7027 (revparse_biosdisk): likewise
7028 (list_mappings): derive name from id directly
7029 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7030
fda6cb98 70312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Script fixes
7034
7035 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7036 (grub_lexer_param): add tokenonhold
7037 (grub_script_create_cmdline): remove cmdline. All callers updated
7038 (grub_script_function_create): make functionname
7039 grub_script_arg. All callers updated
7040 (grub_script_execute_argument_to_string): new prototype
7041 * kern/parser.c (state_transitions): reorder
7042 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7043 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7044 make global
7045 (grub_script_execute_cmdline): use new format
7046 * script/sh/function.c (grub_script_function_create): make functionname
7047 grub_script_arg. All callers updated
473d1e45 7048 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7049 (grub_script_yylex): remove
7050 (grub_script_yylex2): renamed to ...
7051 (grub_script_yylex): ...renamed
7052 parse the expressions like a${b}c
7053 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7054 (GRUB_PARSER_TOKEN_VAR): remove
7055 (GRUB_PARSER_TOKEN_NAME): likewise
7056 ("if"): declare as typeless
7057 ("while"): likewise
7058 ("function"): likewise
7059 ("else"): likewise
7060 ("then"): likewise
7061 ("fi"): likewise
7062 (text): remove
7063 (argument): likewise
7064 (script): accept empty scripts and make exit on error
7065 (arguments): use GRUB_PARSER_TOKEN_ARG
7066 (function): likewise
7067 (command): move error handling to script
7068 (menuentry): move grub_script_lexer_ref before
473d1e45 7069 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7070 argument. All callers updated
7071
f4448a07 70722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7073
7074 Prevent GRUB from probing floppies during boot.
7075
7076 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7077 * commands/search.c (options): Add --no-floppy.
7078 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7079 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7080 --no-floppy when searching for UUIDs.
7081
2bf5885a 70822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7083
7084 Simplify the code duplication in commands/search.c.
7085
7086 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7087 (search_fs): ... this. Update all users.
7088
f6fd460a 70892009-06-03 Felix Zielcke <fzielcke@z-51.de>
7090
7091 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7092
cbb3c83e 70932009-05-28 Pavel Roskin <proski@gnu.org>
7094
57788cfd 7095 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7096 Remove the original symlink explicitly.
7097
cbb3c83e 7098 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7099 just one slash. That's how grub_fshelp_find_file() does it.
7100
cd0d5e30 71012009-05-26 Pavel Roskin <proski@gnu.org>
7102
f0f8bbe2 7103 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7104 to `str'.
7105
cd0d5e30 7106 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7107 possibly unused.
7108
8c2cab51 71092009-05-25 Christian Franke <franke@computer.org>
7110
7111 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7112 register.
7113 (grub_atapi_identify): Add wait after drive select.
7114 (grub_ata_identify): Do more strict status register check before
7115 calling grub_atapi_identify (). Suppress error message if status
7116 register is 0x00 after command failure. Add status register
7117 check after PIO read to avoid bogus identify due to stuck DRQ.
7118 Thanks to Pavel Roskin for testing.
7119 (grub_device_initialize): Remove unsafe status register check.
7120 Thanks to 'phcoder' for problem report and patch.
7121 Prevent sign extension in debug message.
7122
230c0ad6 71232009-05-23 Colin D Bennett <colin@gibibit.com>
7124
7125 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7126 definition file, and functions defined in `normal/menu.c' have had
7127 their prototypes moved to `include/grub/menu.h' for consistency.
7128
7129 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7130 from normal.h.
7131 (grub_menu_get_entry): Likewise.
7132 (grub_menu_get_timeout): Likewise.
7133 (grub_menu_set_timeout): Likewise.
7134 (grub_menu_execute_entry): Likewise.
7135 (grub_menu_execute_with_fallback): Likewise.
7136 (grub_menu_entry_run): Likewise.
7137
7138 * include/grub/normal.h: Re-ordered and grouped function
7139 prototypes by file that the function is defined in.
7140 (grub_menu_execute_callback): Removed; moved to menu.h.
7141 (grub_menu_get_entry): Likewise.
7142 (grub_menu_get_timeout): Likewise.
7143 (grub_menu_set_timeout): Likewise.
7144 (grub_menu_execute_entry): Likewise.
7145 (grub_menu_execute_with_fallback): Likewise.
7146 (grub_menu_entry_run): Likewise.
7147 (grub_menu_addentry): Renamed from this ...
7148 (grub_normal_add_menu_entry): ... to this.
7149
7150 * normal/main.c (grub_menu_addentry): Renamed from this ...
7151 (grub_normal_add_menu_entry): ... to this.
7152
7153 * script/sh/execute.c (grub_script_execute_menuentry): Update
7154 reference to renamed grub_menu_addentry function.
7155
861f03a5 71562009-05-23 Felix Zielcke <fzielcke@z-51.de>
7157
7158 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7159
96b1619a 71602009-05-22 Pavel Roskin <proski@gnu.org>
7161
bf6a5fb2 7162 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7163 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7164 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7165 compiling for the i386 targets, but not for the utilities.
7166
96b1619a 7167 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7168 to grub_uint8_t.
7169 (grub_root_drive): Likewise.
7170 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7171 remove alignment.
7172 (grub_root_drive): Change size to byte.
7173 (grub_start_addr): Remove.
7174 (grub_end_addr): Likewise.
7175 (grub_apm_bios_info): Likewise.
7176
b729776b 71772009-05-21 Felix Zielcke <fzielcke@z-51.de>
7178
7179 * normal/i386: Remove.
7180 * normal/powerpc: Likewise.
7181 * normal/sparc64: Likewise.
7182 * normal/x86_64: Likewise.
7183
0a15ce80 71842009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7187 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7188 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7189
33db9015 71902009-05-18 Colin D Bennett <colin@gibibit.com>
7191
d6da58e6 7192 Display error messages when parsing a Lua statement fails.
7193 Previously, executing a syntactically invalid statement like
7194 ")foo" or "bar;" would silently fail.
33db9015 7195
7196 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7197 (grub_lua_parse_line): Improved reporting of Lua parser and
7198 execution errors.
33db9015 7199
46422c89 72002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Remove -Werror which causes build to fail on some systems
7203
7204 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7205 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7206 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7207
22f53a96 72082009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 trampoline for linux on 64-bit platform
7211
18f547ad 7212 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7213 loader/i386/efi/linux_trampoline.S
7214 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7215 declaration
d6da58e6 7216 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7217 here
22f53a96 7218 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7219 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7220 trampoline
22f53a96 7221 (jumpvector): removed
7222 (grub_linux_trampoline_start): new declaration
7223 (grub_linux_trampoline_end): likewise
7224 (grub_linux_boot): use trampoline when on 64-bit platform
7225 * loader/i386/linux.c: likewise
7226
cb5a0f40 72272009-05-16 Pavel Roskin <proski@gnu.org>
7228
7229 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7230 const to avoid a warning.
7231 (grub_lua_setenv): Likewise.
7232 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7233 lmsg to fix a warning.
7234
334f2c28 72352009-05-16 Felix Zielcke <fzielcke@z-51.de>
7236
7237 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7238 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7239 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7240 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7241 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7242 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7243 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7244 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7245
59e5d3ec 72462009-05-16 Felix Zielcke <fzielcke@z-51.de>
7247
7248 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7249
9d87a1ba 72502009-05-16 Bean <bean123ch@gmail.com>
7251
7252 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7253 (lua_mod_SOURCES): New variable.
7254 (lua_mod_CFLAGS): Likewise.
7255 (lua_mod_LDFLAGS): Likewise.
7256
7257 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7258 (setjmp_mod_SOURCES): New variable.
7259 (setjmp_mod_CFLAGS): Likewise.
7260 (setjmp_LDFLAGS): Likewise.
7261
7262 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7263 (setjmp_mod_SOURCES): New variable.
7264 (setjmp_mod_CFLAGS): Likewise.
7265 (setjmp_LDFLAGS): Likewise.
7266
7267 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7268 (setjmp_mod_SOURCES): New variable.
7269 (setjmp_mod_CFLAGS): Likewise.
7270 (setjmp_LDFLAGS): Likewise.
7271
7272 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7273 (setjmp_mod_SOURCES): New variable.
7274 (setjmp_mod_CFLAGS): Likewise.
7275 (setjmp_LDFLAGS): Likewise.
7276
7277 * normal/i386/setjmp.S: Moved from here ...
7278 * lib/i386/setjmp.S: ... Moved here
7279 * normal/x86_64/setjmp.S: Moved from here ...
7280 * lib/x86_64/setjmp.S: ... Moved here
7281 * normal/powerpc/setjmp.S: Moved from here ...
7282 * lib/powerpc/setjmp.S: ... Moved here
7283 * normal/sparc64/setjmp.S: Moved from here ...
7284 * lib/sparc64/setjmp.S: ... Moved here
7285
7286 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7287 returns_twice in mingw.
7288
7289 * script/lua/grub_lib.c: New file.
7290 * script/lua/grub_lib.h: Likewise.
7291 * script/lua/grub_lua.h: Likewise.
7292 * script/lua/grub_main.c: Likewise.
7293 * script/lua/lapi.c: Likewise.
7294 * script/lua/lapi.h: Likewise.
7295 * script/lua/lauxlib.c: Likewise.
7296 * script/lua/lauxlib.h: Likewise.
7297 * script/lua/lbaselib.c: Likewise.
7298 * script/lua/lcode.c: Likewise.
7299 * script/lua/lcode.h: Likewise.
7300 * script/lua/ldblib.c: Likewise.
7301 * script/lua/ldebug.c: Likewise.
7302 * script/lua/ldebug.h: Likewise.
7303 * script/lua/ldo.c: Likewise.
7304 * script/lua/ldo.h: Likewise.
7305 * script/lua/ldump.c: Likewise.
7306 * script/lua/lfunc.c: Likewise.
7307 * script/lua/lfunc.h: Likewise.
7308 * script/lua/lgc.c: Likewise.
7309 * script/lua/lgc.h: Likewise.
7310 * script/lua/linit.c: Likewise.
7311 * script/lua/liolib.c: Likewise.
7312 * script/lua/llex.c: Likewise.
7313 * script/lua/llex.h: Likewise.
7314 * script/lua/llimits.h: Likewise.
7315 * script/lua/lmathlib.c: Likewise.
7316 * script/lua/lmem.c: Likewise.
7317 * script/lua/lmem.h: Likewise.
7318 * script/lua/loadlib.c: Likewise.
7319 * script/lua/lobject.c: Likewise.
7320 * script/lua/lobject.h: Likewise.
7321 * script/lua/lopcodes.c: Likewise.
7322 * script/lua/lopcodes.h: Likewise.
7323 * script/lua/loslib.c: Likewise.
7324 * script/lua/lparser.c: Likewise.
7325 * script/lua/lparser.h: Likewise.
7326 * script/lua/lstate.c: Likewise.
7327 * script/lua/lstate.h: Likewise.
7328 * script/lua/lstring.c: Likewise.
7329 * script/lua/lstring.h: Likewise.
7330 * script/lua/lstrlib.c: Likewise.
7331 * script/lua/ltable.c: Likewise.
7332 * script/lua/ltable.h: Likewise.
7333 * script/lua/ltablib.c: Likewise.
7334 * script/lua/ltm.c: Likewise.
7335 * script/lua/ltm.h: Likewise.
7336 * script/lua/lua.h: Likewise.
7337 * script/lua/luaconf.h: Likewise.
7338 * script/lua/lualib.h: Likewise.
7339 * script/lua/lundump.c: Likewise.
7340 * script/lua/lundump.h: Likewise.
7341 * script/lua/lvm.c: Likewise.
7342 * script/lua/lvm.h: Likewise.
7343 * script/lua/lzio.c: Likewise.
7344 * script/lua/lzio.h: Likewise.
7345
5e898c9d 73462009-05-16 Bean <bean123ch@gmail.com>
7347
7348 * include/grub/kernel.h (grub_module_header_types): Add type
7349 OBJ_TYPE_CONFIG.
7350
7351 * kern/main.c (grub_load_config): New function.
7352 (grub_main): Call grub_load_config to read boot config.
7353
7354 * grub-mkimage (generate_image): New parameter config_path.
7355 (options): New option --config.
7356 (main): Parse --config option, and pass it to generate_image.
7357
cf353a47 73582009-05-14 Christian Franke <franke@computer.org>
7359
7360 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
7361 This fixes build on Cygwin.
7362
3834887f 73632009-05-14 Pavel Roskin <proski@gnu.org>
7364
7365 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
7366 jump. This saves two bytes, so the typical case of 2 swapped
7367 drives would fit 32 bytes.
7368
8090fc01 73692009-05-13 Pavel Roskin <proski@gnu.org>
7370
ac963883 7371 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
7372 grub_uint32_t to avoid a warning.
7373
8090fc01 7374 * loader/i386/linux.c (allocate_pages): When assigning
7375 real_mode_mem, cast through grub_size_t to fix a warning. The
7376 code already makes sure that the value would fit a pointer.
7377 (grub_linux_setup_video): Cast render_target->data to
7378 grub_size_t to fix a warning.
7379
18f547ad 73802009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 7381
7382 * commands/i386/pc/drivemap.c: New file - implement drivemap
7383 command.
7384 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
7385 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
7386
6f6a8b28 73872009-05-13 Pavel Roskin <proski@gnu.org>
7388
7389 * util/i386/pc/grub-setup.c (setup): Remove unused variable
7390 embedding_area_exists.
7391
15fbf4c4 73922009-05-13 Robert Millan <rmh.grub@aybabtu.com>
7393
7394 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
7395 it easier to understand / work with.
59978c8a 7396 Improve warning messages for cases where there's no embedding area,
7397 or when it is too small (or core.img too large).
15fbf4c4 7398
238e871f 73992009-05-13 Pavel Roskin <proski@gnu.org>
7400
0ab3a9a4 7401 * loader/i386/pc/multiboot2.c: Add necessary includes for
7402 grub_multiboot2_real_boot().
7403
a2c8c5f8 7404 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
7405 PX record is always little-endian. We only need the lower 2
7406 bytes of the mode.
7407
faec96af 7408 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
7409 facilitate code reuse.
7410 (grub_cpio_mount): Use "struct head", not a char buffer. This
7411 fixes a warning reported by gcc 4.4.
7412
238e871f 7413 * kernel/disk.c (grub_disk_read): Use void pointer for the
7414 buffer.
7415 (grub_disk_write): Use const void pointer for the buffer.
7416 Adjust all callers. Remove unnecessary casts.
7417
901d2f0c 74182009-05-10 Robert Millan <rmh.grub@aybabtu.com>
7419
7420 * util/i386/pc/grub-install.in: Update copyright year.
7421
18f547ad 74222009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 7423
7424 gptsync
7425
7426 * commands/gptsync.c: new file
7427 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
7428 (gptsync_mod_SOURCES): new variable
7429 (gptsync_mod_CFLAGS): likewise
7430 (gptsync_mod_LDFLAGS): likewise
18f547ad 7431 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 7432 new definition
7433 (GRUB_PC_PARTITION_TYPE_HFS): likewise
7434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
7435 * conf/i386-ieee1275.rmk: likewise
7436 * conf/i386-pc.rmk: likewise
7437 * conf/powerpc-ieee1275.rmk: likewise
7438
b4ba690a 74392009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fixed grub-emu
7442
7443 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
7444 (grub_dl_ref): likewise
7445
317e1a44 74462009-05-08 Robert Millan <rmh.grub@aybabtu.com>
7447
7448 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
7449 split in two functions (one for msdos and one for gpt).
7450
041b8094 74512009-05-08 Pavel Roskin <proski@gnu.org>
7452
752473c2 7453 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
7454 not modified.
7455
041b8094 7456 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
7457 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
7458 Initialize them with -1. Add sanity check for bad1. Eliminate
7459 nerr variable.
7460
172800ce 74612009-05-08 David S. Miller <davem@davemloft.net>
7462
7463 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
7464
29aa5e81 74652009-05-06 Robert Millan <rmh.grub@aybabtu.com>
7466
7467 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 7468 existence.
29aa5e81 7469
96613b62 74702009-05-05 Felix Zielcke <fzielcke@z-51.de>
7471
7472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 7473 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 7474
eef73c8a 74752009-05-05 David S. Miller <davem@davemloft.net>
7476
7477 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
7478
119494b5 74792009-05-05 Pavel Roskin <proski@gnu.org>
7480
7481 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
7482 of grub_dl_ref() and grub_dl_unref().
7483 * commands/parttool.c: Remove preprocessor conditionals around
7484 grub_dl_ref() and grub_dl_unref().
7485 * fs/affs.c: Likewise.
7486 * fs/afs.c: Likewise.
7487 * fs/cpio.c: Likewise.
7488 * fs/ext2.c: Likewise.
7489 * fs/fat.c: Likewise.
7490 * fs/hfs.c: Likewise.
7491 * fs/hfsplus.c: Likewise.
7492 * fs/iso9660.c: Likewise.
7493 * fs/jfs.c: Likewise.
7494 * fs/minix.c: Likewise.
7495 * fs/ntfs.c: Likewise.
7496 * fs/reiserfs.c: Likewise.
7497 * fs/sfs.c: Likewise.
7498 * fs/udf.c: Likewise.
7499 * fs/ufs.c: Likewise.
7500 * fs/xfs.c: Likewise.
7501 * include/grub/dl.h: Likewise.
7502 * loader/xnu.c: Likewise.
7503
de5fd76e 75042009-05-04 Pavel Roskin <proski@gnu.org>
7505
7506 * commands/acpi.c: Remove unused variable my_mod.
7507 * partmap/amiga.c: Likewise.
7508 * partmap/apple.c: Likewise.
7509 * partmap/gpt.c: Likewise.
7510 * partmap/pc.c: Likewise.
7511 * partmap/sun.c: Likewise.
7512 * term/gfxterm.c: Likewise.
7513 * term/i386/pc/vesafb.c: Likewise.
7514 * term/i386/pc/vga.c: Likewise.
7515
983598ad 75162009-05-04 David S. Miller <davem@davemloft.net>
7517
7518 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
7519 pointer args to grub_ieee1275_get_property().
7520
8aadec43 7521 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
7522
9554b15e 7523 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
7524 devices, and do not traverse down under controller nodes.
7525
67e23c90 7526 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
7527 (grub_ofdisk_open): Use it to un-escape "," characters.
7528 * kern/disk.c (find_part_sep): New.
7529 (grub_disk_open): Use it to find the first non-escaped ','
7530 character in the disk name.
7531 * util/ieee1275/devicemap.c (escape_of_path): New.
7532 (grub_util_emit_devicemap_entry): Use it.
7533 * util/sparc64/ieee1275/grub-install.in: Update script to
7534 strip partition specifiers properly by not triggering on
7535 '\' escaped ',' characters.
7536
74bfdd2f 75372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7538
7539 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
7540 to 0x300.
7541 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
7542 resolutions.
7543 (linux_vesafb_modes): Add a lot of additional modes to the list (based
7544 on documentation from Wikipedia).
7545
4241d2b1 75462009-05-04 Pavel Roskin <proski@gnu.org>
7547
7548 * disk/ata.c: Spelling fixes.
7549 * disk/raid.c: Likewise.
7550 * disk/usbms.c: Likewise.
7551 * disk/dmraid_nvidia.c: Likewise.
7552 * kern/ieee1275/openfw.c: Likewise.
7553 * kern/ieee1275/init.c: Likewise.
7554 * kern/ieee1275/cmain.c: Likewise.
7555 * boot/i386/pc/cdboot.S: Likewise.
7556 * video/readers/png.c: Likewise.
7557 * video/i386/pc/vbe.c: Likewise.
7558 * fs/udf.c: Likewise.
7559 * fs/hfs.c: Likewise.
7560 * fs/reiserfs.c: Likewise.
7561 * efiemu/runtime/efiemu.c: Likewise.
7562 * efiemu/main.c: Likewise.
7563 * efiemu/mm.c: Likewise.
7564 * include/grub/elf.h: Likewise.
7565 * include/grub/xnu.h: Likewise.
7566 * include/grub/usbdesc.h: Likewise.
7567 * include/grub/usb.h: Likewise.
7568 * include/grub/script_sh.h: Likewise.
7569 * include/grub/lib/LzmaEnc.h: Likewise.
7570 * include/grub/efiemu/efiemu.h: Likewise.
7571 * include/grub/command.h: Likewise.
7572 * normal/menu.c: Likewise.
7573 * normal/main.c: Likewise.
7574 * normal/datetime.c: Likewise.
7575 * bus/usb/uhci.c: Likewise.
7576 * mmap/i386/uppermem.c: Likewise.
7577 * mmap/mmap.c: Likewise.
7578 * commands/acpi.c: Likewise.
7579 * commands/test.c: Likewise.
7580 * partmap/apple.c: Likewise.
7581 * font/font.c: Likewise.
7582 * loader/sparc64/ieee1275/linux.c: Likewise.
7583 * loader/macho.c: Likewise.
7584 * loader/i386/bsd_trampoline.S: Likewise.
7585 * loader/i386/bsd.c: Likewise.
7586 * loader/xnu.c: Likewise.
7587 * term/i386/pc/vesafb.c: Likewise.
7588 * term/usb_keyboard.c: Likewise.
7589 * util/resolve.c: Likewise.
7590 * util/getroot.c: Likewise.
7591
0cfc0083 75922009-05-04 Felix Zielcke <fzielcke@z-51.de>
7593
7594 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
7595
7c1d00cd 75962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7597
7598 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
7599 build error.
7600
b01f0548 76012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7602
7603 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
7604 parameter only available on BIOS.
7605
ecc3eb22 76062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Removed wrong semicolon in declaration
7609
7610 * grub/misc.h (grub_dprintf): remove semicolon
7611
112972a9 76122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7613
7614 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
7615 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
7616 is done by grub_cmd_linux() now).
7617 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
7618 restore video to text mode.
7619 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
7620 indicates lack of "vga=" parameter. "vga=0" is mapped to
7621 `GRUB_LINUX_VID_MODE_NORMAL'.
7622
afd5c115 76232009-05-04 Felix Zielcke <fzielcke@z-51.de>
7624
7625 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
7626 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
7627 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 7628 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 7629 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
7630 `grub_script.tab.c'.
7631
7632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7633 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7635 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7637
faa517ce 7638 * Makefile.in: Remove duplicated 2008 in Copyright line.
7639
ae0c0bdc 76402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7641
473d1e45 7642 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 7643 unconditionally.
7644 * include/grub/util/misc.h (grub_util_warn): New declaration.
7645
7646 * util/i386/pc/grub-install.in: Understand --force and pass it down
7647 to grub-setup.
7648
7649 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
7650 down to setup().
7651 (setup): Improve error messages and add warnings when requested to
7652 install in odd layouts. Refuse to install using blocklists unless
7653 --force was set.
7654
18f547ad 76552009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 7656
7657 * disk/raid.c (grub_raid_scan_device): Improve debug message.
7658
6d260daa 76592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 Updated copyright year
7662
7663 * fs/hfsplus.c: updated copyright year
18f547ad 7664
69f853f8 76652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 HFS+ UUID
7668
18f547ad 7669 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 7670 in the space previously used by unused3
7671 (grub_hfsplus_uuid): new function
7672 (grub_hfsplus_fs): added uuid field
7673
4c402e73 76742009-05-03 Pavel Roskin <proski@gnu.org>
7675
7676 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
7677 suppress warnings. It's no longer needed.
7678 * disk/host.c: Likewise.
7679 * disk/ata_pthru.c: Likewise.
7680 * disk/loopback.c: Likewise.
7681 * hook/datehook.c: Likewise.
7682 * parttool/pcpart.c: Likewise.
7683 * fs/i386/pc/pxe.c: Likewise.
7684 * fs/ntfscomp.c: Likewise.
7685 * efiemu/main.c: Likewise.
7686 * mmap/mmap.c: Likewise.
7687 * commands/crc.c: Likewise.
7688 * commands/hexdump.c: Likewise.
7689 * commands/hdparm.c: Likewise.
7690 * commands/acpi.c: Likewise.
7691 * commands/echo.c: Likewise.
7692 * commands/minicmd.c: Likewise.
7693 * commands/blocklist.c: Likewise.
7694 * commands/memrw.c: Likewise.
7695 * commands/loadenv.c: Likewise.
7696 * commands/usbtest.c: Likewise.
7697 * commands/lsmmap.c: Likewise.
7698 * commands/boot.c: Likewise.
7699 * commands/parttool.c: Likewise.
7700 * commands/configfile.c: Likewise.
7701 * commands/search.c: Likewise.
7702 * commands/ieee1275/suspend.c: Likewise.
7703 * commands/cat.c: Likewise.
7704 * commands/i386/pc/pxecmd.c: Likewise.
7705 * commands/i386/pc/play.c: Likewise.
7706 * commands/i386/pc/halt.c: Likewise.
7707 * commands/i386/pc/vbeinfo.c: Likewise.
7708 * commands/i386/pc/vbetest.c: Likewise.
7709 * commands/lspci.c: Likewise.
7710 * commands/date.c: Likewise.
7711 * commands/handler.c: Likewise.
7712 * commands/ls.c: Likewise.
7713 * commands/test.c: Likewise.
7714 * commands/cmp.c: Likewise.
7715 * commands/efi/loadbios.c: Likewise.
7716 * commands/efi/fixvideo.c: Likewise.
7717 * commands/halt.c: Likewise.
7718 * commands/help.c: Likewise.
7719 * commands/reboot.c: Likewise.
7720 * hello/hello.c: Likewise.
7721 * script/sh/main.c: Likewise.
7722 * loader/xnu.c: Likewise.
7723 * term/terminfo.c: Likewise.
7724 * term/i386/pc/serial.c: Likewise.
7725 * term/usb_keyboard.c: Likewise.
7726
515b5079 77272009-05-03 David S. Miller <davem@davemloft.net>
7728
7729 * normal/menu.c: Include grub/parser.h
7730
dfc31a22 77312009-05-03 Pavel Roskin <proski@gnu.org>
7732
2fee74f1 7733 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7734 not char*.
7735 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7736 Suggested by Javier Martín <lordhabbit@gmail.com>
7737
dfc31a22 7738 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7739 efiemu??.o doesn't exist.
7740 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7741 copying.
7742
18f547ad 77432009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7744
7745 FreeBSD 64-bit support
7746
18f547ad 7747 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7748 and loader/i386/bsd_trampoline.S
7749 (bsd_mod_ASFLAGS): new variable
7750 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7751 (FREEBSD_MODTYPE_KERNEL64): likewise
7752 (grub_bsd64_trampoline_start): likewise
7753 (grub_bsd64_trampoline_end): likewise
7754 (grub_bsd64_trampoline_selfjump): likewise
7755 (grub_bsd64_trampoline_gdt): likewise
7756 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7757 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7758 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7759 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7760 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7761 of "attrib" member
7762 * loader/i386/bsd_pagetable.c: new file
7763 * loader/i386/bsd_trampoline.S: likewise
7764 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7765 (ALIGN_VAR): likewise
7766 (entry_hi): new variable
7767 (kern_end_mdofs): likewise
7768 (is_64bit): likewise
7769 (grub_freebsd_add_meta): use ALIGN_VAR
7770 (grub_e820_mmap): new declaration
7771 (grub_freebsd_add_mmap): new function
7772 (grub_freebsd_add_meta_module): support 64 bit kernels
7773 (grub_freebsd_list_modules): use ALIGN_VAR
7774 (gdt_descriptor): new declaration
7775 (grub_freebsd_boot): support 64 bit kernels
7776 (grub_bsd_elf64_hook): new function
7777 (grub_bsd_load_elf): support elf64
7778
038c5720 77792009-05-03 Bean <bean123ch@gmail.com>
7780
7781 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7782 after we get the result of if statement.
7783
fc45fb58 77842009-05-03 Bean <bean123ch@gmail.com>
7785
7786 * Makefile.in (enable_efiemu): New variable.
7787
7788 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7789 set.
7790 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7791 path.
7792 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7793 path, add -mno-red-zone option.
7794 (efiemu64_s.o): Likewise.
7795 (efiemu64.o): Use macro $^ for source file.
7796
7797 * configure.ac (--enable-efiemu): New option.
7798
bbee0f2b 77992009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 xnu support
7802
7803 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
7804 (pkglib_MODULES): add xnu.mod
7805 (xnu_mod_SOURCES): new variable
7806 (xnu_mod_CFLAGS): likewise
7807 (xnu_mod_LDFLAGS): likewise
7808 (xnu_mod_ASFLAGS): likewise
7809 * conf/i386-pc.rmk: likewise
7810 * conf/x86_64-efi.rmk: likewise
7dd4a573 7811 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 7812 new declaration
7813 * include/grub/i386/macho.h: new file
7814 * include/grub/i386/xnu.h: likewise
7815 * include/grub/macho.h: likewise
7816 * include/grub/machoload.h: likewise
7817 * include/grub/x86_64/macho.h: likewise
7818 * include/grub/x86_64/xnu.h: likewise
7819 * include/grub/xnu.h: likewise
7820 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
7821 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
7822 * loader/i386/efi/xnu.c: new file
7823 * loader/i386/pc/xnu.c: likewise
7824 * loader/i386/xnu.c: likewise
7825 * loader/i386/xnu_helper.S: likewise
7826 * loader/macho.c: likewise
7827 * loader/xnu.c: likewise
7828 * loader/xnu_resume.c: likewise
7829 * util/grub-dumpdevtree: likewise
7830 * include/grub/i386/pit.h: include grub/err.h
7831 (grub_pit_wait): export
7832 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 7833
5caf964d 78342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Efiemu
7dd4a573 7837
5caf964d 7838 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 7839 _linux_efi, linux_efi.
7840 new files in grub-emu
5caf964d 7841 new targets efiemu32.o and efiemu64.o
7842 * loader/linux_normal_efiemu.c: likewise
7843 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 7844 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 7845 files to copy
7846 * include/grub/autoefi.h: new file
7dd4a573 7847 * include/grub/i386/efiemu.h: likewise
5caf964d 7848 * include/grub/i386/pc/efiemu.h: likewise
7849 * include/grub/efi/api.h: add LL suffix when necessary
7850 new definitions relating to tables
7851 * include/grub/efiemu/efiemu.h: new file
7852 * include/grub/efiemu/runtime.h: likewise
7853 * efiemu/prepare.c: likewise
7854 * efiemu/loadcore_common.c: likewise
7855 * efiemu/loadcore64.c: likewise
7856 * efiemu/runtime/efiemu.sh: likewise
7857 * efiemu/runtime/efiemu.S: likewise
7858 * efiemu/runtime/efiemu.c: likewise
7859 * efiemu/runtime/config.h: likewise
7860 * efiemu/prepare32.c: likewise
7861 * efiemu/main.c: likewise
7862 * efiemu/modules/pnvram.c: likewise
7863 * efiemu/modules/i386: likewise
7864 * efiemu/modules/i386/pc: likewise
7865 * efiemu/modules/acpi.c: likewise
7866 * efiemu/i386/pc/cfgtables.c: likewise
7867 * efiemu/i386/loadcore64.c: likewise
7868 * efiemu/i386/loadcore32.c: likewise
7869 * efiemu/prepare64.c: likewise
7870 * efiemu/loadcore.c: likewise
7871 * efiemu/symbols.c: likewise
7872 * efiemu/mm.c: likewise
7873 * efiemu/loadcore32.c: likewise
7dd4a573 7874
78752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 7876
7877 ACPI spoofing
7878
7879 * commands/acpi.c: new file
7880 * commands/i386/pc/acpi.c: likewise
7881 * commands/efi/acpi.c: likewise
7882 * include/grub/acpi.h: likewise
7883 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
7884 (acpi_mod_SOURCES): new variable
7885 (acpi_mod_CFLAGS): likewise
7886 (acpi_mod_LDFLAGS): likewise
7887 * conf/i386-efi.rmk: likewise
7888 * conf/x86_64-efi.rmk: likewise
7889
7dd4a573 78902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 7891
7892 Missing part from mmap patch
7893
7894 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
7895 (grub_mmap_unregister)
7896 (grub_mmap_free_and_unregister): use grub_mmap_register
7897
7dd4a573 78982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 7899
7900 Mmap services
7901
7902 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
7903 * loader/i386/linux.c (find_mmap_size): likewise
7904 (allocate_pages): likewise
7905 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
7906 (grub_fill_multiboot_mmap): likewise
7907 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
7908 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
7909 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
7910 (OPENBSD_MMAP_RESERVED): likewise
7911 * include/grub/i386/pc/memory.h: include grub/memory.h
7912 (grub_lower_mem): removed
7913 (grub_upper_mem): likewise
7914 (GRUB_MACHINE_MEMORY_ACPI): new definition
7915 (GRUB_MACHINE_MEMORY_NVS): likewise
7916 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
7917 (GRUB_MACHINE_MEMORY_HOLE): likewise
7918 (grub_machine_mmap_register): likewise
7919 (grub_machine_mmap_unregister): likewise
7920 (grub_machine_get_upper): likewise
7921 (grub_machine_get_lower): likewise
7922 (grub_machine_get_post64): likewise
7923 * include/grub/i386/efi/memory.h: new file
7924 * include/grub/x86_64/efi/memory.h: likewise
7925 * include/grub/efi/memory.h: likewise
7926 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
7927 (mmap_mod_SOURCES): new variable
7928 (mmap_mod_LDFLAGS): likewise
7929 (mmap_mod_ASFLAGS): likewise
7930 * conf/i386-coreboot.rmk: likewise
7931 * conf/i386-ieee1275.rmk: likewise
7932 * conf/i386-efi.rmk: likewise
7933 * conf/x86_64-efi.rmk: likewise
7934 * include/grub/types.h (UINT_TO_PTR): new macro
7935 (PTR_TO_UINT32): likewise
7936 (PTR_TO_UINT64): likewise
7937 * include/grub/memory.h: new file
7938 * mmap/i386/pc/mmap.c: likewise
7939 * mmap/i386/pc/mmap_helper.S: likewise
7940 * mmap/i386/uppermem.c: likewise
7941 * mmap/mmap.c: likewise
7942 * mmap/efi/mmap.c: likewise
7dd4a573 7943 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 7944 grub_upper_mem
7945 * kern/i386/pc/init.c (grub_lower_mem): removed variable
7946 (grub_upper_mem): likewise
7947 (grub_machine_init): don't use grub_upper_mem,
7948 make grub_lower_mem local
7949 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
7950 grub_mmap_iterate and grub_mmap_get_upper
7951 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
7952
d558e6b5 79532009-05-02 Bean <bean123ch@gmail.com>
7954
7955 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
7956 script/sh/parser.y.
7957 (pkglib_MODULES): Add normal.mod and sh.mod.
7958 (normal_SOURCES): New variable.
7959 (normal_mod_CFLAGS): Likewise.
7960 (normal_mod_LDFLAGS): Likewise.
7961 (sh_mod_SOURCES): Likewise.
7962 (sh_mod_CFLAGS): Likewise.
7963 (sh_mod_LDFLAGS): Likewise.
7964
7965 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
7966 script/sh/lexer.c_DEPENDENCIES.
7967 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
7968 kern/rescue_reader.c and kern/rescue_parser.c.
7969 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
7970 (grub_emu_SOURCES): Change source files.
7971 (pkglib_MODULES): Remove normal.mod.
7972 (normal_SOURCES): Removed.
7973 (normal_mod_CFLAGS): Likewise.
7974 (normal_mod_LDFLAGS): Likewise.
7975 * conf/i386-coreboot.rmk: Likewise.
7976 * conf/i386-efi.rmk: Likewise.
7977 * conf/i386-ieee1276.rmk: Likewise.
7978 * conf/powerpc-ieee1275.rmk: Likewise.
7979 * conf/sparc64-ieee1275.rmk: Likewise.
7980 * conf/x86_64-efi.rmk: Likewise.
7981
7982 * include/grub/command.h (grub_command_execute): New inline function.
7983
7984 * include/grub/menu.h (grub_menu_entry): Removed commands field.
7985
7986 * include/grub/normal.h: Remove <grub/setjmp.h>.
7987 (grub_fs_module_list): Moved to normal/autofs.c.
7988 (grub_exit_env): Removed.
7989 (grub_command_execute): Likewise.
7990 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
7991 parameter script.
7992 (read_command_list): New function declaration.
7993 (read_fs_list): Likewise.
7994
7995 * include/parser.h: Include <grub/reader.h>.
7996 (grub_parser_split_cmdline): Change type of getline parameter.
7997 (grub_parser): New structure.
7998 (grub_parser_class): New variable.
7999 (grub_parser_execute): New function declaration.
8000 (grub_register_rescue_parser): Likewise.
8001 (grub_parser_register): New inline function.
8002 (grub_parser_unregister): Likewise.
8003 (grub_parser_get_current): Likewise.
8004 (grub_parser_set_current): Likewise.
8005
8006 * include/grub/reader.h: New file.
8007 * kern/reader.c: Likewise.
8008 * kern/rescue_parser.c: Likewise.
8009 * kern/rescue_reader.c: Likewise.
8010 * normal/autofs.c: Likewise.
8011 * normal/dyncmd.c: Likewise.
8012
8013 * include/grub/rescue.h: Removed.
8014 * normal/command.h: Likewise.
8015
8016 * include/grub/script.h: Moved to ...
8017 * include/grub/script_sh.h: ... Moved here.
8018 * normal/execute.c: Moved to ...
8019 * script/sh/execute.c: ... Moved here.
8020 * normal/function.c: Moved to ...
8021 * script/sh/function.c: ... Moved here.
8022 * normal/lexer.c: Moved to ...
8023 * script/sh/lexer.c: ... Moved here.
8024 * normal/parser.y: Moved to ...
8025 * script/sh/parser.y: ... Moved here.
8026 * normal/script.c: Moved to ...
8027 * script/sh/script.c: ... Moved here.
8028
8029 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8030 <grub/reader.h>.
8031 (grub_exit_env): Removed.
8032 (fs_module_list): Moved to normal/autofs.c.
8033 (grub_file_getline): Don't handle comment here.
8034 (free_menu): Skip removed field entry->commands.
8035 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8036 script parameter.
8037 (read_config_file): Removed nested parameter, change getline function.
8038 (grub_enter_normal_mode): Removed.
8039 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8040 (read_command_list): Likewise.
8041 (autoload_fs_module): Moved to normal/autofs.c.
8042 (read_fs_list): Likewise.
8043 (reader_nested): New variable.
8044 (grub_normal_execute): Run parser.sh to switch to sh parser.
8045 (grub_cmd_rescue): Removed.
8046 (cmd_normal): Removed.
8047 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8048 rescue command.
8049 (grub_cmdline_run): New function.
8050 (grub_normal_reader_init): Likewise.
8051 (grub_normal_read_line): Likewise.
8052 (grub_env_write_pager): Likewise.
8053 (cmdline): New variable.
8054 (grub_normal_reader): Likewise.
8055 (GRUB_MOD_INIT): Register normal reader and set as current, register
8056 pager hook, register normal command with grub_register_command_prio,
8057 so that it won't show up in command.lst.
8058 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8059 grub_fs_autoload_hook.
8060
8061 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8062 (grub_menu_execute_entry): Replace grub_script_execute with
8063 grub_parser_execute, change parameter to grub_command_execute.
8064
8065 * normal/menu_text.c: Remove <grub/script.h>.
8066
8067 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8068 and <grub/parser.h>.
8069 (run): Change editor_getline to use new parser interface. Change
8070 parameter to grub_command_execute.
8071
8072 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8073 <grub/reader.h> and <grub/parser.h>.
8074 (grub_load_normal_mode): Execute normal command.
8075 (grub_main): Call grub_register_core_commands,
8076 grub_register_rescue_parser and grub_register_rescue_reader, use
8077 grub_reader_loop to enter input loop.
8078
7dd4a573 8079 * kern/parser.c (grub_parser_split_cmdline): Change type of
8080 getline parameter.
d558e6b5 8081 (grub_parser_class): New variable.
8082 (grub_parser_execute): New function.
8083
8084 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8085 * loader/multiboot2.c: Likewise.
8086 * loader/sparc64/ieee1275/linux.c: Likewise.
8087
8088 * util/grub-emu.c (read_command_list): New dummy function.
8089
18db813d 80902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8091
8092 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8093 count to 16 for CCISS and IDA.
8094
6c67de15 80952009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8096
8097 * normal/menu_text.c (grub_wait_after_message): Print a newline
8098 after waiting for user input.
8099
8100 * loader/i386/linux.c: Include `<grub/normal.h>'.
8101 (grub_cmd_linux): Improve the error message about `ask' mode, by
8102 waiting for user input so it's not missed (we can do this, since
8103 user requested interaction).
8104
d9dc87b0 81052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Added missing lst to grub-mkrescue
8108
8109 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8110 and ${input_dir}/parttool.lst
8111
ac8a2baa 81122009-04-30 David S. Miller <davem@davemloft.net>
8113
ad22a610 8114 * util/hostdisk.c (device_is_wholedisk): New function.
8115 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8116 zero only if device_is_wholedisk() returns true.
8117
6966215d 8118 * util/hostdisk.c (convert_system_partition_to_system_disk):
8119 Handle virtual disk devices named /dev/vdiskX as found on sparc
8120 and powerpc.
8121
ac8a2baa 8122 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8123 lettered partition specifier is found, convert to numbered.
8124
979b4fb4 81252009-04-29 David S. Miller <davem@davemloft.net>
8126
e2bf39b2 8127 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8128 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8129
3c64e104 8130 * normal/command.c: Add missing newline at end of file.
8131
979b4fb4 8132 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8133 warnings.
8134 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8135 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8136 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8137 ihandles have a 32-bit type but need to be stored in a "void *".
8138
136d9f82 81392009-04-28 Pavel Roskin <proski@gnu.org>
8140
9459c306 8141 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8142 not disk. Adjust all dependencies.
2e08a26a 8143 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8144 grub_disk_close().
8145
136d9f82 8146 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8147 parent's partition, don't copy it by reference, as it gets freed
8148 on close.
8149
7dd4a573 81502009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8151
8152 Preboot hooks support
8153
8154 * commands/boot.c (struct grub_preboot_t): new declaration
8155 (preboots_head): new variable
8156 (preboots_tail): likewise
8157 (grub_loader_register_preboot_hook): new function
8158 (grub_loader_unregister_preboot_hook): likewise
8159 (grub_loader_set): launch preboot hooks
8160 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8161 (grub_loader_register_preboot_hook): new declaration
8162 (grub_loader_unregister_preboot_hook): likewise
8163
5af922b5 81642009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Warning fix
8167
7dd4a573 8168 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8169 calling grub_dprintf
8170
a5562c30 81712009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Bug and warning fixes
8174
7dd4a573 8175 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8176 declaration
8177 * commands/test.c (test_parse): fixed bug with file tests and corrected
8178 declaration of find_file
8179
4006f85c 81802009-04-26 Pavel Roskin <proski@gnu.org>
8181
8182 * Makefile.in: Don't install empty manual pages if help2man is
8183 missing. Use help2man option for output, not shell redirection.
8184
5c77c3de 81852009-04-26 David S. Miller <davem@davemloft.net>
8186
8187 * util/grub-mkdevicemap.c (make_device_map): Add missing
8188 NESTED_FUNC_ATTR to process_device().
8189
033b10a8 81902009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 Test command
8193
8194 * commands/test.c: rewritten to use bash-like test
8195
e4343593 81962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Parttool autoloading and improvements
8199
7dd4a573 8200 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8201 (parttool.lst): new target
8202 * genmk.rb: generate parttool-*
8203 (CLEANFILES): add #{parttool}
8204 (PARTTOOLFILES): new variable
8205 * genparttoollist.sh: new file
7dd4a573 8206 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8207 (grub_pcpart_type): likewise
8208 * commands/parttool.c (helpmsg): new variable
8209 (grub_cmd_parttool): output help if not enough arguments are supplied
8210 autoload modules
8211 (GRUB_MOD_INIT(parttool)): use helpmsg
8212
0d312500 82132009-04-24 David S. Miller <davem@davemloft.net>
8214
7dd4a573 8215 Avoiding opening same device multiple times in device iterator.
0d312500 8216
8217 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8218 and use it to build a list of partitions in iterate_disk() and
0d312500 8219 iterate_partition().
8220
ac20caff 8221 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8222 on disk->data.
8223
0dcf7495 8224 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8225 grub_devalias_iterate() result instead of unconditional 0.
8226 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8227 Also, capture hook return value, either directly or via
8228 grub_children_iterate(), and propagate to caller.
8229 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8230 grub_children_iterate): Return value is now 'int' instead of
8231 'grub_err_t'.
8232 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8233 like a proper iterator, stopping when hooks return non-zero.
8234 (grub_devalias_iterate): Likewise.
8235
c8c08833 82362009-04-23 David S. Miller <davem@davemloft.net>
8237
8238 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8239
f01005a8 82402009-04-22 David S. Miller <davem@davemloft.net>
8241
8242 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8243 is larger than address_cells, use that value for address_cells too.
8244
4e8269da 8245 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8246 IEEE1275_MAX_PATH_LEN): Define.
8247 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8248 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8249 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8250 'devtype'. Explicitly NULL terminate devalias expansion.
8251
a1447506 8252 * util/sparc64/ieee1275/misc.c: New file.
8253 * util/sparc64/ieee1275/grub-setup.c: New file.
8254 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8255 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8256 * util/sparc64/ieee1275/grub-install.in: New file.
8257 * util/ieee1275/ofpath.c: New file.
8258 * util/ieee1275/devicemap.c: New file.
8259 * util/devicemap.c: New file.
8260 * util/deviceiter.c: New file.
8261 * kern/sparc64/ieee1275/init.c: New file.
8262 * include/grub/util/ofpath.h: New file.
8263 * include/grub/util/deviceiter.h: New file.
8264 * util/grub-mkdevicemap.c: Include deviceiter.h.
8265 Implement using grub_util_emit_devicemap_entry and
8266 grub_util_iterate_devices.
8267 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8268 util/devicemap.c into grub-mkdevicemap
8269 * conf/i386-efi.rmk: Likewise.
8270 * conf/i386-ieee1275.rmk: Likewise.
8271 * conf/i386-pc.rmk: Likewise.
8272 * conf/powerpc-ieee1275.rmk: Likewise.
8273 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8274 images and installation utilities. Build kernel as image
8275 instead of as elf binary. Use common rules as much as possible.
8276
7dd4a573 82772009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8278
8279 Correct GPT definition
8280
7dd4a573 8281 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8282 of "attrib" member
8283
c6c5219f 82842009-04-19 Felix Zielcke <fzielcke@z-51.de>
8285
8286 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8287
0552ff9f 82882009-04-19 David S. Miller <davem@davemloft.net>
8289
8290 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8291 (grub_rescue_cmd_linux): Rename to...
8292 (grub_cmd_linux): and fix prototype.
8293 (grub_rescue_cmd_initrd): Rename to...
8294 (grub_cmd_initrd): and fix prototype.
8295 (cmd_linux, cmd_initrd): New.
8296 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8297 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8298
d1a282fc 82992009-04-17 Pavel Roskin <proski@gnu.org>
8300
07c5039f 8301 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8302 format.
8303 (grub_ohci_transfer): Likewise.
8304
b012002d 8305 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8306
1bc09c35 8307 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8308 return without a value. Fix inconsistent indentation.
8309
e0ff9126 8310 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8311 match struct grub_fs.
8312
d1a282fc 8313 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8314 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8315 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8316 * commands/lspci.c (grub_lspci_iter): Likewise.
8317
a96df3f2 83182009-04-16 Bean <bean123ch@gmail.com>
8319
8320 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8321 value.
8322
41bb0fe9 83232009-04-15 Pavel Roskin <proski@gnu.org>
8324
8325 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8326 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8327 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8328 definitions.
8329
596c6970 83302009-04-15 Felix Zielcke <fzielcke@z-51.de>
8331
8332 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8333 that no multiple data or metadata areas are supported and `Unknown
596c6970 8334 metadata header'.
8335
7dd4a573 83362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8337
8338 Move loader out of the kernel
8339
8340 * kern/loader.c: moved to ...
8341 * commands/boot.c: ... moved here
8342 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
8343 * commands/boot.c (grub_cmd_boot): moved here. All users updated
8344 * include/grub/kernel.h (grub_machine_fini): export
8345 * include/grub/loader.h (grub_loader_is_loaded): update declaration
8346 (grub_loader_set): likewise
8347 (grub_loader_unset): likewise
8348 (grub_loader_boot): likewise
8349 * conf/common.rmk: new module boot.mod
8350 (pkglib_MODULES): add boot.mod
8351 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
8352 (grub_emu_SOURCES): likewise
8353 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
8354 (grub_emu_SOURCES): likewise
8355 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
8356 (grub_emu_SOURCES): likewise
8357 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
8358 (grub_emu_SOURCES): likewise
8359 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
8360 (grub_emu_SOURCES): likewise
7dd4a573 8361 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
8362 (grub_emu_SOURCES): likewise
0d5d5653 8363 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 8364 (grub_emu_SOURCES): likewise
0d5d5653 8365
7dd4a573 83662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 8367
8368 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 8369
5999d619 8370 * kern/misc.c (grub_itoa): Removed function
8371 (grub_ltoa): likewise
8372 (grub_vsprintf): use grub_lltoa
8373
7dd4a573 83742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 8375
8376 Restore grub-emu
8377
8378 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
8379 * conf/i386-coreboot.rmk: likewise
8380 * conf/i386-ieee1275.rmk: likewise
8381 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8382
20318222 83832009-04-15 Felix Zielcke <fzielcke@z-51.de>
8384
8385 * INSTALL: Add that `./autogen.sh' needs to be run before
8386 `./configure.'.
8387
d05f0df3 83882009-04-14 Bean <bean123ch@gmail.com>
8389
8390 * Makefile.in (pkglib_DATA): Add handler.lst.
8391 (handler.lst): New rule.
8392
8393 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
8394 * conf/i386-coreboot.rmk: Likewise.
8395 * conf/i386-ieee1275.rmk: Likewise.
8396 * conf/i386-efi.rmk: Likewise.
8397 * conf/x86_64-efi.rmk: Likewise.
8398 * conf/powerpc-ieee1275.rmk: Likewise.
8399 * conf/sparc64-ieee1275.rmk: Likewise.
8400
8401 * genhandlerlist.sh: New file.
8402
8403 * genmk.rb: Add rules to generate handler.lst.
8404
8405 * include/grub/normal.h (grub_file_getline): New function definition.
8406 (read_handler_list): Likewise.
8407 (free_handler_list): Likewise.
8408
8409 * include/grub/term.h (grub_term_register_input): Add name parameter
8410 for auto generation of handler.lst.
8411 (grub_term_register_output): Likewise.
8412
8413 * normal/handler.c: New file.
8414
8415 * normal/main.c (get_line): Renamed to grub_file_getline.
8416 (read_config_file): Use the newly renamed grub_file_getline.
8417 (read_command_list): Likewise.
8418 (read_fs_list): Likewise.
8419 (grub_normal_execute): Call read_handler_list to parse handler.lst.
8420 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
8421
8422 * term/efi/console.c (grub_console_init): Add name parameter for auto
8423 generation of handler.lst.
8424 * term/gfxterm.c: Likewise.
8425 * term/i386/pc/at_keyboard.c: Likewise.
8426 * term/i386/pc/console.c: Likewise.
8427 * term/i386/pc/serial.c: Likewise.
8428 * term/i386/pc/vesafb.c: Likewise.
8429 * term/i386/pc/vga.c: Likewise.
8430 * term/i386/pc/vga_text.c: Likewise.
8431 * term/ieee1275/ofconsole.c: Likewise.
8432 * term/usb_keyboard.c: Likewise.
8433
33c846be 84342009-04-14 Bean <bean123ch@gmail.com>
8435
8436 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
8437 properly with null character.
8438
4484e01e 84392009-04-14 Felix Zielcke <fzielcke@z-51.de>
8440
8441 * configure: Remove.
8442 * config.h.in: Likewise.
f93d668e 8443 * stamp-h.in: Likewise.
4484e01e 8444 * DISTLIST: Likewise.
8445 * conf/common.mk: Likewise.
8446 * conf/i386-coreboot.mk: Likewise.
8447 * conf/i386-efi.mk: Likewise.
8448 * conf/i386-ieee1275.mk: Likewise.
8449 * conf/i386.mk: Likewise.
8450 * conf/i386-pc.mk: Likewise.
8451 * conf/powerpc-ieee1275.mk: Likewise.
8452 * conf/sparc64-ieee1275.mk: Likewise.
8453 * conf/x86_64-efi.mk: Likewise.
8454
8455 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
8456 develop on GRUB.
8457
7dd4a573 84582009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 8459 David S. Miller <davem@davemloft.net>
8460
8461 * util/hostdisk.c (make_device_name): Fix buffer length
8462 calculations.
8463
e25b5a8c 84642009-04-14 Felix Zielcke <fzielcke@z-51.de>
8465
8466 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
8467 <sys/param.h> and <sys/sysctl.h>.
8468 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
8469 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
8470 opening the device and reset them afterwards.
8471
1f1f580c 84722009-04-13 Pavel Roskin <proski@gnu.org>
8473
8474 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
8475 Reported by John Stanley <jpsinthemix@verizon.net>
8476
7ebc2d6b 84772009-04-13 Robert Millan <rmh@aybabtu.com>
8478
8479 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 8480 that name for menuentries when appropriate.
7ebc2d6b 8481
d8ba3667 84822009-04-13 Felix Zielcke <fzielcke@z-51.de>
8483
8484 * util/grub.d/10_freebsd.in: Add a missing `fi'.
8485
cba416eb 84862009-04-13 Robert Millan <rmh@aybabtu.com>
8487
8488 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
8489 to Linux, simply abort telling the user it's no longer supported.
8490
a547a745 84912009-04-13 Felix Zielcke <fzielcke@z-51.de>
8492
8493 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 8494 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 8495 `freebsd_loadenv' only when devices.hints exist.
8496
232a769c 84972009-04-13 Pavel Roskin <proski@gnu.org>
8498
8499 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
8500
c3012039 85012009-04-13 Felix Zielcke <fzielcke@z-51.de>
8502
8503 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
8504 partition number.
8505 (grub_drive): Likewise.
8506
234022fe 85072009-04-13 David S. Miller <davem@davemloft.net>
8508
8509 * kern/sparc64/ieee1275/ieee1275.c: New file.
8510 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
8511 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
8512 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
8513 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
8514 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
8515 grub_ieee1275_alloc_physmem): Declare new exported functions.
8516
d8e1836c 8517 * include/grub/sparc64/ieee1275/loader.h: New file.
8518 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8519 * include/grub/sparc64/kernel.h: Likewise.
8520 * loader/sparc64/ieee1275/linux.c: Likewise.
8521
96bd81ec 8522 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
8523 (grub_fstest_SOURCES): Likewise.
8524
6a4737e5 8525 * util/hostdisk.c (make_device_name): Do not make any assumptions
8526 about the length of drive names.
8527
1d7a72fd 8528 * kern/dl.c (grub_dl_load_file): Close file immediately when
8529 we are done using it.
8530
56bc2471 85312009-04-12 David S. Miller <davem@davemloft.net>
8532
8533 * kern/misc.c (grub_ltoa): Fix cast when handling negative
8534 values. Noticed by Pavel Roskin.
8535
df38d0bb 8536 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
8537 target compiler.
7dd4a573 8538
e382e93a 8539 * genmk.rb: Add more flexible image type specification, also
8540 pass --strip-unneeded to objcopy.
8541 * conf/i386-pc.rmk: Use *_FORMAT.
8542 * conf/i386-pc.mk: Rebuilt.
8543
f5dbbca9 8544 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
8545 (OFDISK_HASH_SZ): Define.
8546 (ofdisk_hash): New hash table.
8547 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
8548 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
8549 instead of device phandle which is not unique.
8550
91c88b12 8551 * kern/sparc64/ieee1275/init.c: Delete, replace with...
8552 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
8553 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
8554 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
8555 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
8556 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
8557 GRUB_KERNEL_MACHINE_DATA_END): Define.
8558 (grub_kernel_image_size, grub_total_module_size): Declare.
8559
5b5d4aa5 85602009-04-12 Pavel Roskin <proski@gnu.org>
8561
7dd4a573 8562 * configure.ac: Change the logic when we check for target tools.
8563 Do it when the target is specified and it's different from the
8564 specified value of the host.
5b5d4aa5 8565
c91e1793 85662009-04-11 Felix Zielcke <fzielcke@z-51.de>
8567
8568 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
8569 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
8570 GNU/kFreeBSD. Check if a device is a character device. Use
8571 DIOCGMEDIASIZE to get the size.
8572 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
8573 support for GNU/kFreeBSD.
8574 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
8575 is a character device instead of a block device. Add support for
8576 FreeBSD device names.
8577
8578 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
8579 is a character device instead of a block device.
8580
8581 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
8582 is a character device instead of a block device.
8583
b1ac8644 85842009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
8585
8586 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
8587 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
8588 FreeBSD. Check if a device is a character device. Use
8589 DIOCGMEDIASIZE to get the size.
8590 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
8591 support for FreeBSD.
8592 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
8593 is a character device instead of a block device. Add support for
8594 FreeBSD device names.
8595
8596 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
8597 a character device instead of a block device.
8598 (grub_util_check_char_device): New function.
8599
8600 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
8601 a character device instead of a block device.
8602
8603 * include/grub/util/getroot.h (grub_util_check_char_device): New
8604 prototype.
8605
a3f7515a 86062009-04-11 David S. Miller <davem@davemloft.net>
8607
8608 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
8609 static libgcc.
8610 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
8611 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
8612 function, if present.
8613 (__bswapdi2): Likewise.
8614
0d44993d 8615 * include/grub/sparc64/ieee1275/boot.h: New file.
8616 * boot/sparc64/ieee1275/boot.S: Likewise.
8617 * boot/sparc64/ieee1275/diskboot.S: Likewise.
8618
ed3d2bc2 8619 * kern/misc.c (grub_ltoa): New function.
8620 (grub_vsprintf): Use it to format 'long' integers.
8621
d3bfb59c 86222009-04-10 David S. Miller <davem@davemloft.net>
8623
8624 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
8625 slots are of type grub_ieee1275_cell_t.
8626 (grub_nand_read): Likewise.
8627 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
8628 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
8629 macros are used to compare values in arg/ret block of the call.
8630 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
8631 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
8632 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
8633 grub_ieee1275_instance_to_path, grub_ieee1275_write,
8634 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
8635 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
8636 grub_ieee1275_close, grub_ieee1275_set_property,
8637 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
8638 grub_ieee1275_cell_t.
8639 * kern/ieee1275/openfw.c (grub_map): Likewise.
8640 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
8641 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
8642
450e2238 8643 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
8644 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8645 (grub_devalias_iterate): Likewise.
8646
7dd4a573 86472009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 8648
8649 UFS improvements
8650
8651 * fs/ufs.c (INODE_NBLOCKS): new definition
8652 (struct grub_ufs_dirent): added fields for non-BSD dirents
8653 (grub_ufs_get_file_block): fixed double indirect handling
8654 (grub_ufs_lookup_symlink): use more robust way to determine whether
8655 symlink is inline
8656 (grub_ufs_find_file): support for non-BSD dirents
8657 (grub_ufs_dir): support for non-BSD dirents
8658
e7e6862a 86592009-04-10 Bean <bean123ch@gnail.com>
8660
8661 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
8662 attribute, otherwise the size would be wrong for i386 platform.
8663
8664 * include/grub/pci.h (grub_pci_read_word): New inline function.
8665 (grub_pci_read_byte): Likewise.
8666 (grub_pci_write): Likewise.
8667 (grub_pci_write_word): Likewise.
8668 (grub_pci_write_byte): Likewise.
8669
8670 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
8671
8672 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
8673 (find_framebuf): Scan pci to locate the frame buffer address.
8674
8675 * commands/efi/fixvideo.c: New file.
8676
8677 * commands/efi/loadbios.c: Likewise.
8678
8679 * commands/memrw.c: Likewise.
8680
8681 * util/grub-dumpbios.in: Likewise.
8682
8683 * conf/common.rmk (grub-dumpbios): New utility.
8684 (pkglib_MODULES): New module memrw.mod.
8685 (memrw_mod_SOURCE): New macro.
8686 (memrw_mod_CFLAGS): Likewise.
8687 (memrw_mod_LDFLAGS): Likewise.
8688
7dd4a573 8689 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8690 fixvideo.mod.
8691 (loadbios_mod_SOURCE): New macro.
8692 (loadbios_mod_CFLAGS): Likewise.
8693 (loadbios_mod_LDFLAGS): Likewise.
8694 (fixvideo_mod_SOURCE): Likewise.
8695 (fixvideo_mod_CFLAGS): Likewise.
8696 (fixvideo_mod_LDFLAGS): Likewise.
8697
7dd4a573 8698 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8699 fixvideo.mod.
8700 (loadbios_mod_SOURCE): New macro.
8701 (loadbios_mod_CFLAGS): Likewise.
8702 (loadbios_mod_LDFLAGS): Likewise.
8703 (fixvideo_mod_SOURCE): Likewise.
8704 (fixvideo_mod_CFLAGS): Likewise.
8705 (fixvideo_mod_LDFLAGS): Likewise.
8706
af63ada2 87072009-04-08 Felix Zielcke <fzielcke@z-51.de>
8708
8709 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
8710
c2cdde70 87112009-04-07 David S. Miller <davem@davemloft.net>
8712
8713 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
8714 support for R_SPARC_OLO10 relocations. Fix compile warning for
8715 R_SPARC_WDISP30 case.
ea3f72cf 8716 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8717
761319cf 87182009-04-06 Pavel Roskin <proski@gnu.org>
8719
1007d1f5 8720 * include/grub/misc.h (ARRAY_SIZE): New macro.
8721 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8722 New macro.
8723 * loader/i386/linux.c (allocate_pages): Use free_pages().
8724 (grub_linux_unload): Don't use free_pages().
8725 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8726 wrong index. Treat all other modes as text modes.
8727 (grub_cmd_linux): Initialize vid_mode unconditionally to
8728 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8729
761319cf 8730 * commands/help.c (print_command_help): Use cmd->prio, not
8731 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8732
ea761d40 87332009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8734
ea761d40 8735 Parttool
8736
8737 * parttool/pcpart.c: new file
8738 * commands/parttool.c: likewise
8739 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8740 (parttool_mod_SOURCES): new variable
8741 (parttool_mod_CFLAGS): likewise
8742 (parttool_mod_LDFLAGS): likewise
8743 (pcpart_mod_SOURCES): likewise
8744 (pcpart_mod_CFLAGS): likewise
8745 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8746 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8747 and parttool/pcpart.c
8748 * conf/i386-efi.rmk: likewise
8749 * conf/i386-ieee1275.rmk: likewise
8750 * conf/i386-pc.rmk: likewise
8751 * conf/powerpc-ieee1275.rmk: likewise
8752 * conf/sparc64-ieee1275.rmk: likewise
8753 * conf/x86_64-ieee1275.rmk: likewise
8754
05aaebfb 87552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Support for mtime and further expandability of dir command
8758
8759 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8760 * include/grub/datetime.h: ... moved here and added
05aaebfb 8761 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8762 * include/grub/fs.h: new syntax for dir and mtime functions in
8763 struct grub_fs
05aaebfb 8764 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8765 and GRUB_FSHELP_FLAGS_MASK
8766 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8767 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8768 (grub_ext2_mtime): new function
8769 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8770 (grub_hfsplus_mtime): new function
8771 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8772 (GRUB_UFS_ATTR_FILE): likewise
8773 (GRUB_UFS_ATTR_LNK): likewise
8774 (struct grub_ufs_sblock): new fields mtime
8775 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8776 all users updated
8777 (grub_ufs_dir): mtime support
8778 (grub_ufs_mtime): new function
8779 * fs/affs.c (grub_affs_dir): use new dir syntax
8780 * fs/afs.c (grub_afs_dir): likewise
8781 * fs/cpio.c (grub_cpio_dir): likewise
8782 * fs/fat.c (grub_fat_find_dir): likewise
8783 * fs/hfs.c (grub_hfs_dir): likewise
8784 * fs/iso9660.c (grub_iso9660_dir): likewise
8785 * fs/jfs.c (grub_jfs_dir): likewise
8786 * fs/minix.c (grub_minix_dir): likewise
8787 * fs/ntfs.c (grub_ntfs_dir): likewise
8788 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8789 * fs/sfs.c (grub_sfs_dir): likewise
8790 * fs/xfs.c (grub_xfs_dir): likewise
8791 * util/hostfs.c (grub_hostfs_dir): likewise
8792 * lib/datetime.c: moved to ...
8793 * normal/datetime.c: ... moved here
8794 (grub_unixtime2datetime): new function
8795 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8796 * normal/completion.c (iterate_dir): use new dir syntax
8797 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8798 last modification time of a volume
7dd4a573 8799 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8800 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8801 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8802 (normal_mod_SOURCES): likewise
8803 (datetime_mod_SOURCES): Removed lib/datetime.c
8804 * conf/i386-efi.rmk: likewise
7dd4a573 8805 * conf/i386-ieee1275.rmk: likewise
05aaebfb 8806 * conf/i386-pc.rmk: likewise
8807 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8808 * conf/sparc64-ieee1275.rmk: likewise
8809 * conf/x86_64-efi.rmk: likewise
05aaebfb 8810
8a7e1a14 88112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 8814
8815 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 8816 on grub_fat_find_dir
8817 (grub_fat_find_dir): use grub_fat_iterate_dir
8818 (grub_fat_label): likewise
8819
04186a9c 88202009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8821
7dd4a573 8822 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 8823 and command.h
8824 remove extraneous kernel_elf_HEADERS
8825
da4c0bb6 88262009-04-04 Bean <bean123ch@gnail.com>
8827
8828 * include/grub/util/misc.h: Add dummy function fsync for mingw.
8829
8830 * util/misc.c: Likewise.
8831
54ad9555 88322009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
8833
8834 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
8835 instead of grub_printf.
8836
7a6bf9f2 88372009-04-03 Robert Millan <rmh@aybabtu.com>
8838
8839 * loader/i386/linux.c (grub_linux_setup_video): Fill
8840 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
8841 values from `mode info' structure instead of hardcoded
8842 values.
8843
3fcc2083 88442009-04-01 Pavel Roskin <proski@gnu.org>
8845
8846 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
8847 unused now.
8848 * genmk.rb: Likewise.
8849 * configure.ac: Likewise.
8850
5ec9740b 88512009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
8852
8853 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
8854 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
8855
5270cec8 88562009-04-01 David S. Miller <davem@davemloft.net>
8857
8858 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 8859 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 8860 (grub_setjmp): Mark with 'returns_twice' attribute.
8861 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
8862 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
8863 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
8864
9c3dd854 88652009-04-01 Robert Millan <rmh@aybabtu.com>
8866
8867 Reapply fix from 2008-07-28 which was accidentally reverted; also
8868 perform the same fix to a similar check in same function.
8869
8870 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8871 with the same number are found, just use issue a warning with
8872 grub_dprintf(), as this error has been reported to be non-fatal.
8873
0d818b7e 88742009-03-31 Pavel Roskin <proski@gnu.org>
8875
8876 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
8877 for cross-compilation.
8878
95646d92 88792009-03-30 Robert Millan <rmh@aybabtu.com>
8880
8881 Fix i386-ieee1275 build.
8882
8883 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
8884 Remove declaration.
8885
6a003ed1 88862009-03-30 Pavel Roskin <proski@gnu.org>
8887
8888 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
8889 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
8890 zero-terminated, rely only on the strlen value. Fix comparison
8891 of strings differing in length.
8892
92f33540 88932009-03-30 Robert Millan <rmh@aybabtu.com>
8894
8895 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
8896 checking for abi version. Improve error messages on BIOS to notify
8897 user about `linux16' command.
8898
a8c48fd5 88992009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8900
f968172e 8901 Leak fixes
a8c48fd5 8902
f968172e 8903 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
8904 in case of collision
8905 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 8906
9c323f09 89072009-03-29 Robert Millan <rmh@aybabtu.com>
8908
8909 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
8910 set `vid_mode' accordingly.
8911 (grub_linux_boot): Process `vid_mode' and set video mode.
8912
ae68f423 89132009-03-29 Robert Millan <rmh@aybabtu.com>
8914
8915 * util/grub.d/10_linux.in (linux_entry): New function.
8916 Factorize generation of Linux boot entries.
8917
5709cfc4 89182009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
8919
8920 Make the format of Environment Block plain text. The boot loader
8921 part is not tested well yet.
7dd4a573 8922
5709cfc4 8923 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
8924 (buffer): Removed.
8925 (envblk): Likewise.
8926 (usage): Remove "info" and "clear". Add "unset". Update the
8927 description of "set", as this does not delete variables any
8928 longer.
8929 (create_envblk_file): Complete rewrite.
8930 (open_envblk_file): Likewise.
8931 (cmd_info): Removed.
8932 (cmd_list): Likewise.
8933 (cmd_set): Likewise.
8934 (cmd_clear): Likewise.
8935 (list_variables): New function.
8936 (write_envblk): Likewise.
8937 (set_variables): Likewise.
8938 (unset_variables): Likewise.
8939 (main): Complete rewrite.
8940
8941 * commands/loadenv.c (buffer): Removed.
8942 (envblk): Likewise.
8943 (open_envblk_file): New function.
8944 (read_envblk_file): Complete rewrite.
8945 (grub_cmd_load_env): Likewise.
8946 (grub_cmd_list_env): Likewise.
8947 (struct blocklist): New struct.
8948 (free_blocklists): New function.
8949 (check_blocklists): Likewise.
8950 (write_blocklists): Likewise.
8951 (grub_cmd_save_env): Complete rewrite.
8952
8953 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
8954 a plain text signature.
8955 (GRUB_ENVBLK_MAXLEN): Removed.
8956 (struct grub_envblk): Complete rewrite.
8957 (grub_envblk_find): Removed.
8958 (grub_envblk_insert): Likewise.
8959 (grub_envblk_open): New prototype.
8960 (grub_envblk_set): Likewise.
8961 (grub_envblk_delete): Put const to VALUE.
8962 (grub_envblk_iterate): Put const to NAME and VALUE.
8963 (grub_envblk_close): New prototype.
8964 (grub_envblk_buffer): New inline function.
8965 (grub_envblk_size): Likewise.
8966
8967 * lib/envblk.c: Include grub/mm.h.
8968 (grub_env_find): Removed.
8969 (grub_envblk_open): New function.
8970 (grub_envblk_close): Likewise.
8971 (escaped_value_len): Likewise.
8972 (find_next_line): Likewise.
8973 (grub_envblk_insert): Removed.
8974 (grub_envblk_set): New function.
8975 (grub_envblk_delete): Complete rewrite.
8976 (grub_envblk_iterate): Likewise.
8977
a9368fd3 89782009-03-28 Robert Millan <rmh@aybabtu.com>
8979
8980 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
8981 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
8982 variables. Use 16-bit loader.
8983 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
8984 loader.
8985 * kern/i386/loader.S (grub_linux_boot): Rename to ...
8986 (grub_linux16_boot): ... this. Update all users.
8987 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
8988 (grub_linux_boot): ... this. Update all users.
8989
8990 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
8991 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
8992 commands to `linux16' and `initrd16'.
8993 (GRUB_MOD_FINI(linux)): Rename to ...
8994 (GRUB_MOD_FINI(linux16)): ... this.
8995
e4dd5a7e 89962009-03-24 Pavel Roskin <proski@gnu.org>
8997
8998 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
8999 not just for compilation.
9000
c04d6e05 90012009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 Move multiboot helper out of kernel
9004
9005 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9006 `loader/i386/multiboot_helper.S'.
9007 * conf/i386-coreboot.rmk: Likewise
9008 * conf/i386-ieee1275.rmk: Likewise
9009
9010 * kern/i386/loader.S: Move multiboot helpers from here...
9011 * loader/i386/multiboot_helper.S: ...moved here
9012 * include/grub/i386/loader.h: Move declarations of multiboot
9013 helpers from here...
9014 * include/grub/i386/multiboot.h: ...moved here
9015 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9016
42a5b3fc 90172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9018
9019 * kern/env.c (grub_env_context_open): Added an argument to specify
9020 whether a new context inherits exported variables from current
9021 one. This is useful when making a sandbox to interpret a config
9022 file.
9023 All callers updated.
9024
9025 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9026
b28bbc4e 90272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9028
9029 * kern/env.c (grub_env_context_close): Fix memory leaks.
9030
f04f02e4 90312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9032
9033 * normal/main.c (grub_normal_execute): Added an argument
9034 BATCH to specify if an interactive interface should be provided
9035 after reading a config file.
9036 All callers updated.
9037 (read_command_list): Prevent being executed twice.
9038 (read_fs_list): Likewise.
9039
42a5b3fc 9040 * include/grub/normal.h (grub_normal_execute): Updated the
9041 prototype.
f04f02e4 9042
41473ac2 90432009-03-22 Pavel Roskin <proski@gno.org>
9044
fbc00b0c 9045 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9046 _start.
9047 * kern/i386/pc/startup.S: Likewise.
9048 * kern/i386/efi/startup.S: Likewise.
9049 * kern/i386/ieee1275/startup.S: Likewise.
9050 * kern/i386/coreboot/startup.S: Likewise.
9051 * kern/x86_64/efi/startup.S: Likewise.
9052
41473ac2 9053 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9054 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9055 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9056
2274cc8f 90572009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9060
9061 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9062 limit detection.
9063 Use vaddr of correct segment for entry_point.
9064
b1b797cb 90652009-03-21 Bean <bean123ch@gmail.com>
9066
9067 * commands/blocklist.c: Add include file <grub/command.h>, remove
9068 <grub/normal.h> and <grub/arg.h>.
9069 (grub_cmd_blocklist): Use the new command interface.
9070 (GRUB_MOD_INIT): Likewise.
9071 (GRUB_MOD_FINI): Likewise.
9072 * commands/boot.c: Likewise.
9073 * commands/cat.c: Likewise.
9074 * commands/cmp.c: Likewise.
9075 * commands/configfile.c: Likewise.
9076 * commands/crc.c: Likewise.
9077 * commands/echo.c: Likewise.
9078 * commands/halt.c: Likewise.
9079 * commands/handler.c: Likewise.
9080 * commands/hdparm.c: Likewise.
9081 * commands/help.c: Likewise.
9082 * commands/hexdump.c: Likewise.
9083 * commands/loadenv.c: Likewise.
9084 * commands/ls.c: Likewise.
9085 * commands/lsmmap.c: Likewise.
9086 * commands/lspci.c: Likewise.
9087 * commands/loadenv.c: Likewise.
9088 * commands/read.c: Likewise.
9089 * commands/reboot.c: Likewise.
9090 * commands/search.c: Likewise.
9091 * commands/sleep.c: Likewise.
9092 * commands/test.c: Likewise.
9093 * commands/usbtest.c: Likewise.
9094 * commands/videotest.c: Likewise.
9095 * commands/i386/cpuid.c: Likewise.
9096 * commands/i386/pc/halt.c: Likewise.
9097 * commands/i386/pc/play.c: Likewise.
9098 * commands/i386/pc/pxecmd.c: Likewise.
9099 * commands/i386/pc/vbeinfo.c: Likewise.
9100 * commands/i386/pc/vbetest.c: Likewise.
9101 * commands/ieee1275/suspend.c: Likewise.
9102 * disk/loopback.c: Likewise.
9103 * font/font_cmd.c: Likewise.
9104 * hello/hello.c: Likewise.
9105 * loader/efi/appleloader.c: Likewise.
9106 * loader/efi/chainloader.c: Likewise.
9107 * loader/i386/bsd.c: Likewise.
9108 * loader/i386/efi/linux.c: Likewise.
9109 * loader/i386/ieee1275/linux.c: Likewise.
9110 * loader/i386/linux.c: Likewise.
9111 * loader/i386/pc/chainloader.c: Likewise.
9112 * loader/i386/pc/linux.c: Likewise.
9113 * loader/powerpc/ieee1275/linux.c: Likewise.
9114 * loader/multiboot_loader.c: Likewise.
9115 * term/gfxterm.c: Likewise.
9116 * term/i386/pc/serial.c: Likewise.
9117 * term/terminfo.c: Likewise.
9118
9119 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9120 * term/i386/pc/vga.c: Likewise.
9121 * video/readers/jpeg.c: Likewise.
9122 * video/readers/png.c: Likewise.
9123 * video/readers/tga.c: Likewise.
9124
9125 * util/grub-fstest (cmd_loopback): Removed.
9126 (cmd_blocklist): Likewise.
9127 (cmd_ls): Likewise.
9128 (grub_register_command): Likewise.
9129 (grub_unregister_command): Likewise.
9130 (execute_command): Use grub_command_find to locate command and execute
9131 it.
9132
9133 * include/grub/efi/chainloader.h: Removed.
9134 * loader/efi/chainloader_normal.c: Likewise.
9135 * loader/i386/bsd_normal.c: Likewise.
9136 * loader/i386/pc/chainloader_normal.c: Likewise.
9137 * loader/i386/pc/multiboot_normal.c: Likewise.
9138 * loader/linux_normal.c: Likewise.
9139 * loader/multiboot_loader_normal.c: Likewise.
9140 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9141
9142 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9143 and grub_register_command_p1.
9144
9145 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9146 kern/command.c, lib/arg.c and commands/extcmd.c.
9147 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9148 (minicmd_mod_SOURCES): New variable.
9149 (minicmd_mod_CFLAGS): Likewise.
9150 (minicmd_mod_LDFLAGS): Likewise.
9151 (extcmd_mod_SOURCES): Likewise.
9152 (extcmd_mod_CFLAGS): Likewise.
9153 (extcmd_mod_LDFLAGS): Likewise.
9154 (boot_mod_SOURCES): Removed.
9155 (boot_mod_CFLAGS): Likewise.
9156 (boot_mod_LDFLAGS): Likewise.
9157
9158 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9159 kern/corecmd.c.
9160 (kernel_img_HEADERS): Add command.h.
9161 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9162 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9163 and lib/arg.c.
9164 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9165 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9166 remove the corresponding normal mode command.
9167 (normal_mod_SOURCES): Remove normal/arg.c.
9168 * conf/i386-coreboot.rmk: Likewise.
9169 * conf/i386-efi.rmk: Likewise.
9170 * conf/i386-ieee1275.rmk: Likewise.
9171 * conf/powerpc-ieee1275.rmk: Likewise.
9172 * conf/x86_64-efi.rmk: Likewise.
9173
9174 * include/grub/arg.h: Move from here ...
9175 * include/grub/lib/arg.h: ... to here.
9176
9177 * normal/arg.c: Move from here ...
9178 * lib/arg.c: ... to here.
9179
9180 * commands/extcmd.c: New file.
9181 * commands/minicmd.c: Likewise.
9182 * include/grub/command.h: Likewise.
9183 * include/grub/extcmd.h: Likewise.
9184 * kern/command.c: Likewise.
9185 * kern/corecmd.c: Likewise.
9186
9187 * kern/list.c (grub_list_iterate): Return int instead of void.
9188 (grub_list_insert): New function.
9189 (grub_prio_list_insert): Likewise.
9190
9191 * kern/rescue.c (grub_rescue_command): Removed.
9192 (grub_rescue_command_list): Likewise.
9193 (grub_rescue_register_command): Likewise.
9194 (grub_rescue_unregister_command): Likewise.
9195 (grub_rescue_cmd_boot): Move to minicmd.c
9196 (grub_rescue_cmd_help): Likewise.
9197 (grub_rescue_cmd_info): Likewise.
9198 (grub_rescue_cmd_boot): Likewise.
9199 (grub_rescue_cmd_testload): Likewise.
9200 (grub_rescue_cmd_dump): Likewise.
9201 (grub_rescue_cmd_rmmod): Likewise.
9202 (grub_rescue_cmd_lsmod): Likewise.
9203 (grub_rescue_cmd_exit): Likewise.
9204 (grub_rescue_print_devices): Moved to corecmd.c.
9205 (grub_rescue_print_files): Likewise.
9206 (grub_rescue_cmd_ls): Likewise.
9207 (grub_rescue_cmd_insmod): Likewise.
9208 (grub_rescue_cmd_set): Likewise.
9209 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9210 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9211 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9212 commands, remove grub_rescue_register_command calls.
b1b797cb 9213
7d074e3c 9214 * normal/command.c (grub_register_command): Removed.
b1b797cb 9215 (grub_unregister_command): Likewise.
9216 (grub_command_find): Likewise.
9217 (grub_iterate_commands): Likewise.
9218 (rescue_command): Likewise.
9219 (export_command): Moved to corecmd.c.
9220 (set_command): Removed.
9221 (unset_command): Likewise.
9222 (insmod_command): Likewise.
9223 (rmmod_command): Likewise.
9224 (lsmod_command): Likewise.
9225 (grub_command_init): Likewise.
9226
9227 * normal/completion.c (iterate_command): Use cmd->prio to check for
9228 active command.
9229 (complete_arguments): Use grub_extcmd_t structure to find options.
9230 (grub_normal_do_completion): Change function grub_iterate_commands to
9231 grub_command_iterate.
9232
9233 * normal/execute.c (grub_script_execute_cmd): No need to parse
9234 argument here.
9235
9236 * normal/main.c (grub_dyncmd_dispatcher): New function.
9237 (read_command_list): Register unload commands as dyncmd.
9238 (grub_cmd_normal): Use new command interface, register rescue,
9239 unregister normal at entry, register normal, unregister rescue at exit.
9240
9241 * include/grub/list.h (grub_list_test_t): New type.
9242 (grub_list_iterate): Return int instead of void.
9243 (grub_list_insert): New function.
9244 (GRUB_AS_NAMED_LIST_P): New macro.
9245 (GRUB_AS_PRIO_LIST): Likewise.
9246 (GRUB_AS_PRIO_LIST_P): Likewise.
9247 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9248 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9249 (grub_prio_list): New structure.
9250 (grub_prio_list_insert): New function.
9251 (grub_prio_list_remove): New inline function.
9252
9253 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9254 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9255 (GRUB_COMMAND_FLAG_MENU): Likewise.
9256 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9257 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9258 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9259 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9260 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9261 (grub_command): Likewise.
9262 (grub_register_command): Likewise.
9263 (grub_command_find): Likewise.
9264 (grub_iterate_commands): Likewise.
9265 (grub_command_init): Likewise.
9266 (grub_arg_parse): Likewise.
9267 (grub_arg_show_help): Likewise.
9268
9269 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9270 (grub_rescue_unregister_command): Likewise.
9271
9272 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9273 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9274 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9275
9276 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9277 grub_rescue_cmd_initrd.
9278 * include/grub/i386/loader.h: Likewise.
9279 * include/grub/x86_64/loader.h: Likewise.
9280
9281 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9282
1f4147aa 92832009-03-21 Bean <bean123ch@gmail.com>
9284
9285 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9286 instead of stat in mingw environment.
9287
9288 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9289
9290 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9291
9292 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9293 AC_CONFIG_LINKS.
9294
2156d5ba 92952009-03-21 Bean <bean123ch@gmail.com>
9296
9297 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9298 out of range error.
9299
177b82ca 93002009-03-18 Michel Dänzer <michel@daenzer.net>
9301
9302 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9303 checking inode flags for EXT4_EXTENTS_FLAG.
9304
14aad807 93052009-03-18 Robert Millan <rmh@aybabtu.com>
9306
9307 * loader/i386/linux.c: Include `<grub/video.h>' and
9308 `<grub/i386/pc/vbe.h>'..
9309 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9310 (grub_linux32_boot): Attempt to configure video settings with
9311 grub_linux_setup_video().
9312 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9313 to avoid grub_console_fini() which would step out of graphical mode
9314 unconditionally.
9315
8cf83a27 93162009-03-14 Robert Millan <rmh@aybabtu.com>
9317
9318 Fix build on powerpc.
9319 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9320
40164e75 93212009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9324 background image command.
9325
c58bc32a 93262009-03-12 Colin D Bennett <colin@gibibit.com>
9327
9328 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9329 (grub_gfxterm_putchar): Extract pairs of identical calls to
9330 draw_cursor out of conditional blocks.
9331
5415144a 93322009-03-11 Pavel Roskin <proski@gnu.org>
9333
9334 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9335 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9336
6394042e 93372009-03-11 Robert Millan <rmh@aybabtu.com>
9338
9339 * loader/i386/multiboot_elfxx.c
9340 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
9341
b7b50e5f 93422009-03-11 Felix Zielcke <fzielcke@z-51.de>
9343
9344 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
9345 `kern/handler.c'.
9346
1ca7fc96 93472009-03-11 Robert Millan <rmh@aybabtu.com>
9348
9349 * loader/i386/multiboot.c (code_size): New variable.
9350 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 9351 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 9352 4-byte alignment to MBI and others by increasing
7d074e3c 9353 `boot_loader_name_length' appropriately.
1ca7fc96 9354
9355 * loader/i386/multiboot_elfxx.c
9356 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
9357
a83ea1d2 93582009-03-09 Felix Zielcke <fzielcke@z-51.de>
9359
9360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
9361 `fs/ext2.c'.
9362
aa9f3bff 93632009-03-08 Robert Millan <rmh@aybabtu.com>
9364
9365 Make loader/i386/linux.c usable on i386-pc again.
9366
9367 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
9368 memory to heap.
9369 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
9370 `#error' stanza.
9371
d8b3b60e 93722009-03-07 Bean <bean123ch@gmail.com>
9373
9374 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
9375 allocation.
9376
b362c9e9 93772009-03-06 Robert Millan <rmh@aybabtu.com>
9378
9379 Fix display issue on terminals with screen size other than 80x25
9380 (e.g. gfxterm with resolution higher than 640x480).
9381
9382 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 9383 position relative to the center of the terminal instead of relying
b362c9e9 9384 on a hardcoded offset.
9385
9304eef1 93862009-03-04 Robert Millan <rmh@aybabtu.com>
9387
9388 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
9389 installed.
9390
9391 * Makefile.in (host_kernel): New variable.
9392 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
9393 scripts instead of just the windows one.
9394 * configure.ac: Initialize and AC_SUBST `host_kernel'.
9395
eabc95fb 93962009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 9397
9398 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
9399 `kern/handler.c'.
9400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9401 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9404 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9405 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9406
ceb1223c 94072009-03-04 Felix Zielcke <fzielcke@z-51.de>
9408
9409 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
9410 or if there's no space for the disk label and print the partition number on a
9411 invalid magic.
9412
4910684a 94132009-03-04 Felix Zielcke <fzielcke@z-51.de>
9414
9415 * util/misc.c: Include <time.h>.
9416 (grub_millisleep): New function.
9417
7e9ca17a 94182009-03-04 Bean <bean123ch@gmail.com>
9419
9420 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
9421 another option -mno-red-zone.
9422
9423 * commands/handler.c: Change module description.
9424
9425 * kern/handler.c: Add missing space at the end of description line.
9426
9427 * kern/list.c: Likewise.
9428
f501677c 94292009-03-03 Robert Millan <rmh@aybabtu.com>
9430
9431 Move more components to the relocation area, and fix mbi pointer
9432 handling to use the destination rather than the origin (thanks to
9433 Vladimir Serbinenko for spotting).
9434
9435 * loader/i386/multiboot.c (mbi_dest): New variable.
9436 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
9437 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
9438 relocation area.
9439
9902d047 94402009-03-01 Bean <bean123ch@gmail.com>
9441
50fb7002 9442 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 9443 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
9444 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
9445 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
9446
9447 * loader/i386/efi/linux.c (acpi_guid): New variable.
9448 (acpi_guid): Likewise.
9449 (EBDA_SEG_ADDR): New constant.
9450 (LOW_MEM_ADDR): Likewise.
9451 (FAKE_EBDA_SEG): Likewise.
9452 (fake_bios_data): New function.
9453 (grub_linux_boot): Call fake_bios_data.
9454
71b9f361 94552009-03-01 Bean <bean123ch@gmail.com>
9456
9457 * commands/terminal.c: Removed.
9458
9459 * commands/handler.c: New file.
9460
9461 * include/grub/list.h: Likewise.
9462
9463 * include/grub/handler.h: Likewise.
9464
9465 * kern/list.c: Likewise.
9466
9467 * kern/handler.c: Likewise.
9468
9469 * kern/term.h: Include header file <grub/handler.h>.
9470 (grub_term_input): Move next field to the beginning.
9471 (grub_term_output): Likewise.
9472 (grub_term_input_class): New variable.
9473 (grub_term_output_class): Likewise.
9474 (grub_term_register_input): Changed to inline function.
9475 (grub_term_register_output): Likewise.
9476 (grub_term_unregister_input): Likewise.
9477 (grub_term_unregister_output): Likewise.
9478 (grub_term_set_current_input): Likewise.
9479 (grub_term_set_current_output): Likewise.
9480 (grub_term_get_current_input): Likewise.
9481 (grub_term_get_current_output): Likewise.
9482 (grub_term_iterate_input): Removed.
9483 (grub_term_iterate_output): Likewise.
9484
9485 * kern/term.c (grub_term_list_input): Removed.
9486 (grub_term_list_output): Likewise.
9487 (grub_term_input_class): New variable.
9488 (grub_term_output_class): Likewise.
50fb7002 9489 (grub_cur_term_input): Change variable as macro.
71b9f361 9490 (grub_cur_term_output): Likewise.
9491 (grub_term_register_input): Removed.
9492 (grub_term_register_output): Likewise.
9493 (grub_term_unregister_input): Likewise.
9494 (grub_term_unregister_output): Likewise.
9495 (grub_term_set_current_input): Likewise.
9496 (grub_term_set_current_output): Likewise.
9497 (grub_term_iterate_input): Likewise.
9498 (grub_term_iterate_output): Likewise.
9499 (grub_term_get_current_input): Likewise.
9500 (grub_term_get_current_output): Likewise.
9501
9502 * util/grub-editenv.c: Include header file <grub/handler.h>.
9503 (grub_term_get_current_input): Removed.
9504 (grub_term_get_current_output): Likewise.
9505 (grub_term_input_class): New variable.
50fb7002 9506 (grub_term_output_class): Likewise.
71b9f361 9507
9508 * util/grub-fstest.c (grub_term_get_current_input): Removed.
9509 (grub_term_get_current_output): Likewise.
9510 (grub_term_input_class): New variable.
50fb7002 9511 (grub_term_output_class): Likewise.
71b9f361 9512
9513 * util/grub-probe.c (grub_term_get_current_input): Removed.
9514 (grub_term_get_current_output): Likewise.
9515 (grub_term_input_class): New variable.
50fb7002 9516 (grub_term_output_class): Likewise.
71b9f361 9517
9518 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
9519 (grub_term_get_current_output): Likewise.
9520 (grub_term_input_class): New variable.
50fb7002 9521 (grub_term_output_class): Likewise.
71b9f361 9522
9523 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
9524 (terminal_mod_SOURCES): Likewise.
9525 (terminal_mod_CFLAGS): Likewise.
9526 (terminal_mod_LDFLAGS): Likewise.
9527
9528 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
9529 handler.c.
9530 (kernel_img_SOURCES): Add list.c and handler.c.
9531 (kernel_img_HEADERS): Add list.h and handler.h.
9532
9533 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9534 handler.c.
9535 (kernel_mod_SOURCES): Add list.c and handler.c.
9536 (kernel_mod_HEADERS): Add list.h and handler.h.
9537
9538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
9539 handler.c.
9540 (kernel_elf_SOURCES): Add list.c and handler.c.
9541 (kernel_elf_HEADERS): Add list.h and handler.h.
9542
9543 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9544 handler.c.
9545 (kernel_elf_SOURCES): Add list.c and handler.c.
9546 (kernel_elf_HEADERS): Add list.h and handler.h.
9547
9548 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9549 handler.c.
9550 (kernel_mod_SOURCES): Add list.c and handler.c.
9551 (kernel_mod_HEADERS): Add list.h and handler.h.
9552
9553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9554 handler.c.
9555 (kernel_elf_SOURCES): Add list.c and handler.c.
9556 (kernel_elf_HEADERS): Add list.h and handler.h.
9557
8a31787f 95582009-02-27 Robert Millan <rmh@aybabtu.com>
9559
9560 Factorize elf32 / elf64 code in Multiboot loader. This will
9561 prevent it from getting out of sync again.
9562
9563 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
9564 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
9565 grub_multiboot_load_elf64): Move from here ...
9566 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
9567 grub_multiboot_load_elf): ... to here (new file).
9568
51cd3dfc 95692009-02-27 Robert Millan <rmh@aybabtu.com>
9570
9571 * util/grub.d/10_linux.in: Rename "single-user mode" to
9572 "recovery mode".
9573
6e8c9c3a 95742009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Don't leak in SCSI code.
9577 * disk/scsi.c (grub_scsi_close): free `scsi'.
9578
4b6bf4f9 95792009-02-27 Robert Millan <rmh@aybabtu.com>
9580
9581 * loader/i386/pc/multiboot.c: Move from here ...
9582 * loader/i386/multiboot.c: ... to here. Update all users.
9583
b9413424 95842009-02-27 Robert Millan <rmh@aybabtu.com>
9585
9586 Patch from Alexandre Bique <bique.alexandre@gmail.com>
9587 * util/i386/pc/grub-setup.c (setup): Fix directory path.
9588
50fb7002 95892009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 9590
9591 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
9592 b-tree.
9593
8cc50345 95942009-02-27 Robert Millan <rmh@aybabtu.com>
9595
9596 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
9597 `0x' qualifier as 0 when base is specified as parameter).
9598
6e09b8b7 95992009-02-24 Bean <bean123ch@gmail.com>
9600
9601 * configure.ac: Check for -mcmodel=large in x86_64 target.
9602
9603 * include/grub/efi/api.h (efi_call_10): New macro.
9604 (efi_wrap_10): New function.
9605
9606 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
9607 (GRUB_PE32_REL_BASED_HIGH): Likewise.
9608 (GRUB_PE32_REL_BASED_LOW): Likewise.
9609 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
9610 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
9611 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
9612 (GRUB_PE32_REL_BASED_SECTION): Likewise.
9613 (GRUB_PE32_REL_BASED_REL): Likewise.
9614 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
9615 (GRUB_PE32_REL_BASED_DIR64): Likewise.
9616 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
9617
9618 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
9619 issue.
9620
9621 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
9622 (efi_wrap_10): New function.
9623
9624 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
9625
9626 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
9627 MB/MBP model (NV chipset).
9628 (devdata_devs): Add devpath_5 to the list.
9629
9630 * load/i386/efi/linux.c (video_base): Remove variable.
9631 (RGB_MASK): New macro.
9632 (RGB_MAGIC): Likewise.
9633 (LINE_MIN): Likewise.
9634 (LINE_MAX): Likewise.
9635 (FBTEST_STEP): Likewise.
9636 (FBTEST_COUNT): Likewise.
9637 (fb_list): New variable.
9638 (grub_find_video_card): Remove function.
9639 (find_framebuf): New function.
9640 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
9641 line length.
9642
9643 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
9644 problem for x86_64.
9645
74b21bee 96462009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
9647
9648 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
9649
9650 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
9651 coding tool name.
9652
a455f472 96532009-02-22 Robert Millan <rmh@aybabtu.com>
9654
9655 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
9656 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
9657 in our relocation, instead of using it directly from heap. Also
9658 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
9659
6374daf3 96602009-02-21 Robert Millan <rmh@aybabtu.com>
9661
9662 Implement USB keyboard support (based on patch by Marco Gerards)
9663
9664 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
9665 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
9666 (usb_keyboard_mod_LDFLAGS): New variables.
9667
9668 * term/usb_keyboard.c: New file.
9669
8fa4ea70 96702009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 Corrected wrong declaration
9673
9674 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
9675
353976ac 96762009-02-14 Christian Franke <franke@computer.org>
9677
9678 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
9679 (grub_lspci_iter): Print class code and programming interface byte.
9680
6aa1169b 96812009-02-14 Christian Franke <franke@computer.org>
9682
9683 * gendistlist.sh: Ignore `.svn' directories.
9684
265372ca 96852009-02-14 Felix Zielcke <fzielcke@z-51.de>
9686
9687 * fs/fat.c: Add 2009 to Copyright line.
9688
9ff516f3 96892009-02-14 Christian Franke <franke@computer.org>
9690
9691 * commands/hdparm.c: New file. Provides `hdparm' command
9692 which sends ATA commands via grub_disk_ata_pass_through ().
9693
9694 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
9695
9696 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
9697 and <grub/cpu/io.h> to include/grub/ata.h.
9698 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
9699 (GRUB_CDROM_SECTOR_SIZE): Remove.
9700 (GRUB_ATA_*): Move to include/grub/ata.h.
9701 (GRUB_ATAPI_*): Likewise.
9702 (enum grub_ata_commands): Likewise.
9703 (enum grub_ata_timeout_milliseconds): Likewise.
9704 (struct grub_ata_device): Likewise.
9705 (grub_ata_regset): Likewise.
9706 (grub_ata_regget): Likewise.
9707 (grub_ata_regset2): Likewise.
9708 (grub_ata_regget2): Likewise.
9709 (grub_ata_check_ready): Likewise.
9710 (grub_ata_wait_not_busy): Remove static, exported in
9711 include/grub/ata.h.
9712 (grub_ata_wait_drq): Likewise.
9713 (grub_ata_pio_read): Likewise.
9714
9715 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
9716 function for hdparm.mod.
9717
9718 * include/grub/ata.h: New file, contains declarations from
9719 disk/ata.c.
9720 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9721
9722 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9723 (grub_disk_ata_pass_through): New exported variable.
9724
9725 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9726
772e23da 97272009-02-13 Colin D Bennett <colin@gibibit.com>
9728
9729 Support multiple fallback entries, and provide an API to support
9730 executing default+fallback menu entries. Renamed the `terminal' menu
9731 viewer to `text'.
9732
9733 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9734 variable declaration.
9735 (grub_menu_execute_callback): New structure declaration.
9736 (grub_menu_execute_callback_t): New typedef.
9737 (grub_menu_execute_with_fallback): New function declaration.
9738 (grub_menu_get_entry): Likewise.
9739 (grub_menu_get_timeout): Likewise.
9740 (grub_menu_set_timeout): Likewise.
9741
9742 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9743
9744 * normal/menu.c (grub_wait_after_message): Moved to
9745 `normal/menu_text.c'.
9746 (draw_border): Likewise.
9747 (print_message): Likewise.
9748 (print_entry): Likewise.
9749 (print_entries): Likewise.
9750 (grub_menu_init_page): Likewise.
9751 (get_entry_number): Likewise.
9752 (print_timeout): Likewise.
9753 (run_menu): Likewise.
9754 (grub_menu_execute_entry): Likewise.
9755 (show_text_menu): Likewise.
9756 (get_and_remove_first_entry_number): New function.
9757 (grub_menu_execute_with_fallback): Likewise.
9758 (get_entry): Renamed to ...
9759 (grub_menu_get_entry): .. this and made it global.
9760 (get_timeout): Renamed to ...
9761 (grub_menu_get_timeout): ... this and made it global.
9762 (set_timeout): Renamed to ...
9763 (grub_menu_set_timeout): ... this and made it global.
9764 (grub_normal_terminal_menu_viewer): Renamed to ...
9765 (grub_normal_text_menu_viewer): ... this.
9766
9767 * normal/menu_text.c: New file. Extracted text-menu-specific code
9768 from normal/menu.c.
9769
9770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9771 (normal_mod_SOURCES): Likewise.
9772
9773 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9774 (normal_mod_SOURCES): Likewise.
9775
9776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9777 (normal_mod_SOURCES): Likewise.
9778
9779 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9780 (normal_mod_SOURCES): Likewise.
9781
9782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9783 (normal_mod_SOURCES): Likewise.
9784
9785 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9786 (normal_mod_SOURCES): Likewise.
9787
9788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9789 (normal_mod_SOURCES): Likewise.
9790
16ac430e 97912009-02-11 Robert Millan <rmh@aybabtu.com>
9792
9793 * util/grub.d/00_header.in: Update old reference to `font' command.
9794
06ff20fc 97952009-02-10 Felix Zielcke <fzielcke@z-51.de>
9796
9797 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9798
9799 Based on patch from Javier Martín.
9800
96da9407 98012009-02-09 Felix Zielcke <fzielcke@z-51.de>
9802
9803 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 9804 to avoid false positives with FAT.
96da9407 9805 (grub_fstest_SOURCES): Likewise.
9806 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9807 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9810 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9811 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9812
6dca6fe4 98132009-02-09 Felix Zielcke <fzielcke@z-51.de>
9814
06ff20fc 9815 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 9816 bpb.version_specific.fat12_or_fat16.fstype and
9817 bpb.version_specific.fat32.fstype.
9818
2550c62f 98192009-02-08 Robert Millan <rmh@aybabtu.com>
9820
be110b30 9821 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 9822
56978920 98232009-02-08 Robert Millan <rmh@aybabtu.com>
9824
9825 * Makefile.in (host_os, host_cpu): New variables.
9826 (target_os): Remove. Update all users.
9827
d64399b5 98282009-02-08 Marco Gerards <marco@gnu.org>
9829
9830 * Makefile.in (enable_grub_emu_usb): New variable.
9831 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
9832 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
9833 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
9834 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
9835 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
9836 `usbtest.mod' and `usbms.mod'.
9837 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
9838 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
9839 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
9840 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
9841 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
9842 variables.
9843
9844 * disk/usbms.c: New file.
9845
9846 * include/grub/usb.h: Likewise.
9847
9848 * include/grub/usbtrans.h: Likewise.
9849
9850 * include/grub/usbdesc.h: Likewise.
9851
9852 * bus/usb/usbtrans.c: Likewise.
9853
9854 * bus/usb/ohci.c: Likewise.
9855
9856 * bus/usb/uhci.c: Likewise.
9857
9858 * bus/usb/usbhub.c: Likewise.
9859
9860 * bus/usb/usb.c: Likewise.
9861
9862 * commands/usbtest.c: Likewise.
9863
9864 * util/usb.c: Likewise.
50fb7002 9865
d64399b5 9866 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
9867
9868 * configure.ac: Test for libusb presence.
50fb7002 9869
d64399b5 9870 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
9871
2b40d6bb 98722009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
9873
9874 * kern/mm.c: Add more comments.
9875
73a4ce81 98762009-02-08 Robert Millan <rmh@aybabtu.com>
9877
9878 Patch from Javier Martín.
9879 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
9880 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
9881
f821ce59 98822009-02-08 Robert Millan <rmh@aybabtu.com>
9883
9884 * fs/cpio.c: Split tar functionality to ...
9885 * fs/tar.c: ... here (new file). Update all users.
9886
aebfc4b0 98872009-02-07 Robert Millan <rmh@aybabtu.com>
9888
9889 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
9890 backward-incompatible features.
9891
9892 Based on patch from Javier Martín, with some adjustments.
9893
50fb7002 98942009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 9895
9896 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
9897
0bb5115e 98982009-02-07 Robert Millan <rmh@aybabtu.com>
9899
9900 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
9901 position of `disk/lvm.c' to ensure grub_init_all() always picks it
9902 after the RAID stuff.
9903
38a0f8e7 99042009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
9905
50fb7002 9906 Fixes problem when running vbetest command as reported by
38a0f8e7 9907 Vladimir Serbinenko <phcoder@gmail.com>.
9908
9909 * (grub_vbe_set_video_mode): Fixed problem with text modes.
9910
3143cc1c 99112009-02-04 Felix Zielcke <fzielcke@z-51.de>
9912
9913 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
9914 /dev/md/NpN style mdraid devices.
9915
9cba6fce 99162009-02-03 Felix Zielcke <fzielcke@z-51.de>
9917
9918 * util/unifont2pff.rb: Remove.
9919
e507a2c1 99202009-02-03 Felix Zielcke <fzielcke@z-51.de>
9921
9922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
9923 `#'.
9924
d2c2b4cd 99252009-02-03 Felix Zielcke <fzielcke@z-51.de>
9926
9927 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
9928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9929 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9934
b4315fb0 99352009-02-02 Christian Franke <franke@computer.org>
9936
9937 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
9938
de3aa260 99392009-02-01 Felix Zielcke <fzielcke@z-51.de>
9940
7c3ff286 9941 * INSTALL: Note that we now require at least autoconf 2.59 and
9942 that LZO is optional.
de3aa260 9943
825a182b 99442009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9945
9946 Base on patch on bug #24154 created by Tomas Tintera
9947 <trosos@seznam.cz>.
9948
9949 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
9950
a69ef770 99512009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
9952
7c3ff286 9953 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 9954 <bero@arklinux.org>.
9955
9956 * normal/parser.y (script_init): Add missing semicolon.
9957
6fa42fa6 99582009-01-31 Colin D Bennett <colin@gibibit.com>
9959
7c3ff286 9960 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 9961 (free_menu_entry_classes): Added.
9962 (grub_normal_menu_addentry): Added class property handling.
9963 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
9964 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
9965
9966 * normal/menu_viewer.c: New file.
9967
9968 * normal/menu.c (run_menu_entry): Renamed to ...
9969 (grub_menu_execute_entry): ... this and made it as global.
9970 (grub_menu_run): Renamed to ...
9971 (show_text_menu): ... this and made it local.
9972 (show_text_menu): Adapt to new function names.
9973 (grub_normal_terminal_menu_viewer): New global variable.
9974
9975 * include/grub/menu.h: New file.
9976
9977 * include/grub/menu_viewer.h: New file.
9978
9979 * include/grub/normal.h: Added include to grub/menu.h.
9980 (grub_menu_entry): Moved to include/grub/menu.h.
9981 (grub_menu_entry_t): Likewise.
9982 (grub_menu): Likewise.
9983 (grub_menu_t): Likewise.
9984 (grub_normal_terminal_menu_viewer): Added.
9985 (grub_menu_execute_entry): Likewise.
9986 (grub_menu_run): Removed.
9987
9988 * DISTLIST: Added include/grub/menu.h.
9989 Added include/grub/menu_viewer.h.
9990 Added normal/menu_viewer.c.
9991
99922009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
9993
9994 * normal/execute.c (grub_script_execute_menuentry): Changed to use
9995 arglist for menutitle arguments.
9996
9997 * normal/main.c (grub_normal_menu_addentry): Likewise.
9998
9999 * normal/parser.y (menuentry): Likewise.
10000
10001 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10002
10003 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10004 (grub_script_create_cmdmenu): Likewise.
10005
10006 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10007
10008 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10009 changes.
10010
10011 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10012
10013 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10014
10015 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10016
10017 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10018
10019 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10020
10021 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10022
56192c23 100232009-01-30 Christian Franke <franke@computer.org>
10024
10025 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10026 in option help text.
10027
d72521b3 100282009-01-27 Pavel Roskin <proski@gnu.org>
10029
10030 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10031
994b5e84 100322009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10033
10034 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10035
10036 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10037
10038 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10039 unregister function.
10040
6a7eab2c 100412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10042
10043 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10044
10045 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10046
10047 * util/grub-mkfont.c (usage): Fix typo.
10048
10049 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10050
1806b56e 100512009-01-26 Daniel Mierswa <impulze@impulze.org>
10052
3fb18f09 10053 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10054
336e1fb9 10055 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10056
1806b56e 10057 * kern/misc.c (grub_strcasecmp): New function.
10058 (grub_strcasecmp): Use grub_size_t instead of int for length.
10059 Fix return value.
10060 * include/grub/misc.h: Update function prototypes.
10061
580b2a0f 100622009-01-26 Robert Millan <rmh@aybabtu.com>
10063
10064 * configure.ac: Fix cross-compilation check.
ef257b36 10065
d31c24f1 100662009-01-22 Christian Franke <franke@computer.org>
10067
10068 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10069 (precision) digit string. Allow `.format2' without `format1' (width).
10070 Limit input chars for `%s' output to `format2' if specified. This is
10071 compatible with standard printf ().
10072
3138b44c 100732009-01-22 Christian Franke <franke@computer.org>
10074
10075 * disk/ata.c (grub_ata_wait_status): Replace by ...
10076 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10077 other status bits may be invalid while BSY is asserted.
10078 (grub_ata_check_ready): New function.
10079 (grub_ata_cmd): Removed.
10080 (grub_ata_wait_drq): New function.
10081 (grub_ata_strncpy): Remove inline.
10082 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10083 and error check now done by grub_ata_wait_drq ().
10084 (grub_ata_pio_write): Likewise.
10085 (grub_atapi_identify): Set DEV before check for !BSY. Use
10086 grub_ata_wait_drq () to wait for data.
10087 (grub_ata_device_initialize): Add status register check to
10088 detect missing SATA slave devices. Add debug messages.
10089 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10090 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10091 transfer loop by grub_ata_pio_write ().
10092 (grub_ata_identify): Set DEV before check for !BSY. Use
10093 grub_ata_wait_drq () to wait for data.
ef257b36 10094 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10095 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10096 read/write in one loop. Fix invalid command on write. Fix incomplete
10097 command on (size % batch) == 0. Add missing error check after write of
10098 last block. Add debug messages.
10099 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10100
59a64ef6 101012009-01-19 Christian Franke <franke@computer.org>
10102
10103 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10104 (GRUB_ATAPI_IREASON_*): Likewise.
10105 (grub_ata_pio_write): Fix timeout error return.
10106 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10107 (grub_atapi_wait_drq): New function.
10108 (grub_atapi_packet): New parameter `size'.
10109 Use grub_atapi_wait_drq () and direct write instead of
10110 grub_ata_pio_write ().
10111 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10112 reads the number of bytes requested by the device for each DRQ
10113 assertion.
10114 (grub_atapi_write): Remove old implementation, return not
10115 implemented instead.
10116
1cfe20b3 101172009-01-19 Christian Franke <franke@computer.org>
10118
10119 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10120 of 512 to calculate data size.
10121 (grub_scsi_read12): Likewise.
10122 (grub_scsi_write10): Likewise.
10123 (grub_scsi_write12): Likewise.
10124 (grub_scsi_read): Adjust size according to blocksize.
10125 Add checks for invalid blocksize and unaligned transfer.
10126
bee5fe5d 101272009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10128
10129 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10130
ef257b36 10131 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10132 width glyphs.
10133
3e643f8c 101342009-01-19 Robert Millan <rmh@aybabtu.com>
10135
10136 * config.guess: Update to latest version from config git.
10137 * config.sub: Likewise.
10138
4fa80998 101392009-01-17 Felix Zielcke <fzielcke@z-51.de>
10140
10141 * Makefile.in: Change font compilation to use new grub-mkfont instead
10142 of java version.
10143
10144 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10145 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10146 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10147 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10148 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10149 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10150 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10151 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10152 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10153
7086085b 101542009-01-16 Christian Franke <franke@computer.org>
10155
10156 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10157 (enum grub_ata_timeout_milliseconds): New enum.
10158 (grub_ata_wait_status): Add parameter milliseconds.
10159 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10160 recovery from timed-out commands.
10161 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10162 return grub_errno instead of REG_ERROR.
10163 (grub_ata_pio_write): Add parameter milliseconds.
10164 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10165 Pass milliseconds to grub_ata_wait_status () and
10166 grub_ata_pio_read ().
10167 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10168 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10169 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10170 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10171 It is not suitable for device detection, because DEV bit is ignored,
10172 the command may run too long, and not all devices set the signature
10173 properly.
10174 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10175 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10176 Fix device selection, DEV bit must be set first to address the registers
10177 of the correct device.
10178 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10179 grub_ata_pio_read/write ().
10180 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10181 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10182
4a412913 101832009-01-13 Carles Pina i Estany <carles@pina.cat>
10184
10185 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10186
7795c55e 101872009-01-13 Bean <bean123ch@gmail.com>
d913988c 10188
10189 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10190
7795c55e 101912009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10192
10193 * Makefile.in: (enable_grub_mkfont): New variable.
10194 (freetype_cflags): Likewise.
10195 (freetype_libs): Likewise.
10196
10197 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10198 (grub_mkfont_SOURCES): New variable.
10199 (grub_mkfont_CFLAGS): Likewise.
10200 (grub_mkfont_LDFLAGS): Likewise.
10201
10202 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10203 library if `--enable-grub-mkfont' is requested.
10204 (enable_grub_mkfont): New variable.
10205 (freetype_cflags): Likewise.
10206 (freetype_libs): Likewise.
10207
10208 * util/grub-mkfont.c: New file.
10209
093af1fe 102102009-01-12 Christian Franke <franke@computer.org>
10211
10212 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10213 mode check. Fix setting of compat_use[].
10214
f36cc108 102152009-01-10 Robert Millan <rmh@aybabtu.com>
10216
10217 Update a few copyright years which we forgot to do in 2008 (only for
10218 files whose changes made in 2008 were copyright-significant)
10219
10220 * Makefile.in: Add 2008 to Copyright line.
10221 * disk/ieee1275/ofdisk.c: Likewise.
10222 * disk/efi/efidisk.c: Likewise.
10223 * kern/dl.c: Likewise.
10224 * kern/sparc64/ieee1275/init.c: Likewise.
10225 * kern/mm.c: Likewise.
10226 * kern/efi/mm.c: Likewise.
10227 * boot/i386/pc/boot.S: Likewise.
10228 * genfslist.sh: Likewise.
10229 * fs/iso9660.c: Likewise.
10230 * fs/hfs.c: Likewise.
10231 * fs/jfs.c: Likewise.
10232 * fs/minix.c: Likewise.
10233 * fs/ufs.c: Likewise.
10234 * gensymlist.sh.in: Likewise.
10235 * genkernsyms.sh.in: Likewise.
10236 * include/grub/misc.h: Likewise.
10237 * include/grub/types.h: Likewise.
10238 * include/grub/symbol.h: Likewise.
10239 * include/grub/elf.h: Likewise.
10240 * include/grub/kernel.h: Likewise.
10241 * include/grub/disk.h: Likewise.
10242 * include/grub/dl.h: Likewise.
10243 * include/grub/i386/linux.h: Likewise.
10244 * include/grub/i386/pc/biosdisk.h: Likewise.
10245 * include/grub/efi/api.h: Likewise.
10246 * include/grub/efi/pe32.h: Likewise.
10247 * include/grub/util/misc.h: Likewise.
10248 * normal/execute.c: Likewise.
10249 * normal/arg.c: Likewise.
10250 * normal/completion.c: Likewise.
10251 * normal/lexer.c: Likewise.
10252 * normal/parser.y: Likewise.
10253 * normal/misc.c: Likewise.
10254 * commands/i386/pc/vbeinfo.c: Likewise.
10255 * commands/hexdump.c: Likewise.
10256 * commands/terminal.c: Likewise.
10257 * commands/ls.c: Likewise.
10258 * commands/help.c: Likewise.
10259 * partmap/pc.c: Likewise.
10260 * loader/efi/chainloader.c: Likewise.
10261 * loader/multiboot_loader.c: Likewise.
10262 * loader/i386/pc/multiboot2.c: Likewise.
10263 * term/efi/console.c: Likewise.
10264 * term/i386/pc/serial.c: Likewise.
10265 * util/lvm.c: Likewise.
10266 * util/console.c: Likewise.
10267 * util/i386/efi/grub-mkimage.c: Likewise.
10268 * util/raid.c: Likewise.
10269
7f02114b 102702009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10271
10272 * commands/videotest.c: Removed include to grub/machine/memory.h.
10273
10274 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10275 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10276 (video_mod_SOURCES): Removed.
10277 (video_mod_CFLAGS): Likewise.
10278 (video_mod_LDFLAGS): Likewise.
10279 (gfxterm_mod_SOURCES): Likewise.
10280 (gfxterm_mod_CFLAGS): Likewise.
10281 (gfxterm_mod_LDFLAGS): Likewise.
10282 (videotest_mod_SOURCES): Likewise.
10283 (videotest_mod_CFLAGS): Likewise.
10284 (videotest_mod_LDFLAGS): Likewise.
10285 (bitmap_mod_SOURCES): Likewise.
10286 (bitmap_mod_CFLAGS): Likewise.
10287 (bitmap_mod_LDFLAGS): Likewise.
10288 (tga_mod_SOURCES): Likewise.
10289 (tga_mod_CFLAGS): Likewise.
10290 (tga_mod_LDFLAGS): Likewise.
10291 (jpeg_mod_SOURCES): Likewise.
10292 (jpeg_mod_CFLAGS): Likewise.
10293 (jpeg_mod_LDFLAGS): Likewise.
10294 (png_mod_SOURCES): Likewise.
10295 (png_mod_CFLAGS): Likewise.
10296 (png_mod_LDFLAGS): Likewise.
10297
10298 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10299 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10300 (video_mod_SOURCES): Added.
10301 (video_mod_CFLAGS): Likewise.
10302 (video_mod_LDFLAGS): Likewise.
10303 (videotest_mod_SOURCES): Likewise.
10304 (videotest_mod_CFLAGS): Likewise.
10305 (videotest_mod_LDFLAGS): Likewise.
10306 (bitmap_mod_SOURCES): Likewise.
10307 (bitmap_mod_CFLAGS): Likewise.
10308 (bitmap_mod_LDFLAGS): Likewise.
10309 (tga_mod_SOURCES): Likewise.
10310 (tga_mod_CFLAGS): Likewise.
10311 (tga_mod_LDFLAGS): Likewise.
10312 (jpeg_mod_SOURCES): Likewise.
10313 (jpeg_mod_CFLAGS): Likewise.
10314 (jpeg_mod_LDFLAGS): Likewise.
10315 (png_mod_SOURCES): Likewise.
10316 (png_mod_CFLAGS): Likewise.
10317 (png_mod_LDFLAGS): Likewise.
10318 (gfxterm_mod_SOURCES): Likewise.
10319 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10320 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10321
10322 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10323 grub/machine/console.h.
10324
644fff97 103252009-01-04 Jerone Young <jerone@gmail.com>
10326
10327 Make on screen instructions clearer
10328
10329 Based on patch created by Jidanni <jidanni@jidanni.org>
10330
10331 * normal/menu.c: print clearer instructions on the screen
10332
1e901a75 103332009-01-02 Colin D Bennett <colin@gibibit.com>
10334
10335 New font engine.
34c44600 10336
1e901a75 10337 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10338 build system and fixed gfxterm.c to work with different sized fonts.
10339
10340 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 10341
1e901a75 10342 * configure: Re-generated.
34c44600 10343
1e901a75 10344 * DISTLIST: Removed font/manager.c.
10345 Added font/font.c.
10346 Added font/font_cmd.c.
34c44600 10347
1e901a75 10348 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
10349 compilation.
34c44600 10350
1e901a75 10351 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 10352
10353 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 10354
10355 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 10356
1e901a75 10357 * normal/menu.c: Likewise.
34c44600 10358
1e901a75 10359 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
10360 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 10361
1e901a75 10362 * include/grub/font.h: Replaced with new file.
34c44600 10363
1e901a75 10364 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
10365 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
10366 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
10367 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
10368 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 10369 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 10370 fg_red, fg_green, fg_blue, fg_alpha.
10371 (grub_video_adapter): Removed blit_glyph.
34c44600 10372 (grub_video_blit_glyph): Removed.
10373
1e901a75 10374 * font/manager.c: Removed file.
34c44600 10375
10376 * font/font.c: New file.
10377
1e901a75 10378 * font/font_cmd.c: Likewise.
34c44600 10379
1e901a75 10380 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 10381
1e901a75 10382 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
10383 (grub_video_vbe_map_rgba): Likewise.
10384 (grub_video_vbe_unmap_color_int): Likewise.
10385 (grub_video_vbe_blit_glyph): Removed.
10386 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 10387
1e901a75 10388 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
10389 (get_pixel): Likewise.
34c44600 10390 (set_pixel): Likewise.
10391
1e901a75 10392 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 10393
1e901a75 10394 * term/gfxterm.c: Adapted to new font engine.
34c44600 10395
1e901a75 10396 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 10397
1e901a75 10398 * term/i386/pc/vga.c: Likewise.
34c44600 10399
1e901a75 10400 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 10401
1e901a75 10402 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 10403
1e901a75 10404 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10405
1e901a75 10406 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10407
1e901a75 10408 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 10409
1e901a75 10410 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 10411
1e901a75 10412 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 10413
1e901a75 10414 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 10415
1e901a75 10416 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10417
10418 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 10419
1e901a75 10420 * util/grub-mkconfig_lib.in: Changed font extension.
10421
278922e8 104222008-12-28 Felix Zielcke <fzielcke@z-51.de>
10423
10424 * util/getroot.c (grub_util_get_grub_dev): Add support for
10425 /dev/md/dNNpNN style partitionable mdraid devices.
10426
3ced05cf 104272008-12-12 Alex Smith <alex@alex-smith.me.uk>
10428
10429 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
10430 at a time limit of the PXE TFTP API correctly.
10431 (grub_pxefs_close): Likewise.
10432
7fd0ee30 104332008-11-29 Robert Millan <rmh@aybabtu.com>
10434
34c44600 10435 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 10436 grub_ata_device_initialize() calls.
10437
34c44600 104382008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 10439
10440 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
10441 iteration failed.
10442 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
10443
89313780 104442008-11-28 Robert Millan <rmh@aybabtu.com>
10445
10446 Fix build on powerpc-ieee1275. Based on patch created by
10447 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
10448 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10449 `kern/ieee1275/mmap.c'.
10450 * include/grub/powerpc/ieee1275/memory.h: New file.
10451
15257703 10452 Provide grub-install on coreboot.
10453 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
10454 (grub_install_SOURCES): New variable.
10455 * util/i386/pc/grub-install.in: Add a few condition checks to make it
10456 usable on coreboot.
10457
9fc5388a 104582008-11-25 Felix Zielcke <fzielcke@z-51.de>
10459
10460 * util/grub-fstest.c (grub_term_get_current_input): Change return type
10461 to `grub_term_input_t'.
10462 (grub_term_get_current_output): Change return type to
10463 `grub_term_output_t'.
10464
bc3a2f31 104652008-11-22 Robert Millan <rmh@aybabtu.com>
10466
34c44600 10467 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 10468 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
10469 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
10470 grub_vga_text_cls().
10471
80fc88f2 10472 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 10473 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 10474
cbf36fd3 10475 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
10476 to 0x200000 (avoids trouble with some OFW implementations, and matches
10477 with the one in Yaboot).
10478 Reported by Manoel Abranches
10479
73e8e268 104802008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 10481
10482 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
10483 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
10484
73e8e268 10485 * util/grub-mkconfig_lib.in (grub_warn): New function.
10486 (convert_system_path_to_grub_path): Use grub_warn() when issuing
10487 warnings, to obtain consistent formatting.
10488 * util/grub.d/00_header.in: Likewise.
10489 * util/update-grub_lib.in: Likewise.
10490
e94045a1 10491 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 10492 Move comment text to `#error' stanza.
e94045a1 10493
79d29fd7 10494 Harmonize ieee1275's grub_available_iterate() with the generic
10495 grub_machine_mmap_iterate() interface (fixes a recently-introduced
10496 build problem on i386-ieee1275):
10497 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
10498 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
10499 parameter `type'. Update all users of this function.
10500 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
10501 `kern/ieee1275/mmap.c'.
10502 * kern/ieee1275/init.c
10503 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
10504 with ...
10505 (grub_machine_mmap_iterate): ... this.
10506 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
10507 return type to `grub_err_t'. Update all implementations of this
10508 function prototype.
10509 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
10510 Likewise.
10511
60d6b16e 10512 Add `lsmmap' command (lists firmware-provided memory map):
10513 * commands/lsmmap.c: New file.
10514 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
10515 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
10516 variables.
10517 * conf/powerpc-ieee1275.rmk: Likewise.
10518 * conf/i386-coreboot.rmk: Likewise.
10519 * conf/i386-ieee1275.rmk: Likewise.
10520
ebaaf49b 105212008-11-19 Robert Millan <rmh@aybabtu.com>
10522
10523 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 10524 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
10525 constraints to initrd allocation (based on code from
10526 loader/i386/pc/linux.c). Without them, initrd was allocated too high
10527 for Linux to find it.
ebaaf49b 10528
dfab719f 105292008-11-14 Robert Millan <rmh@aybabtu.com>
10530
10531 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
10532 order to cope with duplicate slashes.
10533
10fc3eb9 105342008-11-14 Robert Millan <rmh@aybabtu.com>
10535
10536 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
10537 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
10538 don't want to mess with lower memory, because it is used in the Linux
10539 loader.
10540
10541 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 10542 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 10543 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
10544 is in our heap (probably as a result of it being corrupted during
2f2a3442 10545 decompression). Add #error instance with comment to explain why this
10546 loader isn't currently usable on PC/BIOS.
10fc3eb9 10547
e2e07847 105482008-11-14 Robert Millan <rmh@aybabtu.com>
10549
10550 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 10551 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 10552
fe8e8d69 105532008-11-12 Robert Millan <rmh@aybabtu.com>
10554
10555 Make loader/i386/linux.c buildable on i386-pc (although disabled).
10556
10557 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
10558 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
10559 from here ...
10560 * include/grub/i386/pc/memory.h: ... to here.
10561
976b07d0 105622008-11-12 Robert Millan <rmh@aybabtu.com>
10563
10564 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
10565 split).
10566
10567 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
10568 (grub_console_cur_color, grub_console_real_putchar)
10569 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10570 (grub_console_setcolorstate, grub_console_setcolor)
10571 (grub_console_getcolor): Move from here ...
10572 * include/grub/i386/vga_common.h: ... to here (new file).
10573
10574 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
10575 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
10576 `<grub/i386/io.h>'.
10577 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
10578 `<grub/i386/vga_common.h>'.
10579
76679cd3 105802008-11-12 Robert Millan <rmh@aybabtu.com>
10581
10582 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
10583 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
10584 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
10585 variables.
10586 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10587 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
10588
10589 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
10590 grub_console_init() with call to grub_vga_text_init().
10591 (grub_machine_fini): Replace call to
10592 grub_console_fini() with call to grub_vga_text_fini() and
10593 grub_at_keyboard_fini().
10594
10595 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
10596 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10597 (grub_console_setcolorstate, grub_console_setcolor)
10598 (grub_console_getcolor): New function prototypes.
10599
10600 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
10601 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
10602 (grub_vga_text_setcursor): Static-ize.
10603 (grub_vga_text_term): New structure.
10604 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
10605
10606 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
10607 (grub_console_cur_color, grub_console_standard_color)
10608 (grub_console_normal_color, grub_console_highlight_color)
10609 (map_char, grub_console_putchar, grub_console_getcharwidth)
10610 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
10611 (grub_console_getcolor): Move from here ...
10612 * term/i386/vga_common.c: ... to here (same function names).
10613
95b841d3 106142008-11-12 Robert Millan <rmh@aybabtu.com>
10615
10616 Use newly-added Multiboot support in coreboot.
10617
10618 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10619 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
10620
10621 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
10622 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
10623 (codestart): Store the MBI in `startup_multiboot_info' when we're
10624 being loaded using Multiboot.
10625
10626 * kern/i386/coreboot/init.c (grub_machine_init): Move
10627 grub_at_keyboard_init() call to beginning of function (useful for
10628 debugging). Call grub_machine_mmap_init() before attempting to use
10629 grub_machine_mmap_iterate().
10630 (grub_lower_mem, grub_upper_mem): Move from here ...
10631 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
10632 here (new file).
10633
10634 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
10635 function prototype.
10636
761ca975 106372008-11-12 Robert Millan <rmh@aybabtu.com>
10638
10639 Fix a regression introduced by the at_keyboard.mod split. Because
10640 some terminals are default on some platforms and non-default on
10641 others, the first terminal being registered determines which is
10642 going to be default.
10643
10644 * kern/term.c (grub_term_register_input): If this is the first
10645 terminal being registered, set it as the current one.
10646 (grub_term_register_output): Likewise.
10647
10648 * term/efi/console.c (grub_console_init): Do not call
10649 grub_term_set_current_output() or grub_term_set_current_input().
10650 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
10651 * term/i386/pc/console.c (grub_console_init): Likewise.
10652 (grub_console_fini): Do not call grub_term_set_current_input()
10653 (but leave grub_term_set_current_output() to restore text mode).
10654
6c529df7 106552008-11-10 Robert Millan <rmh@aybabtu.com>
10656
10657 * util/grub.d/00_header.in: Add backward compatibility check for
10658 versions of terminal.mod that don't understand `terminal_input' or
10659 `terminal_output'.
10660
132e4113 106612008-11-09 Robert Millan <rmh@aybabtu.com>
10662
10663 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
10664 `terminal_input' / `terminal_output', not `terminal'.
10665
ac293d50 106662008-11-08 Robert Millan <rmh@aybabtu.com>
10667
10668 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 10669 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 10670
0025933a 106712008-11-08 Robert Millan <rmh@aybabtu.com>
10672
10673 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 10674 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 10675 members. Update all users.
10676 * util/console.c (grub_ncurses_term): Split in ...
10677 (grub_ncurses_term_input): ... this, and ...
10678 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 10679 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 10680
37c86336 106812008-11-08 Robert Millan <rmh@aybabtu.com>
10682
10683 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
10684 (PKGDATA): Add $(pkgdata_SRCDIR).
10685 (pkglib_BUILDDIR): New variable.
10686 (pkgdata_SRCDIR): New variable.
10687 (build_env.mk): New target.
10688 (include_DATA): New variable.
10689 (install-local): Install $(include_DATA) files in $(includedir).
10690
b6c15a2d 106912008-11-07 Pavel Roskin <proski@gnu.org>
10692
d99d46f1 10693 * gendistlist.sh: Use C locale for sorting to ensure consistent
10694 output on all systems.
10695
b6c15a2d 10696 * util/grub.d/00_header.in: Remove incorrect space before
10697 "serial".
10698
c32ee8c9 106992008-11-07 Robert Millan <rmh@aybabtu.com>
10700
10701 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
10702 per specification.
10703 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
10704 * loader/multiboot_loader.c (find_multi_boot2_header): New function
10705 (based on find_multi_boot1_header).
10706 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
10707 using find_multi_boot2_header(), and abort if neither Multiboot or
10708 Multiboot headers were found.
10709
651c29b7 107102008-11-07 Robert Millan <rmh@aybabtu.com>
10711
10712 Modularize at_keyboard.mod:
10713
10714 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
10715 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10716 (at_keyboard_mod_LDFLAGS): New variables.
10717
10718 Actual terminal split:
10719
10720 * include/grub/term.h (struct grub_term): Split in ...
10721 (struct grub_term_input): ... this, and ...
10722 (struct grub_term_output): ... this. Update all users.
10723 (grub_term_set_current): Split in ...
10724 (grub_term_set_current_input): ... this, and ...
10725 (grub_term_set_current_output): ... this.
10726 (grub_term_get_current): Split in ...
10727 (grub_term_get_current_input): ... this, and ...
10728 (grub_term_get_current_output): ... this.
10729 (grub_term_register): Split in ...
10730 (grub_term_register_input): ... this, and ...
10731 (grub_term_register_output): ... this.
10732 (grub_term_unregister): Split in ...
10733 (grub_term_unregister_input): ... this, and ...
10734 (grub_term_unregister_output): ... this.
10735 (grub_term_iterate): Split in ...
10736 (grub_term_iterate_input): ... this, and ...
10737 (grub_term_iterate_output): ... this.
10738
10739 * kern/term.c (grub_term_list): Split in ...
10740 (grub_term_list_input): ... this, and ...
10741 (grub_term_list_output): ... this. Update all users.
10742 (grub_cur_term): Split in ...
10743 (grub_cur_term_input): ... this, and ...
10744 (grub_cur_term_output): ... this. Update all users.
10745 (grub_term_set_current): Split in ...
10746 (grub_term_set_current_input): ... this, and ...
10747 (grub_term_set_current_output): ... this.
10748 (grub_term_get_current): Split in ...
10749 (grub_term_get_current_input): ... this, and ...
10750 (grub_term_get_current_output): ... this.
10751 (grub_term_register): Split in ...
10752 (grub_term_register_input): ... this, and ...
10753 (grub_term_register_output): ... this.
10754 (grub_term_unregister): Split in ...
10755 (grub_term_unregister_input): ... this, and ...
10756 (grub_term_unregister_output): ... this.
10757 (grub_term_iterate): Split in ...
10758 (grub_term_iterate_input): ... this, and ...
10759 (grub_term_iterate_output): ... this.
10760
10761 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
10762 a check for input and one for output (and only attempt to get keys
10763 from user when input works).
10764
10765 * util/grub-probe.c (grub_term_get_current): Split in ...
10766 (grub_term_get_current_input): ... this, and ...
10767 (grub_term_get_current_output): ... this.
10768 * util/grub-fstest.c: Likewise.
10769 * util/i386/pc/grub-setup.c: Likewise.
10770 * util/grub-editenv.c: Likewise.
10771
10772 Portability adjustments:
10773
10774 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10775 `term/i386/pc/at_keyboard.c'.
10776 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10777 grub_keyboard_controller_init() (now handled by terminal .init).
10778 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10779 grub_at_keyboard_init().
10780 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10781 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10782 at_keyboard.mod via input terminal interface).
10783 * include/grub/i386/coreboot/console.h: Convert into a stub for
10784 `<grub/i386/pc/console.h>'.
10785
10786 Migrate full terminals to new API:
10787
10788 * term/efi/console.c (grub_console_term): Split into ...
10789 (grub_console_term_input): ... this, and ...
10790 (grub_console_term_output): ... this. Update all users.
10791 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10792 (grub_ofconsole_init): Split into ...
10793 (grub_ofconsole_init_input): ... this, and ...
10794 (grub_ofconsole_init_output): ... this.
10795 (grub_ofconsole_term): Split into ...
10796 (grub_ofconsole_term_input): ... this, and ...
10797 (grub_ofconsole_term_output): ... this. Update all users.
10798 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10799 (grub_serial_term_input): ... this, and ...
10800 (grub_serial_term_output): ... this. Update all users.
10801 * term/i386/pc/console.c (grub_console_term): Split into ...
10802 (grub_console_term_input): ... this, and ...
10803 (grub_console_term_output): ... this. Update all users.
10804 (grub_console_term_input): Only enable it on PC/BIOS platform.
10805 (grub_console_init): Remove grub_keyboard_controller_init() call.
10806
10807 Migrate input terminals to new API:
10808
10809 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
10810 `i386' and `i386/pc' to enable build on x86_64 (this driver is
10811 i386-specific anyway).
10812 (grub_console_checkkey): Rename to ...
10813 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
10814 users.
10815 (grub_keyboard_controller_orig): New variable.
10816 (grub_console_getkey): Rename to ...
10817 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
10818 users.
10819 (grub_keyboard_controller_init): Static-ize. Save original
10820 controller value so that it can be restored ...
10821 (grub_keyboard_controller_fini): ... here (new function).
10822 (grub_at_keyboard_term): New structure.
10823 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
10824 functions.
10825
10826 Migrate output terminals to new API:
10827
10828 * term/i386/pc/vga.c (grub_vga_term): Change type to
10829 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10830 members. Update all users.
10831 * term/gfxterm.c (grub_video_term): Change type to
10832 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
10833 members. Update all users.
10834 * include/grub/i386/pc/console.h (grub_console_checkkey)
10835 (grub_console_getkey): Do not export (no longer needed by gfxterm,
10836 etc).
10837
10838 Migrate `terminal' command and userland tools to new API:
10839
10840 * commands/terminal.c (grub_cmd_terminal): Split into ...
10841 (grub_cmd_terminal_input): ... this, and ...
10842 (grub_cmd_terminal_output): ... this.
10843 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
10844 `terminal_input' and `terminal_output'.
10845 * util/grub.d/00_header.in: Adjust `terminal' calls to new
10846 `terminal_input' / `terminal_output' API.
10847 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
10848 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
10849 provided ${GRUB_TERMINAL}, convert it).
10850
96e5d876 108512008-11-04 Robert Millan <rmh@aybabtu.com>
10852
10853 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
10854 for FreeBSD.
10855 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
10856
556f3775 108572008-11-03 Bean <bean123ch@gmail.com>
10858
10859 * kern/elf.c (grub_elf32_load): Revert to previous code.
10860 (grub_elf64_load): Likewise.
10861
10862 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
10863
926b9823 108642008-11-01 Robert Millan <rmh@aybabtu.com>
10865
10866 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
10867 (TARGET_CPPFLAGS): Likewise.
10868 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
10869
1432e958 108702008-11-01 Carles Pina i Estany <carles@pina.cat>
10871
10872 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
10873
dba3f844 108742008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 10875
10876 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
10877 addition of objects until the code is not going to be able to fail.
10878
dba3f844 108792008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 10880
10881 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
10882 (add a missing NULL check, and correct them by moving the pointer
10883 operations after the actual check).
10884
7ab28c21 108852008-10-29 Robert Millan <rmh@aybabtu.com>
10886
10887 * util/i386/pc/grub-install.in: Handle empty string as output from
10888 make_system_path_relative_to_its_root().
10889
1b7748eb 108902008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
10891
10892 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
10893 circular metadata worst case scenario. If the metadata is circular
10894 then copy the wrap in place.
10895 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
10896 project lib/format_text/layout.h
10897 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
10898
c9618ab2 108992008-10-03 Felix Zielcke <fzielcke@z-51.de>
10900
7a36edca 10901 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 10902
bf981c62 109032008-10-03 Felix Zielcke <fzielcke@z-51.de>
10904
10905 * util/update-grub_lib.in: Mention filename in warning message.
10906
6d994591 109072008-09-29 Felix Zielcke <fzielcke@z-51.de>
10908
10909 * NEWS: Update for rename of update-grub to grub-mkconfig.
10910
18ade780 109112008-09-29 Felix Zielcke <fzielcke@z-51.de>
10912
10913 * util/update-grub_lib.in: Copy to ...
10914 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 10915 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 10916 * util/update-grub.in: Rename to ...
10917 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
10918 option. Add `--output' option to allow users to specify the generated
10919 configuration file. Default to stdout.
10920 (update_grub_dir): Rename to ...
10921 (grub_mkconfig_dir): ... this.
10922 (grub_cfg): Default to an empty string.
10923 * conf/common.rmk (update-grub): Rename to ...
10924 (grub-mkconfig): ... this.
10925 (update-grub_lib): Copy to ...
10926 (grub-mkconfig_lib): ... this.
10927 (update-grub_SCRIPTS): Copy to ...
10928 (grub-mkconfig_SCRIPTS): ... this. Update all users.
10929 (update-grub_DATA): Rename to ...
10930 (grub-mkconfig_DATA): ... this.
10931
556ce6ac 109322008-09-28 Robert Millan <rmh@aybabtu.com>
10933
10934 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
10935 to `modified'. Add the real `created' field.
10936 (grub_iso9660_uuid): Use `modified' rather than `created' for
10937 constructing the UUID.
10938
109392008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 10940
10941 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
10942 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
10943
92274e85 109442008-09-28 Bean <bean123ch@gmail.com>
10945
10946 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
10947 Thanks to Christian Franke for finding this bug.
10948
add6f17a 109492008-09-25 Robert Millan <rmh@aybabtu.com>
10950
10951 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
10952 instances of grub_util_get_disk_name() (see previous commit).
10953
d2a367b8 109542008-09-25 Robert Millan <rmh@aybabtu.com>
10955
10956 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
10957 `util/i386/get_disk_name.c'.
10958 * conf/i386-efi.rmk: Likewise.
10959 * conf/x86_64-efi.rmk: Likewise.
10960 * conf/i386-coreboot.rmk: Likewise.
10961 * conf/i386-ieee1275.rmk: Likewise.
10962 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
10963 `util/ieee1275/get_disk_name.c'.
10964 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
10965 * util/ieee1275/get_disk_name.c: Remove file.
10966 * util/i386/get_disk_name.c: Remove file.
10967 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
10968 "hd%d" for device.map entries, rather than using
10969 grub_util_get_disk_name().
10970
81a06771 109712008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 10972
10973 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
10974 warning.
10975 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
10976
5a004279 109772008-09-24 Carles Pina i Estany <carles@pina.cat>
10978
10979 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
10980 Changed to 0x5100.
10981 (GRUB_TERM_PPAGE): Changed to 0x4900.
10982
397093d3 109832008-09-24 Robert Millan <rmh@aybabtu.com>
10984
10985 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
10986 macros (they were i386-pc specific).
10987 * include/grub/sparc64/ieee1275/console.h: Likewise.
10988 * include/grub/efi/console.h: Likewise.
10989
a91b6c7c 109902008-09-22 Bean <bean123ch@gmail.com>
10991
10992 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
10993 resident and in attribute list.
10994
10995 * include/grub/ntfs.h (BMP_LEN): Removed.
10996
c40fd116 109972008-09-22 Bean <bean123ch@gmail.com>
10998
81a06771 10999 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11000 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11001
11002 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11003 error occurs, as grub_disk_open will call grub_disk_close, which will
11004 call p->close (scsi).
11005
81a06771 110062008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11007
11008 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11009 (AC_PREREQ): Bumped to 2.59.
11010 (AC_TRY_COMPILE): Replace obsolete macro with ...
11011 (AC_COMPILE_IFELSE): ... this.
11012 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11013 (AC_LINK_IFELSE): ... this.
11014
5dc43410 110152008-09-21 Felix Zielcke <fzielcke@z-51.de>
11016
11017 * autogen.sh: Add a call to `gendistlist.sh'.
11018
9035dce4 110192008-09-19 Christian Franke <franke@computer.org>
11020
11021 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11022 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11023 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11024 Export __enable_execute_stack() to modules.
11025 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11026 New function.
11027
7fd75377 110282008-09-09 Felix Zielcke <fzielcke@z-51.de>
11029
040030b3 11030 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11031 Sort the list.
11032
110332008-09-09 Felix Zielcke <fzielcke@z-51.de>
11034
11035 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11036 #include <grub/util/hostdisk.h>.
11037
89d5ffcf 110382008-09-08 Robert Millan <rmh@aybabtu.com>
11039
11040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11041 segments when their filesz is zero (grub_file_read() interprets
81a06771 11042 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11043 Use `lowest_segment' rather than 0 for calculating the current
11044 segment load address.
11045
40da438f 110462008-09-08 Robert Millan <rmh@aybabtu.com>
11047
11048 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11049 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11050 clobbered useful information.
11051
ddbf5556 110522008-09-08 Robert Millan <rmh@aybabtu.com>
11053
11054 * include/grub/util/biosdisk.h: Move to ...
11055 * include/grub/util/hostdisk.h: ... here. Update all users.
11056 * util/biosdisk.c: Move to ...
11057 * util/hostdisk.c: ... here. Update all users.
11058
783d0f48 110592008-09-07 Robert Millan <rmh@aybabtu.com>
11060
11061 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11062 variables.
11063 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11064 and length can be stored directly in the `mbi->mmap_addr' and
11065 `mbi->mmap_length' struct fields.
11066
548e2ea5 110672008-09-07 Robert Millan <rmh@aybabtu.com>
11068
11069 * conf/i386.rmk: New file. Provides declaration for building
11070 `cpuid.mod'.
11071 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11072 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11073 variables.
11074 Include `conf/i386.mk'.
11075 * conf/i386-efi.rmk: Likewise.
11076 * conf/x86_64-efi.rmk: Likewise.
11077 * conf/i386-coreboot.rmk: Likewise.
11078 * conf/i386-ieee1275.rmk: Likewise.
11079
0ea85a37 110802008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11081
11082 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11083 Adds optimization support for BGR based modes.
11084
11085 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11086 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11087 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11088 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11089 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11090 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11091 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11092 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11093 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11094 (grub_video_i386_vbeblit_index_index): Likewise.
11095 (grub_video_i386_vbeblit_replace_directN): Added.
11096 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11097 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11098 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11099 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11100 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11101 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11102 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11103 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11104 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11105 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11106 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11107 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11108 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11109
11110 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11111 (grub_video_i386_vbefill_R8G8B8): Likewise.
11112 (grub_video_i386_vbefill_index): Likewise.
11113 (grub_video_i386_vbefill_direct32): Added.
11114 (grub_video_i386_vbefill_direct24): Likewise.
11115 (grub_video_i386_vbefill_direct16): Likewise.
11116 (grub_video_i386_vbefill_direct8): Likewise.
11117
81a06771 11118 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11119 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11120 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11121 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11122 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11123 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11124
0ea85a37 11125 * video/video.c (grub_video_get_blit_format): Updated to use new
11126 blit formats. Added handling for 16 bit color modes.
81a06771 11127
11128 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11129 fillers.
11130 (common_blitter): Updated to use new blitters.
11131
11132 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11133 Removed.
11134 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11135 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11136 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11137 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11138 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11139 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11140 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11141 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11142 (grub_video_i386_vbeblit_index_index): Likewise.
11143 (grub_video_i386_vbeblit_replace_directN): Added.
11144 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11145 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11146 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11147 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11148 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11149 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11150 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11151 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11152 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11153 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11154 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11155 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11156 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11157
0ea85a37 11158 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11159 (grub_video_i386_vbefill_R8G8B8): Likewise.
11160 (grub_video_i386_vbefill_index): Likewise.
11161 (grub_video_i386_vbefill_direct32): Added.
11162 (grub_video_i386_vbefill_direct24): Likewise.
11163 (grub_video_i386_vbefill_direct16): Likewise.
11164 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11165
0ea85a37 11166 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11167 types.
81a06771 11168
0ea85a37 11169 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11170 types.
81a06771 11171
0ea85a37 11172 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11173 blitter types.
81a06771 11174
0ea85a37 11175 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11176 types.
11177
e8a83df6 111782008-09-06 Felix Zielcke <fzielcke@z-51.de>
11179
11180 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11181 RAID level 1.
11182
6bcd8ee5 111832008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11184
6bcd8ee5 11185 * fs/iso9660.c (grub_iso9660_date): New structure.
11186 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11187 (grub_iso9660_uuid): New function.
c375ae58 11188
59261157 111892008-09-05 Bean <bean123ch@gmail.com>
11190
11191 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11192
11193 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11194 insensitive bit for names in Win32 and Win32 & DOS namespace.
11195
11196 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11197
11198 * include/grub/types.h (LONG_MAX): Likewise.
11199
58b6645a 112002008-09-04 Felix Zielcke <fzielcke@z-51.de>
11201
4ee55921 11202 * util/getroot.c: Include <config.h>.
11203 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11204 add support for /dev/md/N devices and handle LVM double dash escaping.
11205
112062008-09-04 Felix Zielcke <fzielcke@z-51.de>
11207
11208 * config.guess: Update to latest version from config git.
11209 * config.sub: Likewise.
58b6645a 11210
9124f65d 112112008-09-03 Robert Millan <rmh@aybabtu.com>
11212
11213 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11214 `disk->total_sectors'.
11215
81a06771 112162008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11217
11218 * include/grub/normal.h: Fixed incorrect comment for
11219 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11220
81a06771 112212008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11222
11223 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11224 values with defines.
11225
11226 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11227 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11228 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11229 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11230 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11231 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11232 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11233 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11234 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11235 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11236 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11237 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11238 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11239 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11240 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11241 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11242 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11243 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11244 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11245
93d5cbf8 112462008-08-31 Robert Millan <rmh@aybabtu.com>
11247
11248 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11249 declaration.
11250 (grub_multiboot): Fix a few warnings.
11251
21751d50 112522008-08-31 Robert Millan <rmh@aybabtu.com>
11253
11254 * loader/i386/pc/multiboot.c: Update comment not to say that
11255 boot_device support is unimplemented.
11256
e27a75c5 112572008-08-31 Robert Millan <rmh@aybabtu.com>
11258
11259 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11260 or memory map support are unimplemented.
11261
81a06771 112622008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11263
11264 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11265
81a06771 112662008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11267
11268 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11269 total video memory in 'vbeinfo' output; show color format details for
11270 each video mode.
11271
7c5d8d95 112722008-08-30 Pavel Roskin <proski@gnu.org>
11273
11274 * util/genmoddep.c: Remove for real this time.
11275 * DISTLIST: Remove util/genmoddep.c.
11276
4cebd25a 112772008-08-30 Robert Millan <rmh@aybabtu.com>
11278
11279 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11280 as required by Multiboot spec (it was already 4-byte aligned, but
11281 only by chance).
11282
b497a269 112832008-08-29 Pavel Roskin <proski@gnu.org>
11284
e3925185 11285 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11286 * kern/powerpc/ieee1275/startup.S: ... this.
11287 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11288 * DISTLIST: Likewise.
11289
b497a269 11290 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11291 grub/cpu/kernel.h. Add start label for consistency with other
11292 platforms. Add grub_prefix immediately after start. Add jump
11293 to the code after grub_prefix.
11294 * include/grub/powerpc/kernel.h: Provide valid values for
11295 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11296
6e5a42fe 112972008-08-29 Bean <bean123ch@gmail.com>
11298
11299 * configure.ac: Change host_os to cygwin for mingw.
11300 (asprintf): New check for function.
11301
11302 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11303 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11304
11305 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11306 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11307 sync, sleep and grub_util_get_disk_size for mingw.
11308
11309 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11310 to get size in mingw.
11311 (open_device): Use flag O_BINARY if it's defined.
11312 (find_root_device): Add dummy code for mingw.
11313
11314 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11315 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11316 (get_scsi_disk_name): Return 0 for mingw.
11317
11318 * util/hostfs.c: #include <grub/util/misc.h>.
11319 (grub_hostfs_open): Use "rb" flag to open file, use
11320 grub_util_get_disk_size to get disk size for mingw.
11321
11322 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11323 (asprintf): New function if HAVE_ASPRINTF is not set.
11324 (sync): New function for mingw.
11325 (sleep): Likewise.
11326 (grub_util_get_disk_size): Likewise.
11327
ab3f2673 113282008-08-28 Pavel Roskin <proski@gnu.org>
11329
11330 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11331 kern/time.c.
11332
1c282483 113332008-08-28 Robert Millan <rmh@aybabtu.com>
11334
11335 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11336
678e849c 113372008-08-28 Robert Millan <rmh@aybabtu.com>
11338
11339 Change find_grub_drive() syntax so it doesn't prevent it from
11340 detecting NULL names as errors.
11341
11342 * util/biosdisk.c (find_grub_drive): Move free slot search code
11343 from here ...
11344 (find_free_slot): ... to here.
11345 (read_device_map): Use find_free_slot() to search for free slots.
11346
965c75ca 113472008-08-27 Marco Gerards <marco@gnu.org>
11348
11349 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
11350 (scsi_mod_SOURCES): New variable.
11351 (scsi_mod_CFLAGS): Likewise
11352 (scsi_mod_LDFLAGS): Likewise.
11353
11354 * disk/scsi.c: New file.
11355
11356 * include/grub/scsi.h: Likewise.
11357
11358 * include/grub/scsicmd.h: Likewise.
11359
11360 * disk/ata.c: Include <grub/scsi.h>.
11361 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
11362 instead.
11363 (grub_ata_iterate): Skip ATAPI devices.
11364 (grub_ata_open): Only handle ATAPI devices.
11365 (struct grub_atapi_read): Removed.
11366 (grub_atapi_readsector): Likewise.
11367 (grub_ata_read): No longer handle ATAPI devices.
11368 (grub_ata_write): Likewise.
11369 (grub_atapi_iterate): New function.
11370 (grub_atapi_read): Likewise.
11371 (grub_atapi_write): Likewise.
11372 (grub_atapi_open): Likewise.
11373 (grub_atapi_close): Likewise.
11374 (grub_atapi_dev): New variable.
11375 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
11376 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
11377
11378 * include/grub/disk.h (enum grub_disk_dev_id): Add
11379 `GRUB_DISK_DEVICE_SCSI_ID'.
11380
c07ae501 113812008-08-26 Robert Millan <rmh@aybabtu.com>
11382
11383 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
11384 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
11385 descriptive.
11386
5ed20adc 113872008-08-23 Bean <bean123ch@gmail.com>
11388
11389 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
11390 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11391 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
11392 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
11393 dm_nv.mod.
11394 (raid5rec_mod_SOURCES): New macro.
11395 (raid5rec_mod_CFLAGS): Likewise.
11396 (raid5rec_mod_LDFLAGS): Likewise.
11397 (raid6rec_mod_SOURCES): Likewise.
11398 (raid6rec_mod_CFLAGS): Likewise.
11399 (raid6rec_mod_LDFLAGS): Likewise.
11400 (mdraid_mod_SOURCES): Likewise.
11401 (mdraid_mod_CFLAGS): Likewise.
11402 (mdraid_mod_LDFLAGS): Likewise.
11403 (dm_nv_mod_SOURCES): Likewise.
11404 (dm_nv_mod_CFLAGS): Likewise.
11405 (dm_nv_mod_LDFLAGS): Likewise.
11406
11407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
11408 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11409 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11410
11411 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
11412 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11413
11414 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11415
11416 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11417
11418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11419
11420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11421
11422 * disk/raid5_recover.c: New file.
11423
11424 * disk/raid6_recover.c: Likewise.
11425
11426 * disk/mdraid_linux.c: Likewise.
11427
11428 * disk/dmraid_nvidia.c: Likewise.
11429
11430 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
11431 ULONG_MAX.
11432
11433 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
11434 calculate the size of raid device.
11435 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
11436 different layout of raid5.
11437 (grub_raid_scan_device): Remove code specific to mdraid.
11438 (grub_raid_list): New variable.
11439 (free_array): New function.
11440 (grub_raid_register): Likewise.
11441 (grub_raid_unregister): Likewise.
11442 (grub_raid_rescan): Likewise.
11443 (GRUB_MOD_INIT): Don't iterate device here.
11444 (GRUB_MOD_FINI): Use free_array to release resource.
11445
11446 * include/grub/raid.h: Remove macro and structure specific to mdraid.
11447 (grub_raid5_recover_func_t): New function variable type.
11448 (grub_raid6_recover_func_t): Likewise.
11449 (grub_raid5_recover_func): New variable.
11450 (grub_raid6_recover_func): Likewise.
11451 (grub_raid_register): New function.
11452 (grub_raid_unregister): Likewise.
11453 (grub_raid_rescan): Likewise.
11454 (grub_raid_block_xor): Likewise.
11455
11456 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
11457 (CMD_CRC): New macro.
11458 (part): Removed.
11459 (read_file): Handle device as well as file.
11460 (cmd_crc): New function.
11461 (fstest): Handle multiple disks.
11462 (options): Remove part, raw and long, add root and diskcount.
11463 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 11464 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 11465 add handling for the new options, support multiple disks.
11466
11467 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
11468
29c18915 114692008-08-23 Bean <bean123ch@gmail.com>
11470
11471 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
11472
11473 * genfslist.sh: Ignore kernel.mod.
11474
11475 * genpartmaplist.sh: Likewise.
11476
8415f261 114772008-08-23 Robert Millan <rmh@aybabtu.com>
11478
11479 * util/getroot.c (find_root_device): Skip anything that starts with
11480 a dot, not just directories. This avoids things like /dev/.tmp.md0.
11481
d5a7dc5b 114822008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 11483
d5a7dc5b 11484 * util/update-grub.in (GRUB_GFXMODE): Export variable.
11485 * util/grub.d/00_header.in: Allow the administrator to change default
11486 gfxmode via ${GRUB_GFXMODE}.
11487
380cfbb4 114882008-08-21 Felix Zielcke <fzielcke@z-51.de>
11489
11490 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
11491
c9baafe7 114922008-08-21 Robert Millan <rmh@aybabtu.com>
11493
11494 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
11495 loader.
11496 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
11497 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
11498
e290bef2 114992008-08-20 Carles Pina i Estany <carles@pina.cat>
11500
11501 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
11502 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
11503
f9dbfc96 115042008-08-19 Robert Millan <rmh@aybabtu.com>
11505
11506 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
11507 (struct grub_virtual_screen): Remove `cursor_color'.
11508 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
11509 initialization.
11510 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
11511
dd6bd6ab 115122008-08-18 Robert Millan <rmh@aybabtu.com>
11513
11514 Unify (identical) linux_normal.c files.
11515 * loader/i386/efi/linux_normal.c: Move from here ...
11516 * loader/linux_normal.c: ... to here. Update all users.
11517 * loader/i386/pc/linux_normal.c: Delete. Update all users.
11518 * loader/i386/ieee1275/linux_normal.c: Likewise.
11519
7f42f83e 115202008-08-18 Robert Millan <rmh@aybabtu.com>
11521
11522 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
11523 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
11524 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
11525 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
11526 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
11527 New macros.
11528 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
11529 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
11530 (GRUB_LINUX_CL_END_OFFSET): ... to here.
11531 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
11532 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
11533 (GRUB_EFI_CL_END_OFFSET): Rename to ...
11534 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
11535 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
11536 Initialize `params->video_cursor_x' and `params->video_cursor_y'
11537 portably using grub_getxy().
11538 Replace `-EFI' with `-bzImage' in boot message.
11539
38487ddb 115402008-08-17 Robert Millan <rmh@aybabtu.com>
11541
11542 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
11543
deceb3ec 115442008-08-17 Robert Millan <rmh@aybabtu.com>
11545
11546 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
11547
11548 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
11549 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
11550 (grub_machine_mmap_iterate): New function declaration.
11551 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
11552 structure.
11553 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
11554 macros.
11555
11556 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
11557 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
11558 Move e820 parsing from here ...
11559 * kern/i386/pc/mmap.c: New file.
11560 (grub_machine_mmap_iterate): ... to here.
11561
11562 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
11563 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
11564 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
11565 (grub_available_iterate): Redeclare to return `void', and redeclare
11566 its hook to use grub_uint64_t as addr and size parameters, and rename
11567 to ...
11568 (grub_machine_mmap_iterate): ... this. Update all users.
11569
11570 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
11571 to make it more readable. Rename to ...
11572 (grub_machine_mmap_iterate): ... this.
11573
11574 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
11575 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
11576 (grub_multiboot): Allocate an extra region after the payload, and fill
11577 it with a Multiboot memory map. Adjust a.out loader to calculate size
11578 with the extra space.
11579 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
11580 with the extra space.
11581
f8aa0f43 115822008-08-17 Carles Pina i Estany <carles@pina.cat>
11583
9807deb9 11584 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 11585
605f5bb6 115862008-08-17 Felix Zielcke <fzielcke@z-51.de>
11587
11588 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
11589 mdate-sh to the list `find' searches for.
11590 * DISTLIST: Regenerated.
11591
210db6c6 115922008-08-16 Felix Zielcke <fzielcke@z-51.de>
11593
11594 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
11595 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 11596 genmoddep.awk, gensymlist.sh.in.
11597 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 11598 * DISTLIST: Regenerated.
48cdbfd4 11599 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 11600
1082b929 116012008-08-16 Robert Millan <rmh@aybabtu.com>
11602
11603 * disk/raid.c (grub_raid_init): Handle/report errors set by
11604 grub_device_iterate().
11605 * disk/lvm.c (grub_lvm_init): Likewise.
11606
42ce5170 116072008-08-15 Bean <bean123ch@gmail.com>
11608
11609 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11610 and datehook.mod.
11611 (datetime_mod_SOURCES): New macro.
11612 (datetime_mod_CFLAGS): Likewise.
11613 (datetime_mod_LDFLAGS): Likewise.
11614 (date_mod_SOURCES): Likewise.
11615 (date_mod_CFLAGS): Likewise.
11616 (date_mod_LDFLAGS): Likewise.
11617 (datehook_mod_SOURCES): Likewise.
11618 (datehook_mod_CFLAGS): Likewise.
11619 (datehook_mod_LDFLAGS): Likewise.
11620
11621 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11622 and datehook.mod.
11623 (datetime_mod_SOURCES): New macro.
11624 (datetime_mod_CFLAGS): Likewise.
11625 (datetime_mod_LDFLAGS): Likewise.
11626 (date_mod_SOURCES): Likewise.
11627 (date_mod_CFLAGS): Likewise.
11628 (date_mod_LDFLAGS): Likewise.
11629 (datehook_mod_SOURCES): Likewise.
11630 (datehook_mod_CFLAGS): Likewise.
11631 (datehook_mod_LDFLAGS): Likewise.
11632
11633 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11634 and datehook.mod.
11635 (datetime_mod_SOURCES): New macro.
11636 (datetime_mod_CFLAGS): Likewise.
11637 (datetime_mod_LDFLAGS): Likewise.
11638 (date_mod_SOURCES): Likewise.
11639 (date_mod_CFLAGS): Likewise.
11640 (date_mod_LDFLAGS): Likewise.
11641 (datehook_mod_SOURCES): Likewise.
11642 (datehook_mod_CFLAGS): Likewise.
11643 (datehook_mod_LDFLAGS): Likewise.
11644
11645 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11646 and datehook.mod.
11647 (datetime_mod_SOURCES): New macro.
11648 (datetime_mod_CFLAGS): Likewise.
11649 (datetime_mod_LDFLAGS): Likewise.
11650 (date_mod_SOURCES): Likewise.
11651 (date_mod_CFLAGS): Likewise.
11652 (date_mod_LDFLAGS): Likewise.
11653 (datehook_mod_SOURCES): Likewise.
11654 (datehook_mod_CFLAGS): Likewise.
11655 (datehook_mod_LDFLAGS): Likewise.
11656
11657 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11658 and datehook.mod.
11659 (datetime_mod_SOURCES): New macro.
11660 (datetime_mod_CFLAGS): Likewise.
11661 (datetime_mod_LDFLAGS): Likewise.
11662 (date_mod_SOURCES): Likewise.
11663 (date_mod_CFLAGS): Likewise.
11664 (date_mod_LDFLAGS): Likewise.
11665 (datehook_mod_SOURCES): Likewise.
11666 (datehook_mod_CFLAGS): Likewise.
11667 (datehook_mod_LDFLAGS): Likewise.
11668
11669 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
11670
11671 * commands/date.c: New file.
11672
11673 * hook/datehook.c: Likewise.
11674
11675 * include/grub/lib/datetime.h: Likewise.
11676
11677 * include/grub/i386/cmos.h: Likewise.
11678
11679 * lib/datetime.c: Likewise.
11680
11681 * lib/i386/datetime.c: Likewise.
11682
11683 * lib/efi/datetime.c: Likewise.
11684
0e9242da 116852008-08-14 Robert Millan <rmh@aybabtu.com>
11686
11687 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
11688 (grub_mkelfimage_SOURCES): New variable.
11689 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
11690
11691 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
11692 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
11693 * conf/powerpc-ieee1275.rmk: Likewise.
11694 * conf/i386-ieee1275.rmk: Likewise.
11695
11696 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
11697 * kern/i386/coreboot/init.c: Likewise.
11698
11699 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
11700 with `<grub/cpu/kernel.h>'.
11701 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
11702 to ...
11703 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
11704 * kern/i386/coreboot/startup.S: Likewise.
11705
11706 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
11707 (GRUB_MOD_GAP): Remove.
11708 * include/grub/powerpc/kernel.h: New file.
11709 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
11710 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11711 * include/grub/i386/kernel.h: New file.
11712 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
11713 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
11714 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11715
11716 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11717 `grub-mkelfimage'.
11718 Use --directory when invoking grub_mkimage.
11719
11720 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11721 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11722 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11723 and GRUB_KERNEL_CPU_PREFIX.
11724
b86408f8 117252008-08-14 Felix Zielcke <fzielcke@z-51.de>
11726
d5e619ca 11727 * include/grub/err.h (grub_err_printf): New function prototype.
11728 * util/misc.c (grub_err_printf): New function.
11729 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11730 grub_printf.
11731 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11732
7161f0e0 117332008-08-13 Robert Millan <rmh@aybabtu.com>
11734
11735 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11736
a1967522 117372008-08-13 Robert Millan <rmh@aybabtu.com>
11738
11739 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11740 boot entry.
11741
371458b5 117422008-08-12 Robert Millan <rmh@aybabtu.com>
11743
11744 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11745 of the relocation code from here ...
11746 (grub_multiboot): ... to here.
11747 (forward_relocator, backward_relocator): Move from here ...
11748 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11749 (grub_multiboot_backward_relocator): ... to here.
11750 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11751 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11752 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11753 (grub_multiboot_forward_relocator_end)
11754 (grub_multiboot_backward_relocator)
11755 (grub_multiboot_backward_relocator_end): New variables.
11756
05f9452b 117572008-08-12 Bean <bean123ch@gmail.com>
11758
11759 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11760
20024ab0 117612008-08-11 Robert Millan <rmh@aybabtu.com>
11762
11763 * kern/i386/linuxbios/startup.S: Move from here ...
11764 * kern/i386/coreboot/startup.S: ... to here.
11765
11766 * kern/i386/linuxbios/init.c: Move from here ...
11767 * kern/i386/coreboot/init.c: ... to here.
11768
11769 * kern/i386/linuxbios/table.c: Move from here ...
11770 * kern/i386/coreboot/mmap.c: ... to here.
11771
11772 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11773
e352e9cd 117742008-08-11 Robert Millan <rmh@aybabtu.com>
11775
11776 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11777 errors. Leave it to the upper layer to handle them.
11778
2d05bc6a 117792008-08-09 Christian Franke <franke@computer.org>
11780
11781 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11782 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11783 Install `grub.d/10_windows' only on Cygwin.
11784 * configure.ac: Add subst of `target_os'.
11785 Check `target_os' also before setting TARGET_OBJ2ELF.
11786 Add `--enable-grub-pe2elf'.
11787
042bd419 117882008-08-08 Robert Millan <rmh@aybabtu.com>
11789
11790 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11791 (grub_last_time): Change type to grub_uint64_t.
11792 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11793 (grub_disk_close): Likewise.
11794
11795 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11796 (run_menu): Migrate code from to using grub_get_time_ms().
11797
11798 * util/misc.c (grub_get_time_ms): New function.
11799
7f280db5 118002008-08-08 Marco Gerards <marco@gnu.org>
11801
11802 * disk/ata.c (grub_ata_regget): Change return type to
11803 `grub_uint8_t'.
11804 (grub_ata_regget2): Likewise.
11805 (grub_ata_wait_status): New function.
11806 (grub_ata_wait_busy): Removed function, updated all users to use
11807 `grub_ata_wait_status'.
11808 (grub_ata_wait_drq): Likewise.
11809 (grub_ata_cmd): New function.
11810 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
11811 error handling.
11812 (grub_ata_pio_write): Add error handling.
11813 (grub_atapi_identify): Likewise.
11814 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
11815 handling.
11816 (grub_ata_identify): Use `grub_ata_cmd' and improve error
11817 handling. Actually use the detected registers. Reorder the
11818 detection logic such that it is easier to read.
11819 (grub_ata_pciinit): Do not assign the same ID to each controller.
11820 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
11821 handling.
11822 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
11823
11824 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
11825
1fbc5e66 118262008-08-08 Marco Gerards <marco@gnu.org>
11827
11828 * NEWS: Update.
11829
819ce6c0 118302008-08-07 Bean <bean123ch@gmail.com>
11831
11832 * include/grub/x86_64/pci.h: New file.
11833
5c41d44d 118342008-08-07 Christian Franke <franke@computer.org>
11835
11836 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
11837 (TIMER2_GATE): Likewise.
11838 (grub_pit_wait): Add enable/disable of the timer2 gate
11839 bit of port 0x61. This fixes a possible infinite loop.
11840
5ebc275d 118412008-08-07 Bean <bean123ch@gmail.com>
11842
11843 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
11844 kern/i386/tsc.c and kern/i386/pit.c.
11845
11846 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
11847 x86_64 platform.
11848
11849 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
11850 <grub/i386/tsc.h>.
11851
11852 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
11853
e383b3d0 118542008-08-07 Bean <bean123ch@gmail.com>
11855
11856 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
11857
11858 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
11859
11860 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
11861 multiple inclusion. Add #include <grub/types.h>.
11862
1cbb58ac 118632008-08-06 Christian Franke <franke@computer.org>
11864
11865 * conf/common.rmk: Build and install `10_windows'.
11866 * util/grub.d/10_windows.in: New script.
11867
337f5a1e 118682008-08-06 Pavel Roskin <proski@gnu.org>
11869
11870 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
11871
057bc4ac 118722008-08-06 Robert Millan <rmh@aybabtu.com>
11873
11874 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
11875 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
11876
2b99f123 118772008-08-06 Bean <bean123ch@gmail.com>
11878
11879 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
11880 (grub_pxefs_fs_int): Remove dummy definition.
11881 (grub_pxefs_open): Use data->block_size to store the current block
11882 size setting.
11883 (grub_pxefs_read): Use block size stored in data->block_size. As the
11884 value of grub_pxe_blksize can be changed after the file is opened.
11885
9f0234cb 118862008-08-06 Bean <bean123ch@gmail.com>
11887
11888 * fs/i386/pc/pxe.c (curr_file): new variable.
11889 (grub_pxefs_open): Simply the handling of pxe file system. Don't
11890 require the dummy internal file system anymore.
11891 (grub_pxefs_read): Removed.
11892 (grub_pxefs_close): Likewise.
11893 (grub_pxefs_fs_int): Likewise.
11894 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
11895 connection when we switch file.
11896 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
11897
a55d42e0 118982008-08-06 Robert Millan <rmh@aybabtu.com>
11899
11900 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
11901 `halt.mod'.
11902 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
11903 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
11904
11905 * kern/i386/halt.c: New file.
11906 * kern/i386/reboot.c: Likewise.
11907 * include/grub/i386/reboot.h: Likewise.
11908 * include/grub/i386/halt.h: Likewise.
11909
11910 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
11911 Include `<grub/cpu/halt.h>'.
11912 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
11913 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
11914
11915 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
11916 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
11917 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
11918 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
11919 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
11920 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
11921 from here ...
11922 * include/grub/i386/at_keyboard.h: ... to here.
11923
24371d26 119242008-08-05 Robert Millan <rmh@aybabtu.com>
11925
11926 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
11927 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
11928 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
11929 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11930 `kern/generic/millisleep.c'.
11931
11932 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
11933 instead of grub_get_rtc().
11934 (grub_tsc_init): Initialize `tsc_boot_time'.
11935
11936 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
11937 (grub_machine_init): Use grub_tsc_init() rather than
11938 installing an RTC-based handler via grub_install_get_time_ms().
11939
11940 * kern/i386/pit.c: New file.
11941 * include/grub/i386/pit.h: Likewise.
11942
9e7007b3 119432008-08-05 Bean <bean123ch@gmail.com>
11944
11945 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
11946
11947 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
11948 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
11949 (pxe_mod_SOURCES): New macro.
11950 (pxe_mod_CFLAGS): Likewise.
11951 (pxe_mod_LDFLAGS): Likewise.
11952 (pxecmd_mod_SOURCES): Likewise.
11953 (pxecmd_mod_CFLAGS): Likewise.
11954 (pxecmd_mod_LDFLAGS): Likewise.
11955
11956 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
11957 (grub_pxe_call): Likewise.
11958
11959 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
11960
11961 * commands/i386/pc/pxecmd.c: New file.
11962
9f0234cb 11963 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 11964
11965 * include/grub/i386/pc/pxe.h: Likewise.
11966
6977d49f 119672008-08-05 Bean <bean123ch@gmail.com>
11968
11969 * util/console.c (grub_console_cur_color): New variable.
11970 (grub_console_standard_color): Likewise.
11971 (grub_console_normal_color): Likewise.
11972 (grub_console_highlight_color): Likewise.
11973 (color_map): Likewise.
11974 (use_color): Likewise.
11975 (NUM_COLORS): New macro.
11976 (grub_ncurses_setcolorstate): Handle color properly.
11977 (grub_ncurses_setcolor): Don't change color here, just remember the
11978 settings, color will be set in grub_ncurses_setcolorstate.
11979 (grub_ncurses_getcolor): New function.
11980 (grub_ncurses_init): Initialize color pairs.
11981 (grub_ncurses_term): New member grub_ncurses_getcolor.
11982
9c2ff3ee 119832008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 11984
9c2ff3ee 11985 High resolution timer support. Implemented for x86 CPUs using TSC.
11986 Extracted generic grub_millisleep() so it's linked in only as needed.
11987 This requires a Pentium compatible CPU; if the RDTSC instruction is
11988 not supported, then it falls back on the generic grub_get_time_ms()
11989 implementation that uses the machine's RTC.
11990
11991 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
11992 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
11993 `kern/generic/millisleep.c'.
11994
11995 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
11996 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
11997
11998 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
11999 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12000
12001 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12002
12003 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12004 `kern/generic/millisleep.c'.
12005
12006 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12007
12008 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12009
12010 * kern/generic/rtc_get_time_ms.c: New file.
12011
12012 * kern/generic/millisleep.c: New file.
337f5a1e 12013
9c2ff3ee 12014 * kern/misc.c: Don't include
12015 <kern/time.h> anymore.
12016 (grub_millisleep_generic): Removed.
12017
12018 * commands/sleep.c (grub_interruptible_millisleep): Uses
12019 grub_get_time_ms() instead of grub_get_rtc().
12020
12021 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12022 function.
12023 (grub_cpu_is_cpuid_supported): New inline function.
12024 (grub_cpu_is_tsc_supported): New inline function.
12025 (grub_tsc_init): New function prototype.
12026 (grub_tsc_get_time_ms): New function prototype.
12027
12028 * kern/i386/tsc.c (grub_get_time_ms): New file.
12029
12030 * include/grub/time.h: Include <grub/types.h.
12031 (grub_millisleep_generic): Removed.
12032 (grub_get_time_ms): New prototype.
12033 (grub_install_get_time_ms): New prototype.
12034 (grub_rtc_get_time_ms): New prototype.
12035
12036 * kern/time.c (grub_get_time_ms): New function.
12037 (grub_install_get_time_ms): New function.
12038
12039 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12040 <grub/time.h> anymore.
12041 (grub_millisleep): Removed.
12042 (grub_machine_init): Call grub_tsc_init.
12043
12044 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12045 get_time_ms() implementation.
12046
12047 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12048 (ieee1275_get_time_ms): New function.
12049 (grub_machine_init): Install get_time_ms() implementation.
12050
12051 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12052 (grub_machine_init): Call grub_tsc_init().
12053 (grub_millisleep): Removed.
bf06a93f 12054
9c2ff3ee 12055 * kern/ieee1275/init.c (grub_millisleep): Removed.
12056 (grub_machine_init): Install ieee1275_get_time_ms()
12057 implementation.
12058 (ieee1275_get_time_ms): New function.
12059 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12060 real work.
12061
9ec92aaf 120622008-08-05 Marco Gerards <marco@gnu.org>
12063
12064 * disk/ata.c: Include <grub/pci.h>.
12065 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12066 (grub_ata_initialize): Rewritten.
12067 (grub_ata_device_initialize): New function.
12068
8d23f507 120692008-08-04 Pavel Roskin <proski@gnu.org>
12070
12071 * kern/main.c: Include grub/mm.h.
12072
5e15ee3d 120732008-08-04 Robert Millan <rmh@aybabtu.com>
12074
12075 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12076 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12077 corruption problem).
12078
a9053f8f 120792008-08-04 Robert Millan <rmh@aybabtu.com>
12080
12081 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12082 warnings introduced in my last commit.
12083
dd19c7d7 120842008-08-03 Robert Millan <rmh@aybabtu.com>
12085
12086 Make PCI available on all i386 architectures.
12087
12088 * include/grub/i386/pc/pci.h: Move from here ...
12089 * include/grub/i386/pci.h: ... to here.
12090
12091 * include/grub/i386/pc/pci.h: Remove.
12092 * include/grub/i386/efi/pci.h: Remove.
12093 * include/grub/x86_64/efi/pci.h: Remove.
12094
12095 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12096 `<grub/cpu/pci.h>'.
12097
12098 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12099 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12100 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12101
12102 * conf/i386-ieee1275.rmk: Likewise.
12103
e14a6184 121042008-08-03 Robert Millan <rmh@aybabtu.com>
12105
12106 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12107 (grub_console_setcursor): Make it possible to set cursor off.
12108
52768e37 121092008-08-03 Robert Millan <rmh@aybabtu.com>
12110
12111 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12112 of modules instead of assuming which platform provides what.
12113 * util/update-grub.in: Likewise.
12114
2d52f57f 121152008-08-03 Robert Millan <rmh@aybabtu.com>
12116
12117 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12118 instead of `grub_install_dos_part' to determine whether a drive needs
12119 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12120 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12121
2a5cd121 121222008-08-02 Robert Millan <rmh@aybabtu.com>
12123
12124 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12125
93808428 121262008-08-02 Robert Millan <rmh@aybabtu.com>
12127
12128 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12129 of informational grub_dprintf() calls.
12130
3bd0a12a 121312008-08-02 Robert Millan <rmh@aybabtu.com>
12132
12133 * disk/memdisk.c (memdisk_size): Don't initialize.
12134 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12135
12136 * include/grub/i386/pc/kernel.h
12137 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12138 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12139 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12140 (grub_arch_memdisk_size): Remove.
12141
12142 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12143 field (was only used to transfer a constant). Add `type' field to
12144 support multiple module types.
12145 (grub_module_iterate): New function.
12146
12147 * kern/device.c (grub_device_open): Do not hide error messages
12148 when grub_disk_open() fails. Use grub_print_error() instead.
12149
12150 * kern/i386/pc/init.c (grub_arch_modules_addr)
12151 (grub_arch_memdisk_size): Remove functions.
12152 (grub_arch_modules_addr): Return the module address in high memory
12153 (now that it isn't copied anymore).
12154
12155 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12156 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12157 decompression routine (grub_total_module_size already includes that
12158 now). Don't copy modules back to low memory.
12159
12160 * kern/main.c: Include `<grub/mm.h>'.
12161 (grub_load_modules): Split out (and use) ...
12162 (grub_module_iterate): ... this function, which iterates through
12163 module objects and runs a hook.
12164 Comment out grub_mm_init_region() call, as it would cause non-ELF
12165 modules to be overwritten.
12166
12167 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12168 the memdisk image in its own region, make it part of the module list.
12169 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12170 (main): Parse --memdisk|-m option, and pass user-provided path as
12171 parameter to generate_image().
12172 (add_segments): Pass `memdisk_path' down to load_modules().
12173 (load_modules): Embed memdisk image in module section when requested.
12174 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12175 `header.type' instead of `header.offset'.
12176
12177 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12178 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12179 (memdisk_mod_LDFLAGS): New variables.
12180 * conf/i386-coreboot.rmk: Likewise.
12181 * conf/i386-ieee1275.rmk: Likewise.
12182
a927cc73 121832008-08-02 Robert Millan <rmh@aybabtu.com>
12184
12185 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12186 (backward_relocator): New variables. Used to allocate and relocate
12187 the payload, respectively.
12188 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12189 address, install the appropriate relocator code in each bound of
a927cc73 12190 the payload, and set the entry point such that
12191 grub_multiboot_real_boot() will jump to one of them.
12192
12193 * kern/i386/loader.S (grub_multiboot_payload_size)
12194 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12195 (grub_multiboot_payload_entry_offset): New variables.
12196 (grub_multiboot_real_boot): Set cpu context to what the relocator
12197 expects, and jump to the relocator instead of the payload.
12198
12199 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12200 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12201 (grub_multiboot_payload_entry_offset): Export.
12202
b15d8a0c 122032008-08-01 Bean <bean123ch@gmail.com>
12204
12205 * normal/menu_entry.c (editor_getline): Don't return the original
12206 string as result, as it will be released by lexer once it has done
12207 using it.
12208
cdfb3d22 122092008-08-01 Robert Millan <rmh@aybabtu.com>
12210
12211 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12212 within menuentries, not before them.
12213 util/grub.d/10_hurd.in: Likewise.
12214
9175e93d 122152008-08-01 Bean <bean123ch@gmail.com>
12216
12217 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12218 (bufio_mod_SOURCES): New macro.
12219 (bufio_mod_CFLAGS): Likewise.
12220 (bufio_mod_LDFLAGS): Likewise.
12221
12222 * include/grub/bufio.h: New file.
12223
12224 * io/bufio.c: Likewise.
12225
12226 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12227 (grub_video_reader_png): Use grub_buffile_open to open file.
12228
12229 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12230 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12231
12232 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12233 (grub_video_reader_tga): Use grub_buffile_open to open file.
12234
12235 * font/manager.c: Include <grub/bufio.h>.
12236 (add_font): Use grub_buffile_open to open file.
12237
3d8383e7 122382008-07-31 Robert Millan <rmh@aybabtu.com>
12239
12240 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12241 ELF segments, use a macro for arbitrarily accessing any of them instead
12242 of preparing a pointer that allows access to one at a time.
12243 (grub_multiboot_load_elf64): Likewise.
12244
16e641b6 122452008-07-31 Bean <bean123ch@gmail.com>
12246
12247 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12248 GRUB_KERNEL_MACHINE_DATA_END.
12249
59198b72 122502008-07-30 Robert Millan <rmh@aybabtu.com>
12251
12252 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12253 Increase from 0x50 to 0x60.
12254 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12255 use UUIDs to identify the root drive for them. If that's not
12256 possible, abort.
12257 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12258 check, for cross-disk installs.
12259
ae88bca3 122602008-07-30 Robert Millan <rmh@aybabtu.com>
12261
12262 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12263 is non-empty, use it to set the `prefix' environment variable instead
12264 of the usual approach.
12265 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12266 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12267 environment variable instead of dummy make_install_device().
12268
12269 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12270 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12271 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12272
12273 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12274 New variable reference.
12275 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12276 New macro. Defines offset of `grub_prefix' within startup.S (relative
12277 to `start').
12278 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12279 section within startup.S (relative to `start').
12280 * include/grub/i386/coreboot/kernel.h: Likewise.
12281
12282 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12283 Overwrite grub_prefix with its contents, at the beginning of the
12284 first segment.
12285 (main): Understand -p|--prefix.
12286
14f41dd1 122872008-07-30 Robert Millan <rmh@aybabtu.com>
12288
12289 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12290
4ca049a3 122912008-07-30 Robert Millan <rmh@aybabtu.com>
12292
12293 * term/i386/pc/vga_text.c (grub_console_cls): Use
12294 grub_console_gotoxy() to go back to beginning of the screen.
12295 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12296
2921d337 122972008-07-29 Christian Franke <franke@computer.org>
12298
12299 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12300 Add conversion of emulated mount points on Cygwin.
12301
b609876d 123022008-07-29 Christian Franke <franke@computer.org>
12303
12304 * util/update-grub.in: Add a check for admin
12305 group on Cygwin.
12306 Remove old `grub.cfg.new' before creation.
12307 Add `-f' to `mv' to handle the different filesystem
12308 semantics of Windows.
12309
e93e4679 123102008-07-29 Bean <bean123ch@gmail.com>
12311
12312 * normal/main.c (get_line): Fix buffer overflow bug.
12313
41694fd0 123142008-07-28 Robert Millan <rmh@aybabtu.com>
12315
12316 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12317 (struct grub_apple_header): New struct. Describes the layout of
12318 the partmap header.
12319 (apple_partition_map_iterate): Check the header magic as well as the
12320 partition magic (which was already being checked).
12321
cfd0b4e6 123222008-07-28 Pavel Roskin <proski@gnu.org>
12323
12324 * genmk.rb: Add a warning to the beginning of the output that
12325 it's a generated file and should not be edited.
12326
93cce016 123272008-07-28 Robert Millan <rmh@aybabtu.com>
12328
12329 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12330 with the same number are found, just use issue a warning with
12331 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12332
cd1df915 123332008-07-27 Robert Millan <rmh@aybabtu.com>
12334
12335 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12336 information.
12337
b70a8427 123382008-07-27 Bean <bean123ch@gmail.com>
12339
12340 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
12341 (grub_fat_find_dir): Ignore case when comparing filename.
12342
8f5e379f 123432008-07-27 Bean <bean123ch@gmail.com>
12344
12345 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
12346 smallino, as it's more descriptive, and i8count can be confused with
12347 the other field count.
12348 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
12349 inode type.
12350
a85cd5a0 123512008-07-27 Bean <bean123ch@gmail.com>
12352
12353 * commands/crc.c: New file.
12354
12355 * lib/crc.c: Likewise.
12356
12357 * include/grub/lib/crc.h: Likewise.
12358
12359 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
12360
12361 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
12362 (hexdump): Move this function to ...
12363
12364 * lib/hexdump.c: ... here.
12365
12366 * include/grub/hexdump.h: Renamed to ...
12367
12368 * include/grub/lib/hexdump.h: ... this.
12369
12370 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
12371
12372 * util/grub-editenv.c: Likewise.
12373
12374 * include/envblk.h: Renamed to ...
12375
12376 * include/lib/envblk.h: ... this.
12377
12378 * util/envblk.c: Renamed to ...
12379
12380 * lib/envblk.c: ... this.
12381
12382 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
12383 lib/hexdump.c.
12384 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
12385 (pkglib_MODULES): Add crc.mod.
12386 (hexdump_mod_SOURCES): Add lib/hexdump.c.
12387 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
12388 (crc_mod_SOURCES): New macro.
12389 (crc_mod_CFLAGS): Likewise.
12390 (crc_mod_LDFLAGS): Likewise.
12391
12392 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
12393
12394 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12395
12396 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12397
12398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12399
12400 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12401
c298def0 124022008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 12403
12404 * commands/help.c: Include <grub/term.h>.
12405 (TERM_WIDTH): Removed. Updated all users.
12406
cc349fb3 124072008-07-27 Pavel Roskin <proski@gnu.org>
12408
12409 * util/getroot.c (find_root_device): Rephrase a comment to avoid
12410 spurious warnings about a comment within a comment.
12411
9051607e 124122008-07-25 Robert Millan <rmh@aybabtu.com>
12413
12414 * util/getroot.c (find_root_device): Skip devices that match
12415 /dev/dm-[0-9]. This lets the real device be found for any type of
12416 abstraction (LVM, EVMS, RAID..).
12417 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
12418 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
12419 device is found first, find_root_device() will now skip it.
12420
01453bfc 124212008-07-24 Pavel Roskin <proski@gnu.org>
12422
12423 * include/grub/types.h: Use __builtin_bswap32() and
12424 __builtin_bswap64() with gcc 4.3 and newer.
12425
6af9849f 124262008-07-24 Christian Franke <franke@computer.org>
12427
3a0fa256 12428 * util/i386/pc/grub-install.in: If `--debug' is specified,
12429 pass `--verbose' to grub-setup.
12430 Abort script if make_system_path_relative_to_its_root() fails.
12431
7810e747 124322008-07-24 Bean <bean123ch@gmail.com>
12433
12434 * configure.ac: Fixed a bug caused by the previous cygwin patch,
12435 variable `target_platform' should be `platform'.
12436
42290e17 124372008-07-24 Bean <bean123ch@gmail.com>
12438
51cc5193 12439 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 12440 (grub_png_init_fixed_block): New function.
12441 (grub_png_decode_image_data): Handle fixed huffman code compression.
12442
2a8a80e4 124432008-07-24 Bean <bean123ch@gmail.com>
12444
12445 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
12446 (grub_pe2elf_SOURCES): New macro.
12447 (CLEANFILES): Add grub-pe2elf.
12448
12449 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
12450 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
12451 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
12452 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
12453 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
12454 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
12455 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
12456 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
12457 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
12458 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
12459 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
12460 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
12461 (GRUB_PE32_DT_FUNCTION): Likewise.
12462 (GRUB_PE32_REL_I386_DIR32): Likewise.
12463 (GRUB_PE32_REL_I386_REL32): Likewise.
12464 (grub_pe32_symbol): New structure.
12465 (grub_pe32_reloc): Likewise.
12466
12467 * util/grub-pe2elf.c: New file.
12468
12469 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
12470 start symbol in non pc platform.
12471
12472 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
12473
12474 The following patches are from Christian Franke.
12475
12476 * include/grub/dl.h: Remove .previous, gas supports this only
12477 for ELF format.
12478
12479 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
12480 Remove .type, gas supports this only for ELF format.
12481
12482 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
12483 nullbytes in symbol table. This fixes an infinite loop if table is
12484 zero filled.
12485
12486 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
12487 TARGET_IMG_LDFLAGS and EXEEXT.
12488
12489 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
12490 TARGET_IMG_LDFLAGS_AC.
12491 (grub_CHECK_STACK_ARG_PROBE): New function.
12492
12493 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
12494
12495 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
12496
12497 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
12498 to set TARGET_IMG_LD* accordingly.
12499 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
12500 Add call to grub_CHECK_STACK_ARG_PROBE.
12501 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
12502
12503 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
12504
12505 * genmk.rb: Add EXEEXT to CLEANFILES.
12506
12ccdb75 125072008-07-23 Robert Millan <rmh@aybabtu.com>
12508
12509 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
12510 define the codes for arrows and lines used for the menu).
12511 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
12512 as well.
12513
12514 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
12515 fonts, because the latter are too slow.
12516
18eeaf04 125172008-07-21 Bean <bean123ch@gmail.com>
12518
12519 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
12520 a20. Run keyboard test last, as it will cause macbook to halt.
12521
b095e2ad 125222008-07-18 Pavel Roskin <proski@gnu.org>
12523
12524 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
12525 load foreign architecture modules correctly anyway. Keep
12526 support for loading host architecture modules, whether we
12527 compile them or not.
12528
737feb35 125292008-07-17 Pavel Roskin <proski@gnu.org>
12530
3f4ce737 12531 * configure.ac: Use -m32 or -m64 regardless of whether we had to
12532 change target_cpu. The compiler default can mismatch target_cpu
12533 in any case.
12534
4ad2d049 12535 * disk/efi/efidisk.c: Fix format warnings on x86_64.
12536 * kern/efi/efi.c: Likewise.
12537
f6130a12 12538 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
12539 target compiler is functional.
12540 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
12541 are set up.
12542
58393a2d 12543 * configure.ac: Default to efi platform for x86_64-apple. Allow
12544 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
12545 adjustments from the rest, only do them if target is not
12546 explicitly given. Merge other adjustments with the final sanity
12547 check. Remove an extraneous check for supported CPU. Be
12548 specific which CPU and which platform is not supported.
12549
737feb35 12550 * configure.ac: Default to pc platform for x86_64.
12551
546f966a 125522008-07-17 Robert Millan <rmh@aybabtu.com>
12553
12554 Partial LinuxBIOS -> Coreboot rename.
12555
12556 * conf/i386-linuxbios.rmk: Renamed to ...
12557 * conf/i386-coreboot.rmk: ... this.
12558 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
12559 * configure.ac: Accept "coreboot" as input platform (but maintain
12560 compatibility with "linuxbios").
12561 * include/grub/i386/linuxbios: Renamed to ...
12562 * include/grub/i386/coreboot: ... this.
12563
20011694 125642008-07-17 Bean <bean123ch@gmail.com>
12565
12566 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 12567 (appleldr_mod_SOURCE): New variable.
20011694 12568 (appleldr_mod_CFLAGS): Likewise.
12569 (appleldr_mod_LDFLAGS): Likewise.
12570 (pci_mod_SOURCES): Likewise.
12571 (pci_mod_CFLAGS): Likewise.
12572 (pci_mod_LDFLAGS): Likewise.
12573 (lspci_mod_SOURCES): Likewise.
12574 (lspci_mod_CFLAGS): Likewise.
12575 (lspci_mod_LDFLAGS): Likewise.
12576
12577 * conf/x86_64-efi.rmk: New file.
12578
12579 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
12580 macro.
12581 (grub_efidisk_write): Likewise.
12582
12583 * include/efi/api.h (efi_call_0): New macro.
12584 (efi_call_1): Likewise.
12585 (efi_call_2): Likewise.
12586 (efi_call_3): Likewise.
12587 (efi_call_4): Likewise.
12588 (efi_call_5): Likewise.
12589 (efi_call_6): Likewise.
12590
12591 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
12592 grub_rescue_cmd_chainloader.
12593
12594 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
12595 (grub_pe32_optional_header): Change some fields based on i386 or
12596 x86_64 platform.
12597 (GRUB_PE32_PE32_MAGIC): Likewise.
12598
12599 * include/grub/efi/uga_draw.h: New file.
12600
12601 * include/grub/elf.h (STN_ABS): New constant.
12602 (R_X86_64_NONE): Relocation constant for x86_64.
12603 (R_X86_64_64): Likewise.
12604 (R_X86_64_PC32): Likewise.
12605 (R_X86_64_GOT32): Likewise.
12606 (R_X86_64_PLT32): Likewise.
12607 (R_X86_64_COPY): Likewise.
12608 (R_X86_64_GLOB_DAT): Likewise.
12609 (R_X86_64_JUMP_SLOT): Likewise.
12610 (R_X86_64_RELATIVE): Likewise.
12611 (R_X86_64_GOTPCREL): Likewise.
12612 (R_X86_64_32): Likewise.
12613 (R_X86_64_32S): Likewise.
12614 (R_X86_64_16): Likewise.
12615 (R_X86_64_PC16): Likewise.
12616 (R_X86_64_8): Likewise.
12617 (R_X86_64_PC8): Likewise.
12618
12619 * include/grub/i386/efi/pci.h: New file.
12620
12621 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
12622 Change it value based on platform.
12623 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
12624 (GRUB_E820_RAM): Likewise.
12625 (GRUB_E820_RESERVED): Likewise.
12626 (GRUB_E820_ACPI): Likewise.
12627 (GRUB_E820_NVS): Likewise.
12628 (GRUB_E820_EXEC_CODE): Likewise.
12629 (GRUB_E820_MAX_ENTRY): Likewise.
12630 (grub_e820_mmap): New structure.
12631 (linux_kernel_header): Change the efi field according to different
12632 kernel version, also field from linux_kernel_header.
12633
12634 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
12635
12636 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
12637 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
12638 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
12639 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
12640 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
12641 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
12642 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
12643 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
12644 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
12645 (GRUB_PCI_ADDR_IO_MASK): Likewise.
12646
12647 * include/grub/x86_64/efi/kernel.h: New file.
12648
12649 * include/grub/x86_64/efi/loader.h: Likewise.
12650
12651 * include/grub/x86_64/efi/machine.h: Likewise.
12652
12653 * include/grub/x86_64/efi/pci.h: Likewise.
12654
12655 * include/grub/x86_64/efi/time.h: Likewise.
12656
12657 * include/grub/x86_64/linux.h: Likewise.
12658
12659 * include/grub/x86_64/setjmp.h: Likewise.
12660
12661 * include/grub/x86_64/time.h: Likewise.
12662
12663 * include/grub/x86_64/types.h: Likewise.
12664
12665 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
12666 GRUB_TARGET_SIZEOF_VOID_P.
12667
12668 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
12669 (grub_efi_locate_handle): Likewise.
12670 (grub_efi_open_protocol): Likewise.
12671 (grub_efi_set_text_mode): Likewise.
12672 (grub_efi_stall): Likewise.
12673 (grub_exit): Likewise.
12674 (grub_reboot): Likewise.
12675 (grub_halt): Likewise.
12676 (grub_efi_exit_boot_services): Likewise.
12677 (grub_get_rtc): Likewise.
12678
12679 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
12680 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
12681 (grub_efi_allocate_pages): Wrap efi calls.
12682 (grub_efi_free_pages): Wrap efi calls.
12683 (grub_efi_get_memory_map): Wrap efi calls.
12684
12685 * kern/x86_64/dl.c: New file.
12686
12687 * kern/x86_64/efi/callwrap.S: Likewise.
12688
12689 * kern/x86_64/efi/startup.S: Likewise.
12690
12691 * loader/efi/appleloader.c: Likewise.
12692
12693 * loader/efi/chainloader.c (cmdline): New variable.
12694 (grub_chainloader_unload): Wrap efi calls.
12695 (grub_chainloader_boot): Likewise.
12696 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
12697 command line.
12698
12699 * loader/efi/chainloader_normal.c (chainloader_command):
12700 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
12701 command line.
12702
12703 * loader/i386/efi/linux.c (allocate_pages): Change allocation
12704 method.
12705 (grub_e820_add_region): New function.
12706 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
12707 booting.
12708 (grub_find_video_card): New function.
12709 (grub_linux_setup_video): New function.
12710 (grub_rescue_cmd_linux): Probe for video information.
12711
12712 * normal/x86_64/setjmp.S: New file.
12713
12714 * term/efi/console.c (map_char): New function.
12715 (grub_console_putchar): Map unicode char.
12716 (grub_console_checkkey): Wrap efi calls.
12717 (grub_console_getkey): Likewise.
12718 (grub_console_getwh): Likewise.
12719 (grub_console_gotoxy): Likewise.
12720 (grub_console_cls): Likewise.
12721 (grub_console_setcolorstate): Likewise.
12722 (grub_console_setcursor): Likewise.
12723
12724 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12725
59652a20 127262008-07-16 Pavel Roskin <proski@gnu.org>
12727
ef294055 12728 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12729 format strings.
12730
59652a20 12731 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12732 pointer, not an integer. This fixes a warning and prevents
12733 precision loss on 64-bit systems.
12734 (relocate_addresses): Remove unneeded cast.
12735
afc3b5d7 127362008-07-15 Pavel Roskin <proski@gnu.org>
12737
506b2b3e 12738 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12739
62ead89c 12740 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12741
c4cd51d7 12742 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12743 Fix comparison between signed and unsigned.
12744
0d3d8f28 12745 * include/grub/i386/ieee1275/console.h: Declare
12746 grub_console_init() and grub_console_fini().
12747
8804b286 12748 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12749 It's empty and unused.
12750
ee01cf35 12751 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12752 beginning to avoid warnings with some compilers.
12753
afc3b5d7 12754 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12755 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12756
e4e8eaa5 127572008-07-14 Pavel Roskin <proski@gnu.org>
12758
407aceb4 12759 * kern/env.c (grub_register_variable_hook): Don't copy empty
12760 string, it leaks memory. Pass "" to grub_env_set(), it should
12761 handle constant strings.
12762
e4e8eaa5 12763 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12764 * commands/cmp.c (grub_cmd_cmp): Likewise.
12765 * kern/dl.c (grub_dl_flush_cache): Likewise.
12766 (grub_dl_load_core): Likewise.
12767 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12768 (grub_elf64_load_phdrs): Likewise.
12769
d4e2dad3 127702008-07-13 Pavel Roskin <proski@gnu.org>
12771
12772 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12773 between signed and unsigned.
12774 (LzmaEnc_Finish): Fix warning about an unused parameter.
12775
aa24b516 127762008-07-13 Bean <bean123ch@gmail.com>
12777
12778 * Makefile.in (enable_lzo): New rule.
12779
12780 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12781
12782 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12783
12784 * boot/i386/pc/lnxboot.S: #include <config.h>.
12785
12786 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12787 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12788
12789 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12790 compression algorithm according to configure macro.
12791
12792 * kern/i386/pc/startup.S (codestart): Likewise.
12793
12794 * kern/i386/pc/lzma_decode.S: New file.
12795
12796 * include/grub/lib/LzFind.h: Likewise.
12797
12798 * include/grub/lib/LzHash.h: Likewise.
12799
12800 * include/grub/lib/LzmaDec.h: Likewise.
12801
12802 * include/grub/lib/LzmaEnc.h: Likewise.
12803
12804 * include/grub/lib/LzmaTypes.h: Likewise.
12805
12806 * lib/LzFind.c: Likewise.
12807
12808 * lib/LzmaDec.c: Likewise.
12809
12810 * lib/LzmaEnc.c: Likewise.
12811
4ae821ac 128122008-07-13 Bean <bean123ch@gmail.com>
12813
12814 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
12815 (grub_ext4_extent_header): New structure.
12816 (grub_ext4_extent): Likewise.
12817 (grub_ext4_extent_idx): Likewise.
12818 (grub_ext4_find_leaf): New function.
12819 (grub_ext2_read_block): Handle extents.
12820
9a745147 128212008-07-12 Robert Millan <rmh@aybabtu.com>
12822
12823 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
12824
d49a4cf6 128252008-07-11 Robert Millan <rmh@aybabtu.com>
12826
12827 * util/grub.d/40_custom.in: New file. Example on how to add custom
12828 entries to /etc/grub.d.
12829 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
12830 40_custom (implicitly, by merging all the grub.d rules).
12831
947414b4 128322008-07-11 Pavel Roskin <proski@gnu.org>
12833
0059cf6f 12834 * commands/read.c (grub_getline): Fix invalid memory access.
12835 Don't add newline to the variable value.
12836
947414b4 12837 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
12838 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
12839 (serial_hw_get_port): Check validity of the port number.
12840 (grub_cmd_serial): Check return value of serial_hw_get_port().
12841
62a02d00 128422008-07-07 Pavel Roskin <proski@gnu.org>
12843
12844 * boot/i386/pc/diskboot.S (notification_string): Replace
12845 "Loading kernel" with just "loading". This is shorter, less
12846 confusing and saves a few bytes for possible future changes.
12847
3e5581b0 128482008-07-05 Pavel Roskin <proski@gnu.org>
12849
ea387a48 12850 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
12851 size for ATAPI devices, they are undefined. Output sector
12852 number in decimal form.
12853
3e5581b0 12854 * disk/ata.c: Use named constants for status bits.
12855
fdecb8fd 128562008-07-04 Pavel Roskin <proski@gnu.org>
12857
bcd35b90 12858 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
12859 grub_addr_t before casting it to the void pointer to fix a
12860 warning. Non-addressable regions are discarded earlier.
12861 (grub_arch_modules_addr): Cast _end to grub_addr_t.
12862 * kern/i386/linuxbios/table.c: Include grub/misc.h.
12863 (check_signature): Don't shadow table_header.
12864 (grub_linuxbios_table_iterate): Cast numeric constants to
12865 grub_linuxbios_table_header_t.
12866 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
12867 grub_stop().
12868
af58ab3d 12869 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
12870 prevent warnings.
12871
1759aa57 12872 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
12873 pointer, which can cause warnings. Support 64-bit addresses.
12874
fdecb8fd 12875 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
12876 of sizeof(long). This fixes PowerPC image generation on x86_64.
12877
8516d2a8 128782008-07-04 Robert Millan <rmh@aybabtu.com>
12879
12880 This fixes a performance issue when pc & gpt partmap iterators
12881 didn't abort iteration even after our hook found what it was
fe987087 12882 looking for (often causing expensive probes of non-existent drives).
8516d2a8 12883
12884 Some callers relied on previous buggy behaviour, since they would
34c44600 12885 raise an error when their own hooks caused early abortion of its
8516d2a8 12886 iteration.
12887
12888 * kern/device.c (grub_device_open): Improve error message.
12889 * disk/lvm.c (grub_lvm_open): Likewise.
12890 * disk/raid.c (grub_raid_open): Likewise.
12891
12892 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
12893 when hook requests it, independently of grub_errno.
12894 (pc_partition_map_probe): Do not fail when find_func() caused
12895 early abortion of pc_partition_map_iterate().
12896
12897 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
12898 when hook requests it, independently of grub_errno.
12899 (gpt_partition_map_probe): Do not fail when find_func() caused
12900 early abortion of gpt_partition_map_iterate().
12901
12902 * kern/partition.c (grub_partition_iterate): Abort parent iteration
12903 when hook requests it, independently of grub_errno. Do not fail when
12904 part_map_iterate_hook() caused early abortion of p->iterate().
12905
12906 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
12907 when grub_partition_iterate() returned with non-zero.
12908
277d0de9 129092008-07-03 Pavel Roskin <proski@gnu.org>
12910
12911 * disk/ata.c (grub_ata_pio_write): Check status before writing,
12912 like we do in grub_ata_pio_read().
12913 (grub_ata_readwrite): Always write individual sectors. Fix the
12914 sector count for the remainder.
12915 (grub_ata_write): Enable writing to ATA devices. Correctly
12916 report error for ATAPI devices.
12917
d4c9b428 129182008-07-02 Pavel Roskin <proski@gnu.org>
12919
e43fc690 12920 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
12921 warning.
12922
f707af42 12923 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
12924 for every read sector, we already increment it for the whole
12925 batch. This fixes reading more than 256 sectors at once.
12926
11e16b15 12927 * util/grub-editenv.c (cmd_info): Cast argument to long
12928 explicitly. ptrdiff_t reduces to int on i386.
12929
cbabfdd4 12930 * util/grub-editenv.c (main): Be specific which parameter is
12931 missing.
12932
b8fbce0a 12933 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
12934 (memdisk): Make memdisk_orig_addr a pointer.
12935
c9c8e606 12936 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
12937 for file offsets, use grub_off_t instead. Fix printf format
12938 warnings.
12939
ca62e598 12940 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
12941 there. Real unexpected warnings should not drown in the noise
12942 about known problems.
12943
ce8d1766 12944 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
12945 grub_disk_addr_t for memory addresses.
12946
00c7a56a 12947 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
12948 explicitly to fix a warning.
12949
08d3ef09 12950 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
12951
cb71ba20 12952 * Makefile.in (MODULE_LDFLAGS): New variable.
12953 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
12954 the linker accepts --build-id=none.
12955 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
12956 MODULE_LDFLAGS.
12957 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
12958
d4c9b428 12959 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
12960 those in Linux XFS code. Provide a way to access 64-bit parent
12961 inode.
12962 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
12963 the end of struct grub_xfs_dir_header.
12964
d4156eee 129652008-07-02 Bean <bean123ch@gmail.com>
12966
12967 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
12968 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12969 and GRUB_IEEE1275_FLAG_NO_ANSI.
12970
12971 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
12972 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
12973 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
12974
12975 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
12976 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
12977
12978 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
12979 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
12980
12981 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
12982 esc sequence on non ANSI terminal.
12983 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
12984
12985 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
12986 beginning of file.
12987
2270f77b 129882008-07-02 Bean <bean123ch@gmail.com>
12989
12990 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
12991 (grub_editenv_SOURCES): New variable.
12992 (pkglib_MODULES): Add loadenv.mod.
12993 (loadenv_mod_SOURCES): New variable.
12994 (loadenv_mod_CFLAGS): Likewise.
12995 (loadenv_mod_LDFLAGS): Likewise.
12996
12997 * include/grub/envblk.h: New file.
12998
12999 * util/envblk.c: New file.
13000
13001 * util/grub-editenv.c: New file.
13002
13003 * commands/loadenv.c: New file.
13004
0e9e51ec 130052008-07-01 Pavel Roskin <proski@gnu.org>
13006
d89b7634 13007 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13008 not unsigned char. This fixes warnings and is consistent with
13009 other tags.
13010
bf1835b1 13011 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13012
8222a04b 13013 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13014
6a42d99d 13015 * term/tparm.c (analyze): Always set *popcount.
13016
10b159d1 13017 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13018 cast to fix a warning.
13019
b8789f6c 13020 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13021 cast to suppress a warning.
13022
29d7e38a 13023 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13024 grub_fshelp_read_file() expects.
13025
f341f669 13026 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13027 write uuid as a 32-bit value in CPU byte order, so declare and
13028 use it as such.
13029
0e9e51ec 13030 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13031 long if the format specifier expects it.
13032 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13033 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13034 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13035 long to fix a warning.
13036 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13037 grub_dprintf() arguments to fix warnings.
13038
3aefa857 130392008-06-30 Pavel Roskin <proski@gnu.org>
13040
56c7668b 13041 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13042 install_bsd_part immediately before core.img is embedded or
13043 modified on disk. This fixes core.img verification if core.img
13044 cannot be embedded.
13045
3aefa857 13046 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13047 core_path to calculate the blocklist.
13048 Patch from Javier Martín <lordhabbit@gmail.com>
13049
5444088d 130502008-06-29 Robert Millan <rmh@aybabtu.com>
13051
13052 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13053 block to disk block.
13054 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13055 Patch from Niels Böhm <bitbucket@arcor.de>
13056
674835c8 130572008-06-29 Robert Millan <rmh@aybabtu.com>
13058
13059 * util/update-grub_lib.in (font_path): Search for fonts in
13060 /boot/grub first, which is more likely to be readable (we aren't
13061 deciding where fonts live, just looking for them).
13062
f527dbc8 130632008-06-26 Pavel Roskin <proski@gnu.org>
13064
6c2d8df6 13065 * util/biosdisk.c (read_device_map): Don't leave dead map
13066 entries for devices failing stat() check.
13067
f527dbc8 13068 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13069 core_path_dev for the core.img path on the target device.
13070
aebe3d13 130712008-06-26 Robert Millan <rmh@aybabtu.com>
13072
13073 * disk/fs_uuid.c: New file.
13074 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13075 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13076 (fs_uuid_mod_LDFLAGS): New variables.
13077 * include/grub/disk.h (grub_disk_dev_id): Add
13078 `GRUB_DISK_DEVICE_UUID_ID'.
13079 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13080 implement iterate().
13081
37aaf354 130822008-06-26 Robert Millan <rmh@aybabtu.com>
13083
13084 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13085 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13086 Linux image includes no initrd.
13087
25ff262a 130882008-06-21 Javier Martín <lordhabbit@gmail.com>
13089
13090 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13091 call to resolve the core image location that effectively appended the
13092 name twice.
13093
76a2bd44 130942008-06-21 Robert Millan <rmh@aybabtu.com>
13095
13096 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13097 call from here ...
13098
13099 * util/grub.d/10_hurd.in: ... to here ...
13100 * util/grub.d/10_linux.in: ... and here.
13101
650e1c79 131022008-06-19 Robert Millan <rmh@aybabtu.com>
13103
fe987087 13104 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13105 after it has been set by grub_machine_set_prefix().
13106
6ce63911 131072008-06-19 Robert Millan <rmh@aybabtu.com>
13108
13109 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13110 search result when not saving to variable, not the other way around.
13111 When saving to variable, abort iteration as soon as a match is found.
13112
73940cec 131132008-06-19 Robert Millan <rmh@aybabtu.com>
13114
13115 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13116 check for partition that provides /boot/grub. Its logic is flawed,
13117 as it prevents prepare_grub_to_access_device() from being called
13118 multiple times.
13119
3c62a39d 131202008-06-19 Robert Millan <rmh@aybabtu.com>
13121
13122 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13123 "insmod" command directly when abstraction modules are needed,
fe987087 13124 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13125 since it had already been processed).
13126
47395a42 131272008-06-19 Pavel Roskin <proski@gnu.org>
13128
13129 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13130 changed. This is needed in case GRUB_LIBDIR changes.
13131 * conf/i386-ieee1275.rmk: Likewise.
13132 * conf/i386-linuxbios.rmk: Likewise.
13133 * conf/i386-pc.rmk: Likewise.
13134 * conf/powerpc-ieee1275.rmk: Likewise.
13135
a145ac2d 131362008-06-18 Pavel Roskin <proski@gnu.org>
13137
13138 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13139 kernel_elf_symlist.c to symlist.c for consistency with other
13140 architectures. Update all users.
13141 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13142
7847c51e 131432008-06-18 Robert Millan <rmh@aybabtu.com>
13144
13145 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13146 it in prefix.
13147
13148 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13149 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13150 a RAID device, run setup() for all members independently on whether
13151 LVM abstraction is being used.
13152 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13153 If grub-mkimage has set `*install_dos_part == -2', don't override this
13154 value.
13155 Perform *install_dos_part adjustments independently on whether
13156 we're embedding or not.
13157 Clarify error message when image is too big for embedding.
13158 Remove duplicate *install_dos_part stanza.
13159
b23e5644 131602008-06-17 Robert Millan <rmh@aybabtu.com>
13161
13162 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13163 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13164 variables.
13165 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13166 values in grub_ofconsole_normal_color and
13167 grub_ofconsole_highlight_color (they're not directly related to
13168 background and foreground).
13169 (grub_ofconsole_setcolorstate): Extract background and foreground
13170 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13171
0aac2f79 131722008-06-17 Robert Millan <rmh@aybabtu.com>
13173
13174 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13175 /boot/grub for the check in last commit, not /boot (they could be
13176 different partitions).
13177
3cca7ef3 131782008-06-16 Robert Millan <rmh@aybabtu.com>
13179
13180 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13181 asked to setup access for the same partition that provides /boot,
13182 don't bother using UUIDs since our root already has the value we
13183 want.
13184
347396d8 131852008-06-16 Robert Millan <rmh@aybabtu.com>
13186
13187 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13188 I2O devices.
13189 Patch from Sven Mueller <sven@debian.org>.
13190
991477f8 131912008-06-16 Robert Millan <rmh@aybabtu.com>
13192
13193 * util/update-grub.in: Check for $EUID instead of $UID.
13194 Reported by Vincent Zweije.
13195
d31a32a1 131962008-06-16 Bean <bean123ch@gmail.com>
13197
fe987087 13198 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13199 (grub_ext2_read_block): Likewise.
13200 (grub_ext2_read_inode): Likewise.
13201 (grub_ext2_mount): Likewise.
13202 (grub_ext2_close): Likewise.
13203 (grub_ext3_get_journal): Removed.
13204
fe987087 13205 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13206 (grub_reiserfs_read_symlink): Likewise.
13207 (grub_reiserfs_mount): Likewise.
13208 (grub_reiserfs_open): Likewise.
13209 (grub_reiserfs_read): Likewise.
13210 (grub_reiserfs_close): Likewise.
13211 (grub_reiserfs_get_journal): Removed.
13212
13213 * fs/fshelp.c (grub_fshelp_read): Removed.
13214 (grub_fshelp_map_block): Likewise.
13215
13216 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13217 (grub_fshelp_journal): Likewise.
13218 (grub_fshelp_read): Likewise.
13219 (grub_fshelp_map_block): Likewise.
13220
3540a760 132212008-06-16 Pavel Roskin <proski@gnu.org>
13222
13223 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13224 floating point anymore.
13225 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13226
95614c84 132272008-06-15 Pavel Roskin <proski@gnu.org>
13228
13229 * commands/ls.c (grub_ls_list_files): Use integer calculations
13230 for human readable format, avoid floating point use.
13231 * kern/misc.c (grub_ftoa): Remove.
13232 (grub_vsprintf): Remove floating point support.
13233
50465dd6 132342008-06-15 Robert Millan <rmh@aybabtu.com>
13235
fe6b695a 13236 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13237 devices.
13238 Reported by Max Vozeler.
13239
a9207284 132402008-06-15 Robert Millan <rmh@aybabtu.com>
13241
13242 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13243 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13244 skipped later.
13245 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13246 the beginning of the prefix.
13247
13248 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13249 It is assumed that if we have a memdisk, grub-mkimage has set
13250 grub_prefix to include the "(memdisk)" drive in it.
13251
a7cbd45a 132522008-06-15 Robert Millan <rmh@aybabtu.com>
13253
13254 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13255 Initialize keyboard controller after registering the terminal, so that
13256 grub_printf() can be called from grub_keyboard_controller_init().
13257
21cf716a 132582008-06-15 Robert Millan <rmh@aybabtu.com>
13259
13260 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13261 extent-btree which is written as big endian on disk.
13262 Reported by Alain Greppin <al@chilibi.org>.
13263
23a64d8e 132642008-06-14 Robert Millan <rmh@aybabtu.com>
13265
13266 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13267 * util/i386/pc/grub-install.in (modules): Likewise.
13268
d687651c 132692008-06-13 Pavel Roskin <proski@gnu.org>
13270
13271 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13272
dfe9ddd4 132732008-06-13 Bean <bean123ch@gmail.com>
13274
13275 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13276
13277 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13278
13279 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13280 to indicate sparse block.
13281
16ae7781 132822008-06-12 Pavel Roskin <proski@gnu.org>
13283
e6d1a308 13284 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13285 number, grub_fshelp_read() does it for us.
13286
16ae7781 13287 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13288 linear disk read with journal translation.
13289 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13290 * include/grub/fshelp.h: Declare grub_fshelp_read().
13291
40fd3a2b 132922008-06-09 Pavel Roskin <proski@gnu.org>
13293
13294 * fs/minix.c (grub_minix_mount): Handle error reading
13295 superblock.
13296
f5679726 132972008-06-08 Robert Millan <rmh@aybabtu.com>
13298
13299 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13300 don't append the RAID prefix afterwards.
13301 Reported by Clint Adams.
13302
ce525529 133032008-06-08 Robert Millan <rmh@aybabtu.com>
13304
13305 Based on description from Pavel:
13306 * kern/disk.c (grub_disk_check_range): Rename to ...
13307 (grub_disk_adjust_range): ... this. Add a comment explaining the
13308 tasks performed by this function.
13309
ad4936a0 133102008-06-08 Robert Millan <rmh@aybabtu.com>
13311
13312 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13313 `num_serial' (for consistency with other variables).
13314 (struct grub_ntfs_data): Add `uuid' member.
13315 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13316 (grub_ntfs_uuid): New function.
13317 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13318
dc20b0f9 133192008-06-07 Pavel Roskin <proski@gnu.org>
13320
13321 * util/biosdisk.c (open_device): Revert last change to the
13322 function, it broke installation. The sector needs to be
13323 different dependent on which device is opened.
13324
c5e3cfba 133252008-06-06 Robert Millan <rmh@aybabtu.com>
13326
13327 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13328 rest of GRUB, and breakage doesn't happen if its value were modified.
13329
13330 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13331 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13332 a constant (same value).
13333 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13334 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13335
26a1f8c4 133362008-06-06 Robert Millan <rmh@aybabtu.com>
13337
13338 * util/biosdisk.c (open_device): Do not modify sector offset when
13339 accessing a partition. kern/disk.c already handles this for us.
13340
25d6b327 133412008-06-06 Robert Millan <rmh@aybabtu.com>
13342
13343 * util/grub-emu.c (grub_machine_init): Move code in this function from
13344 here ...
13345 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
13346 segfault in case grub_printf() is called).
13347
13348 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
13349 grub_probe. Update all users not to explicitly add it again.
13350 (grub_device): New variable; contains corresponding device for grubdir.
13351 (fs_module, partmap_module, devabstraction_module): Pass
13352 `--device ${grub_device}' to grub_probe to avoid traversing /dev
13353 every time.
13354
9ece62fb 133552008-06-05 Robert Millan <rmh@aybabtu.com>
13356
13357 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
13358 is found, print it (same layout as with labels).
13359
1ad36d37 133602008-06-04 Robert Millan <rmh@aybabtu.com>
13361
13362 * util/biosdisk.c (get_drive): Rename to ...
13363 (find_grub_drive): ... this. Update all users.
13364
13365 (get_os_disk): Rename to ...
13366 (convert_system_partition_to_system_disk): ... this. Update all users.
13367
13368 (find_drive): Rename to ...
13369 (find_system_device): ... this. Update all users.
13370
e6a30859 133712008-06-04 Robert Millan <rmh@aybabtu.com>
13372
13373 * util/biosdisk.c (get_os_disk): Handle IDA devices.
13374 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13375 (make_device_map): Likewise.
13376
00c108a4 133772008-06-01 Robert Millan <rmh@aybabtu.com>
13378
13379 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
13380 before dereferencing it.
13381
13382 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
13383 union with fat12/fat16-specific ones. Add some new fields, including
13384 `num_serial' for both versions.
13385 (struct grub_fat_data): Add `uuid' member.
13386 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
13387 names. Initialize `data->uuid' using `num_serial'.
13388 (grub_fat_uuid): New function.
13389 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
13390
13391 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
13392 (grub_reiserfs_uuid): New function.
13393 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
13394 member.
13395
13396 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
13397 (grub_xfs_uuid): New function.
13398 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
13399
1385c5bb 134002008-06-01 Robert Millan <rmh@aybabtu.com>
13401
13402 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
13403 code that is backward compatible with pre-uuid search command.
13404
c682dfd7 134052008-05-31 Robert Millan <rmh@aybabtu.com>
13406
13407 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
13408 floppies after everything else, to ensure floppy drive isn't accessed
13409 unnecessarily (patch from Bean).
13410
b7db5d47 134112008-05-31 Robert Millan <rmh@aybabtu.com>
13412
13413 * commands/search.c (search_label, search_fs_uuid, search_file): Do
13414 not print device names when we were asked to set a variable.
13415
6e037aa9 134162008-05-31 Robert Millan <rmh@aybabtu.com>
13417
13418 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
13419 using "cursor-on" and "cursor-off" commands (understood at least by
13420 the Open Firmware flavour on OLPC).
13421
41305bc8 134222008-05-31 Michael Gorven <michael@gorven.za.net>
13423
13424 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
13425 on and off sequences.
13426
69ba137e 134272008-05-31 Robert Millan <rmh@aybabtu.com>
13428
13429 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
13430 * util/update-grub.in: Likewise.
13431
520ae21b 134322008-05-30 Pavel Roskin <proski@gnu.org>
13433
13434 * util/biosdisk.c (linux_find_partition): Simplify logic and
13435 make the code more universal. Keep special processing for
13436 devfs, but use a simple rule for all other devices. If the
13437 device ends with a number, append 'p' and the partition number.
13438 Otherwise, append only the partition number.
13439
5786569b 134402008-05-30 Robert Millan <rmh@aybabtu.com>
13441
13442 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
13443 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
13444 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
13445 the `root' parameter to Linux.
13446
51500452 134472008-05-30 Robert Millan <rmh@aybabtu.com>
13448
13449 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
13450 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
13451 --fs_uuid with --fs-uuid.
13452 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
13453 all filesystems support them).
13454
811d3878 134552008-05-30 Robert Millan <rmh@aybabtu.com>
13456
13457 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 13458 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 13459
cab63c95 134602008-05-30 Robert Millan <rmh@aybabtu.com>
13461
13462 * util/grub.d/00_header.in: Remove obsolete comment referencing
13463 convert_system_path_to_grub_path().
13464 * util/update-grub.in: Likewise.
13465 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
13466 (convert_system_path_to_grub_path): Add a warning message explaining
13467 that this function is deprecated. Rely on is_path_readable_by_grub()
13468 for the readability checks.
13469 (font_path): Use is_path_readable_by_grub() for the readability
13470 check rather than convert_system_path_to_grub_path().
13471
972e2f7a 134722008-05-30 Robert Millan <rmh@aybabtu.com>
13473
13474 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
13475 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
13476 converting it first.
13477 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
13478 grub.cfg for access to font file, and afterwards call it again to set
13479 the root device.
13480
62191274 134812008-05-30 Robert Millan <rmh@aybabtu.com>
13482
13483 * commands/search.c (options): Add --fs_uuid option.
13484 (search_fs_uuid): New function.
13485 (grub_cmd_search): Fix --set argument passing.
13486 Use search_fs_uuid() when requested via --fs_uuid.
13487 (grub_search_init): Update help message.
13488 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
13489 and redeclare it as an array of 16-bit words.
13490 (grub_ext2_uuid): New function.
13491 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
13492 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
13493 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
13494 (GRUB_DEVICE_BOOT_UUID): New variables.
13495 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
13496 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
13497 whenever possible.
13498 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
13499 just assume `root' variable has the right value.
13500 * util/grub.d/10_linux.in: Likewise.
13501 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
13502 via PRINT_FS_UUID.
13503 (main): Recognise `-t fs_uuid' argument.
13504
01b73ec8 135052008-05-30 Robert Millan <rmh@aybabtu.com>
13506
13507 * util/biosdisk.c (map): Redefine structure to hold information
13508 about GRUB drive name.
fe6b695a 13509 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 13510 drive names.
13511 (call_hook): Remove.
13512 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
13513 member. Assume drive has partitions.
13514 (grub_util_biosdisk_open): Access device names via `.device' struct
13515 member.
13516 (open_device): Likewise.
13517 (find_drive): Likewise.
13518 (read_device_map): Adjust map[] usage to match the new struct
13519 definition. Don't check for duplicates (still possible, but not cheap
13520 anymore).
13521 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
13522 (make_device_name): Remove assumption of BIOS-like drive names.
13523
22f16596 135242008-05-30 Pavel Roskin <proski@gnu.org>
13525
13526 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
13527 compiling execute.c doesn't need grub_script.tab.h anymore.
13528 (normal/command.c_DEPENDENCIES): Likewise.
13529 (normal/function.c_DEPENDENCIES): Likewise.
13530 * conf/i386-ieee1275.rmk: Likewise.
13531 * conf/i386-linuxbios.rmk: Likewise.
13532 * conf/i386-pc.rmk: Likewise.
13533 * conf/powerpc-ieee1275.rmk: Likewise.
13534 * conf/sparc64-ieee1275.rmk: Likewise.
13535
528ad8f2 135362008-05-29 Pavel Roskin <proski@gnu.org>
13537
d1dff95d 13538 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
13539 when scanning metadata for volume group name.
13540
528ad8f2 13541 * include/grub/script.h: Don't include grub_script.tab.h. It's
13542 a generated file, which may only be included from the files with
13543 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
13544 use union YYSTYPE, as the later allows forward declaration.
13545 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
13546
47248e08 135472008-05-29 Robert Millan <rmh@aybabtu.com>
13548
13549 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
13550 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
13551 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
13552 (grub_console_checkkey): Add grub_dprintf() call to report unknown
13553 scan codes.
13554
ee632529 135552008-05-29 Robert Millan <rmh@aybabtu.com>
13556
13557 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
13558 control key combinations.
13559
eee96e08 135602008-05-29 Robert Millan <rmh@aybabtu.com>
13561
13562 * util/powerpc/ieee1275/grub-install.in: Move from here ...
13563 * util/ieee1275/grub-install.in: ... to here.
13564 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
13565 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
13566 (grub_install_SOURCES): Likewise.
13567
da9a6a94 135682008-05-29 Robert Millan <rmh@aybabtu.com>
13569
13570 * fs/affs.c: Update copyright year.
13571 * fs/ext2.c: Likewise.
13572 * fs/fshelp.c: Likewise.
13573 * fs/hfsplus.c: Likewise.
13574 * fs/ntfs.c: Likewise.
13575 * fs/xfs.c: Likewise.
13576 * include/grub/fshelp.h: Likewise.
13577 * util/grub-mkdevicemap.c: Likewise.
13578
12e65f3a 135792008-05-28 Robert Millan <rmh@aybabtu.com>
13580
13581 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
13582 might need to be fatfs to support some firmware implementations
13583 (e.g. OFW or EFI).
13584
23023641 135852008-05-28 Robert Millan <rmh@aybabtu.com>
13586
13587 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
13588 devices.
13589 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13590 (make_device_map): Likewise.
13591
887d2619 135922008-05-20 Bean <bean123ch@gmail.com>
13593
13594 * fs/fshelp.c (grub_fshelp_map_block): New function.
13595 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
13596 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
13597
13598 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
13599 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
13600 (grub_fshelp_journal): New structure.
13601 (grub_fshelp_map_block): New function prototype.
13602 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
13603 (grub_fshelp_map_block): Likewise.
13604
13605 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
13606 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
13607 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
13608 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
13609 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
13610 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
13611 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
13612 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
13613 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
13614 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
13615 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
13616 (grub_ext2_sblock): New members for journal support.
13617 (grub_ext3_journal_header): New structure.
13618 (grub_ext3_journal_revoke_header): Likewise.
13619 (grub_ext3_journal_block_tag): Likewise.
13620 (grub_ext3_journal_sblock): Likewise.
13621 (grub_fshelp_node): New members logfile and journal.
13622 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
13623 grub_fshelp_map_block to get real block number.
13624 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
13625 number.
13626 (grub_ext2_read_inode): Likewise.
13627 (grub_ext3_get_journal): New function.
13628 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
13629 (grub_ext2_close): Release memory used by journal.
13630
13631 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
13632 (REISERFS_MAGIC_DESC_BLOCK): New macro.
13633 (grub_reiserfs_transaction_header): Renamed to
13634 grub_reiserfs_description_block, replace field data with real_blocks.
13635 (grub_reiserfs_commit_block): New structure.
13636 (grub_reiserfs_data): New member journal.
13637 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
13638 number.
13639 (grub_reiserfs_read_symlink): Likewise.
13640 (grub_reiserfs_iterate_dir): Likewise.
13641 (grub_reiserfs_open): Likewise.
13642 (grub_reiserfs_read): Likewise.
13643 (grub_reiserfs_get_journal): New function.
13644 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
13645 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
13646 using grub_reiserfs_get_journal.
13647 (grub_reiserfs_close): Release memory used by journal.
13648
13649 * fs/affs.c (grub_affs_read_block): Change block type to
13650 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
13651
13652 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
13653
13654 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
13655
13656 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
13657
13658 * fs/udf.c (grub_udf_read_block): Change block type to
13659 grub_disk_addr_t. Use type cast to avoid warning.
13660
13661 * fs/xfs.c (grub_xfs_read_block): Likewise.
13662
b7c6bed5 136632008-05-16 Christian Franke <franke@computer.org>
13664
13665 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
13666 to ensure that break with ESC will always work.
13667 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
13668 Remove ESC from keyboard queue.
13669
eedf167f 136702008-05-16 Christian Franke <franke@computer.org>
13671
13672 * util/biosdisk.c: [__CYGWIN__] Add includes.
13673 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
13674 (get_os_disk): Move variable declarations to OS specific
13675 parts to avoid warning.
13676 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
13677 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
13678 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
13679 Cygwin.
13680 * util/getroot.c: [__CYGWIN__] Add includes.
13681 (strip_extra_slashes): Fix "/" case.
13682 [__CYGWIN__] (get_win32_path): New function.
13683 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
13684 [__CYGWIN__] (find_root_device): Disable.
13685 [__CYGWIN__] (get_bootsec_serial): New function.
13686 [__CYGWIN__] (find_cygwin_root_device): Likewise.
13687 [__linux__] (grub_guess_root_device): Add early returns to simplify
13688 structure.
13689 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
13690 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
13691 check for Linux only.
13692
a079699e 136932008-05-15 Bean <bean123ch@gmail.com>
13694
13695 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
13696 keyboard hang problem in apple's intel mac.
13697
1cf4059a 136982008-05-09 Robert Millan <rmh@aybabtu.com>
13699
13700 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
13701 devices.
13702 * util/grub-mkdevicemap.c (get_virtio_disk_name)
13703 (make_device_map): Likewise.
13704 Reported by Aurelien Jarno <aurel32@debian.org>
13705
ed759390 137062008-05-07 Ian Campbell <ijc@hellion.org.uk>
13707
13708 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
13709 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13710 (make_device_map): Output entries for xvd type disks.
13711
b56c4eaa 137122008-05-07 Robert Millan <rmh@aybabtu.com>
13713
13714 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
13715 devices.
13716 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13717 (make_device_map): Likewise.
13718 Reported by Roland Dreier <rdreier@cisco.com>
13719
7f8866ed 137202008-05-07 Robert Millan <rmh@aybabtu.com>
13721
13722 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13723 grub_strstr() call. Correct a few mistakes in failure path handling.
13724
b0346e0f 137252008-05-06 Robert Millan <rmh@aybabtu.com>
13726
13727 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13728 Do not print a trailing slash (therefore, the root directory is an
13729 empty string).
13730 (convert_system_path_to_grub_path): Do not remove trailing slash
13731 from make_system_path_relative_to_its_root() output.
13732
13733 * util/i386/pc/grub-install.in: Add trailing slash to output from
13734 make_system_path_relative_to_its_root().
13735
6cf12cbd 137362008-05-06 Robert Millan <rmh@aybabtu.com>
13737
13738 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13739 ensures that output lines aren't intermangled with those sent to
13740 stderr (via grub_util_info()).
13741 * util/grub-probe.c (grub_refresh): Likewise.
13742 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13743
0fbb3117 137442008-05-05 Christian Franke <franke@computer.org>
13745
13746 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13747 Add Cygwin device names.
13748 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13749 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13750 (check_device): Return error instead of success on empty name.
13751 (make_device_map): Move label inside linux specific code to
13752 prevent compiler warning.
13753
8124cdb7 137542008-04-30 Robert Millan <rmh@aybabtu.com>
13755
13756 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13757 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13758 first boot option.
13759 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13760
094c01d0 137612008-04-29 Robert Millan <rmh@aybabtu.com>
13762
13763 * docs/grub.cfg: New file (example GRUB configuration).
13764
f4b1fc02 137652008-04-26 Robert Millan <rmh@aybabtu.com>
13766
329ce2a5 13767 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13768 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13769 and `disk/ieee1275/nand.c'.
f4b1fc02 13770
25f16ec1 137712008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13772
25f16ec1 13773 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13774 i386-linuxbios.
13775
13776 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13777 change the buffer size to 4096 for cdrom device.
13778
13779 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13780 and nand.mod.
13781 (_linux_mod_SOURCES): New variable.
13782 (_linux_mod_CFLAGS): Likewise.
13783 (_linux_mod_LDFLAGS): Likewise.
13784 (linux_mod_SOURCES): Likewise.
13785 (linux_mod_CFLAGS): Likewise.
13786 (linux_mod_LDFLAGS): Likewise.
13787 (nand_mod_SOURCES): Likewise.
13788 (nand_mod_CFLAGS): Likewise.
13789 (nand_mod_LDFLAGS): Likewise.
13790
13791 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13792 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13793 type property. (nand device in olpc don't have this property)
13794
13795 * include/grub/disk.h (grub_disk_dev_id): New macro
13796 GRUB_DISK_DEVICE_NAND_ID.
13797
13798 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13799 function prototype.
13800 (grub_rescue_cmd_initrd): Likewise.
13801
13802 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
13803 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
13804 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 13805
25f16ec1 13806 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
13807 GRUB_MACHINE_IEEE1275 is defined.
13808
13809 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
13810 Use NESTED_FUNC_ATTR attribute on the hook parameter.
13811
13812 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
13813 on nested function heap_init.
13814 (grub_upper_mem): New variable for i386-ieee1275.
13815 (grub_get_extended_memory): New function for i386-ieee1275.
13816 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
13817
13818 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
13819 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
13820 property.
f19dbdb7 13821
25f16ec1 13822 * loader/i386/ieee1275/linux.c: New file.
13823
13824 * loader/i386/ieee1275/linux_normal.c: New file.
13825
13826 * disk/ieee1275/nand.c: New file.
13827
e89d61e9 138282008-04-18 Thomas Schwinge <tschwinge@gnu.org>
13829
13830 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
13831 value.
13832 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
13833
602566f6 138342008-04-18 Robert Millan <rmh@aybabtu.com>
13835
13836 Restructures early code path on ieee1275 to unify grub_main() as
13837 the first C function that is executed in every platform.
13838
13839 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
13840 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
13841 cmain().
13842 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
13843 * kern/ieee1275/cmain.c (cmain): Rename to ...
13844 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
13845 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
13846 at the beginning.
13847
57490c2b 138482008-04-18 Robert Millan <rmh@aybabtu.com>
13849
13850 * util/update-grub.in: Fix syntax error when setting
13851 `GRUB_PRELOAD_MODULES'.
13852 Reported by Stephane Chazelas <stephane@artesyncp.com>
13853
1977517d 138542008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
13855
13856 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
13857 section into account, newer toolchains generate unique build ids
13858 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 13859 we want build ids to be preserved
1977517d 13860 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
13861 far from other sections don't cause the raw binary images grow
13862 size
13863
bfb1f1a2 138642008-04-15 Robert Millan <rmh@aybabtu.com>
13865
13866 * disk/lvm.c: Update copyright year.
13867 * kern/misc.c: Likewise.
13868
01979850 138692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13870
13871 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 13872 there is no memory left for physical volume name.
01979850 13873
0a1150e2 138742008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
13875
13876 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
13877 volume name mapping to support bigger than 9 character names properly.
13878
82ead3fe 138792008-04-13 Robert Millan <rmh@aybabtu.com>
13880
13881 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
13882 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
13883
e54a72f5 138842008-04-13 Christian Franke <franke@computer.org>
13885
13886 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
13887 to create a floppy emulation boot CD when non emulation mode
13888 does not work.
13889 Enable Joliet CD filesystem extension.
13890
9fe86034 138912008-04-13 Robert Millan <rmh@aybabtu.com>
13892
13893 * kern/misc.c (grub_strncat): Fix off-by-one error.
13894 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
13895
13896 * kern/env.c (grub_env_context_close): Clear current context, not
13897 previous one.
13898 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
13899
13900 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
13901
7ceeee39 139022008-04-13 Robert Millan <rmh@aybabtu.com>
13903
13904 Improve robustness when handling LVM.
13905
13906 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 13907 (and leave `*p' unmodified).
7ceeee39 13908 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
13909 through it.
13910 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
13911 iterating through it.
13912 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
13913 through it.
fe6b695a 13914 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 13915 when due) on each grub_lvm_getvalue() or grub_strstr() call.
13916 Don't assume `vg->pvs != NULL' when iterating through it.
13917
58cd3d85 139182008-04-13 Robert Millan <rmh@aybabtu.com>
13919
13920 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
13921 * genmk.rb (partmap): New variable.
13922 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
13923 (#{partmap}): New target rule.
13924 * genpartmaplist.sh: New file.
13925 * Makefile.in (pkglib_DATA): Add partmap.lst.
13926 (partmap.lst): New target rule.
13927 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
13928 modules (including all partition maps), instead of preloading them.
13929
78b51059 139302007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
13931
13932 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
13933 `linux-boot-prober' (if installed) to detect other operating
13934 systems which are installed on the computer and add them to
13935 the boot menu.
13936 * conf/common.rmk: Build and install 30_os-prober.
13937
a91627b4 139382008-04-12 Robert Millan <rmh@aybabtu.com>
13939
13940 * kern/powerpc/ieee1275/init.c: Move from here ...
13941 * kern/ieee1275/init.c: ... to here. Update all users.
13942
13943 * kern/powerpc/ieee1275/cmain.c: Move from here ...
13944 * kern/ieee1275/cmain.c: ... to here. Update all users.
13945
13946 * kern/powerpc/ieee1275/openfw.c: Move from here ...
13947 * kern/ieee1275/openfw.c: ... to here. Update all users.
13948
13949 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
13950 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
13951
322562ea 139522008-04-10 Pavel Roskin <proski@gnu.org>
13953
13954 * configure.ac: Always use "_cv_" in cache variables for
13955 compatibility with Autoconf 2.62.
13956
a02a73c5 139572008-04-07 Robert Millan <rmh@aybabtu.com>
13958
13959 Revert grub/machine/init.h addition by Pavel (since it breaks on
13960 i386-ieee1275 and others):
13961 * util/i386/pc/misc.c: Remove grub/machine/init.h.
13962 * util/powerpc/ieee1275/misc.c: Likewise.
13963
25c024b1 139642008-04-07 Robert Millan <rmh@aybabtu.com>
13965
13966 * util/grub-probe.c (probe): Improve error message.
13967
3cbd2f98 139682008-04-07 Robert Millan <rmh@aybabtu.com>
13969
13970 * util/biosdisk.c (read_device_map): Skip devices that don't exist
13971 (this prevents the presence of a bogus entry from ruining the whole
13972 thing).
13973
87a297bf 139742008-04-06 Pavel Roskin <proski@gnu.org>
13975
36747a62 13976 * util/biosdisk.c: Include grub/util/biosdisk.h.
13977 * util/grub-fstest.c (execute_command): Make static.
13978 * util/grub-mkdevicemap.c (check_device): Likewise.
13979 * util/i386/pc/misc.c: Include grub/machine/init.h.
13980 * util/powerpc/ieee1275/misc.c: Likewise.
13981 * util/lvm.c: Include grub/util/lvm.h.
13982 * util/misc.c: Include grub/kernel.h, grub/misc.h and
13983 grub/cache.h.
13984 * util/raid.c: Include grub/util/raid.h.
13985 (grub_util_getdiskname): Make static.
13986
87a297bf 13987 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
13988 grub_hostfs_fini(), as they are called from grub_init_all() and
13989 grub_fini_all() respectively. This fixes an infinite loop in
13990 grub-fstest due to double registration of hostfs.
13991 Reported by Christian Franke <Christian.Franke@t-online.de>
13992
f6ce7629 139932008-04-05 Pavel Roskin <proski@gnu.org>
13994
13995 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
13996 all 8 functions. Otherwise, probe function 0 only.
13997
070e49e4 139982008-04-04 Pavel Roskin <proski@gnu.org>
13999
8b088a4c 14000 * commands/lspci.c (grub_lspci_iter): Print the bus number
14001 correctly.
14002
4f657021 14003 * commands/lspci.c (grub_pci_classes): Fix typos.
14004 (grub_lspci_iter): Don't print func twice. Print vendor ID
14005 before device ID, as it's normally done.
14006
070e49e4 14007 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14008 Fix signedness warnings.
14009 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14010 Likewise.
14011 * util/ieee1275/get_disk_name.c: Include config.h so that
14012 _GNU_SOURCE is defined and getline() is declared. Mark an
14013 unused argument as such. Fix a signedness warning.
14014
ba7328dc 140152008-04-02 Pavel Roskin <proski@gnu.org>
14016
26887f22 14017 * genkernsyms.sh.in: Use more robust assignments for CC and
14018 srcdir. Quote srcdir.
14019 * gensymlist.sh.in: Likewise. Assert at the compile time that
14020 the symbol table is not empty.
14021
ba7328dc 14022 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14023 * fs/cpio.c (grub_cpio_read): Likewise.
14024
0f582c6b 140252008-04-01 Pavel Roskin <proski@gnu.org>
14026
4b6e1995 14027 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14028 * disk/host.c (grub_host_open): Likewise.
14029 * disk/loopback.c (grub_loopback_open): Likewise.
14030 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14031 disk->id as in disk/host.c, not a multi-character constant.
14032
828a2768 14033 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14034 later is obsolete, potentially dangerous and sets a bad example.
14035 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14036 * util/misc.c (grub_util_get_image_size): Likewise.
14037
2bb4fb47 14038 * disk/loopback.c (options): Improve help for "--partitions".
14039
0f582c6b 14040 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14041 options to align them with the short options, e.g. "echo -e".
14042
a33224e0 140432008-03-31 Bean <bean123ch@gmail.com>
14044
14045 * video/reader/png.c (grub_png_data): New member is_16bit and
14046 image_data.
14047 (grub_png_decode_image_header): Detect 16 bit png image.
14048 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14049 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14050 (grub_video_reader_png): Release memory occupied by image_data.
14051
14052 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14053 4096 bytes.
14054 (grub_nfs_mount): Skip the test for sector per cluster.
14055
14056 * include/grub/ntfs.h (MAX_SPC): Removed.
14057
86cb4f54 140582008-03-31 Bean <bean123ch@gmail.com>
14059
14060 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14061 (grub_probe_SOURCES): Add fs/afs.c.
14062 (grub_fstest_SOURCES): Likewise.
14063 (afs_mod_SOURCES): New variable.
14064 (afs_mod_CFLAGS): Likewise.
14065 (afs_mod_LDFLAGS): Likewise.
14066
14067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14068 (grub_emu_SOURCES): Likewise.
14069
14070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14071
14072 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14073
14074 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14075
14076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14077
14078 * fs/afs.c: New file.
14079
17c74c21 140802008-03-30 Pavel Roskin <proski@gnu.org>
14081
4cb68e89 14082 * disk/host.c: Include grub/misc.h to fix a warning.
14083 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14084 warnings about implicit declarations.
14085
8790bb04 14086 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14087 variable.
14088 * include/grub/i386/loader.h: Change declaration of
14089 grub_linux_boot() to match what grub_loader_set() expects.
14090 * util/getroot.c (grub_guess_root_device): Return const char* to
14091 fix a warning.
14092 * util/grub-probe.c (probe): Fix a warning about uninitialized
14093 abstraction_name variable.
14094 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14095 second argument as unused to fix a warning.
14096
9a3f3296 14097 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14098 missing grub_error() call.
14099
0ecef90d 14100 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14101 2.60 and newer uses it to define datadir.
14102
0bf6d401 14103 * commands/sleep.c: Fix warning about implicit declaration.
14104 * disk/memdisk.c: Likewise.
14105 * loader/aout.c: Likewise.
14106 * loader/i386/bsd_normal.c: Likewise.
14107 * util/grub-probe.c: Likewise.
14108
7cdacf97 14109 * commands/i386/cpuid.c (has_longmode): Make static.
14110 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14111 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14112
17c74c21 14113 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14114 GDT. This is more robust, as %ds can change.
14115 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14116 calling real_to_prot().
14117 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14118
80a3e68b 141192008-03-28 Pavel Roskin <proski@gnu.org>
14120
14121 * kern/i386/pc/startup.S: Assert that uncompressed functions
14122 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14123 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14124 code, as they push parts of the code (error handlers) beyond
14125 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14126 code as correctness and size.
14127
77bcd272 141282008-03-28 Pavel Roskin <proski@gnu.org>
14129
14130 * kern/i386/pc/startup.S
14131 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14132 data block address to the real mode, keep offset minimal. This
14133 works around a bug in AWARD BIOS on old Athlon systems, which
14134 makes CD detection hang.
14135
c5dfd43b 141362008-03-26 Pavel Roskin <proski@gnu.org>
14137
14138 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14139 const.
14140 * include/grub/normal.h: Add grub_parse_color_name_pair()
14141 declaration.
14142
bf962df2 141432008-03-24 Bean <bean123ch@gmail.com>
14144
14145 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14146 (cd_count): Removed.
14147 (cd_drive): New variable.
14148 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14149 (grub_biosdisk_call_hook): Likewise.
14150 (grub_biosdisk_iterate): Change cdrom detection method.
14151 (grub_biosdisk_open): Replace cd_start with cd_drive.
14152 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14153 detect cdrom device.
14154
14155 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14156 Removed.
14157 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14158 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14159 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14160 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14161 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14162 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14163 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14164 (grub_biosdisk_cdrp): New structure.
14165 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14166
14167 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14168
14169 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14170 device.
14171
14172 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14173 New function.
14174
68e7fc7a 141752008-03-20 Robert Millan <rmh@aybabtu.com>
14176
14177 Remove 2 TiB limit in ata.mod.
14178 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14179 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14180 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14181 grub_uint64_t instead of grub_uint32_t.
14182
38ad2cf5 141832008-03-05 Bean <bean123ch@gmail.com>
14184
14185 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14186 (grub_multiboot): Set boot device.
14187
14188 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14189
2b89344e 141902008-03-02 Bean <bean123ch@gmail.com>
14191
14192 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14193 symlink_buffer.
14194
87a95d1f 141952008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14196
14197 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14198 texinfo.tex.
14199
14200 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14201 modified.
14202
14203 * docs/fdl.texi: New file.
f19dbdb7 14204
87a95d1f 14205 * docs/mdate-sh: New file. Copied from gnulib.
14206 * docs/texinfo.tex: Likewise.
14207
14208 * config.guess: Updated from gnulib.
14209 * install-sh: Likewise.
14210
7dc15d8e 142112008-02-28 Robert Millan <rmh@aybabtu.com>
14212
14213 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14214 (aout_mod_SOURCES): New variable.
14215 (aout_mod_CFLAGS): Likewise.
14216 (aout_mod_LDFLAGS): Likewise.
14217
14218 * conf/i386-ieee1275.rmk: Likewise.
14219
b00ab696 142202008-02-28 Robert Millan <rmh@aybabtu.com>
14221
14222 * util/update-grub.in: Reorganise terminal validity check. Accept
14223 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14224 Based on suggestion by Franklin PIAT.
14225
79ca2d78 142262008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14227
14228 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14229 function.
14230 * util/getroot.c (grub_util_check_block_device): New function that
14231 returns the given argument if it is a block device and returns NULL else.
14232 * util/grub-probe.c (argument_is_device): New variable.
14233 (probe): Promote device_name from a variable to an argument. Receive
14234 device_name from grub_util_check_block_device() if path is NULL and from
14235 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14236 (options): Introduce new parameter '-d, --device'.
79ca2d78 14237 (main): Add description of the new parameter to the help screen.
14238 Rename path variable to argument. Set argument_is_device if the '-d'
14239 option is given. Pass argument to probe() depending on
14240 argument_is_device.
14241
0d16e571 142422008-02-24 Bean <bean123ch@gmail.com>
14243
14244 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14245 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14246 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14247 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14248 (GRUB_ISO9660_VOLDESC_END): Likewise.
14249 (grub_iso9660_primary_voldesc): New member escape.
14250 (grub_iso9660_data): New member joliet.
14251 (grub_iso9660_convert_string): New function.
14252 (grub_iso9660_mount): Detect joliet extension.
14253 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14254 (grub_iso9660_iso9660_label): Likewise.
14255
14256 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14257 (grub_setup_SOURCES): Add fs/udf.c.
14258 (grub_fstest_SOURCES): Likewise.
14259 (udf_mod_SOURCES): New variable.
14260 (udf_mod_CFLAGS): Likewise.
14261 (udf_mod_LDFLAGS): Likewise.
14262
14263 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14264 (grub_emu_SOURCES): Likewise.
14265
14266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14267
14268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14269
14270 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14271
14272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14273
14274 * fs/udf.c: New file.
14275
8a594a17 142762008-02-24 Robert Millan <rmh@aybabtu.com>
14277
14278 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14279 (normal/lexer.c_DEPENDENCIES): New variables.
14280 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14281 (normal/lexer.c_DEPENDENCIES): Likewise.
14282 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14283 (normal/lexer.c_DEPENDENCIES): Likewise.
14284 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14285 (normal/lexer.c_DEPENDENCIES): Likewise.
14286 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14287 (normal/lexer.c_DEPENDENCIES): Likewise.
14288 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14289 (normal/lexer.c_DEPENDENCIES): Likewise.
14290
2dc33c03 142912008-02-23 Robert Millan <rmh@aybabtu.com>
14292
14293 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14294 since they were intended to be in hex. This didn't break previously
14295 because of a bug in gpt_partition_map_iterate() (see below).
14296
14297 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14298 when checking the validity of GPT header.
14299 Remove `partno', since it always provides the same information as `i'.
14300
f6f4cfb0 143012008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14302
14303 * include/grub/efi/time.h: Fix a wrong comment.
14304
79ff665f 143052008-02-19 Pavel Roskin <proski@gnu.org>
14306
14307 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14308 message.
14309
d38e24c2 143102008-02-19 Bean <bean123ch@gmail.com>
14311
14312 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14313 (aout_mod_SOURCES): New variable.
14314 (aout_mod_CFLAGS): Likewise.
14315 (aout_mod_LDFLAGS): Likewise.
14316 (_bsd_mod_SOURCES): New variable.
14317 (_bsd_mod_CFLAGS): Likewise.
14318 (_bsd_mod_LDFLAGS): Likewise.
14319 (bsd_mod_SOURCES): New variable.
14320 (bsd_mod_CFLAGS): Likewise.
14321 (bsd_mod_LDFLAGS): Likewise.
14322
14323 * include/grub/aout.h: New file.
14324
14325 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14326
14327 * include/grub/i386/bsd.h: New file.
14328
14329 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14330 to make it public.
14331
14332 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14333 function is called, so that it's possible to change it inside the hook.
14334 (grub_elf64_load): Likewise.
14335 (grub_elf_file): Don't close the file if elf header is not found.
14336 (grub_elf_close): Close the file if grub_elf_file fails (The new
14337 grub_elf_file won't close it).
14338 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14339 (grub_elf64_size): Likewise.
14340
14341 * kern/i386/loader.S (grub_unix_real_boot): New function.
14342
14343 * loader/aout.c: New file.
14344
14345 * loader/i386/bsd.c: New file.
14346
14347 * loader/i386/bsd_normal.c: New file.
14348
14349 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
14350
14351 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 14352 can test other formats.
d38e24c2 14353
b93bdb0f 143542008-02-19 Robert Millan <rmh@aybabtu.com>
14355
14356 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
14357 (grub_gpt_partition_type_empty): Redefine with macro from
14358 `<grub/gpt_partition.h>'.
14359 (gpt_partition_map_iterate): Adjust partition type comparison.
14360
14361 Export `entry' as partmap-specific `part.data' struct.
14362 (grub_gpt_header, grub_gpt_partentry): Move from here ...
14363
14364 * include/grub/gpt_partition.h (grub_gpt_header)
14365 (grub_gpt_partentry): ... to here (new file).
14366
14367 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
14368
14369 (grub_gpt_partition_type_bios_boot): New const variable, defined
14370 with macro from `<grub/gpt_partition.h>'.
14371
14372 (setup): Replace `first_start' with `embed_region', which keeps
14373 track of the embed region (and is partmap-agnostic).
14374
14375 Replace find_first_partition_start() with find_usable_region(),
14376 which finds a usable region for embedding using partmap-specific
14377 knowledge (supports PC/MSDOS and GPT).
14378
14379 Fix all assumptions that the embed region start at sector 1, using
14380 `embed_region.start' from now on. Similarly, use `embed_region.end'
14381 rather than `first_start' to calculate available size.
14382
14383 In grub_util_info() message, replace "into after the MBR" with an
14384 indication of the specific sector our embed region starts at.
14385
66cb40f6 143862008-02-19 Robert Millan <rmh@aybabtu.com>
14387
14388 * DISTLIST: Replace `commands/ieee1275/halt.c' and
14389 `commands/ieee1275/reboot.c' with `commands/halt.c' and
14390 `commands/reboot.c'.
14391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14392 (halt_mod_SOURCES): Likewise.
14393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14394 (halt_mod_SOURCES): Likewise.
14395
b7202015 143962008-02-17 Christian Franke <franke@computer.org>
14397
14398 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
14399
32b0fc49 144002008-02-17 Robert Millan <rmh@aybabtu.com>
14401
14402 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14403 set `first_start' to 0 for non-PC/MSDOS partition maps.
14404
aca63502 144052008-02-16 Robert Millan <rmh@aybabtu.com>
14406
14407 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14408 do not assume partition map is PC/MSDOS before performing checks that
14409 are specific to that layout.
14410
0de8be86 144112008-02-13 Robert Millan <rmh@aybabtu.com>
14412
14413 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
14414 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
14415 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
14416
c3db8364 144172008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
14418
14419 * configure.ac: Only a cosmetic change on the handling of
14420 -fno-stack-protector.
14421
f714229e 144222008-02-12 Alexandre Boeglin <alex@boeglin.org>
14423
c3db8364 14424 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
14425 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
14426 reboot.c.
f714229e 14427 (grub_install_SOURCES): Add halt.mod and reboot.mod.
14428 (halt_mod_SOURCES): New variable.
14429 (halt_mod_CFLAGS): Likewise.
14430 (halt_mod_LDFLAGS): Likewise.
14431 (reboot_mod_SOURCES): Likewise.
14432 (reboot_mod_CFLAGS): Likewise.
14433 (reboot_mod_LDFLAGS): Likewise.
14434
c3db8364 14435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
14436 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
14437 reboot.c.
f714229e 14438 (halt_mod_SOURCES): Likewise.
14439 (reboot_mod_SOURCES): Likewise.
14440
c3db8364 14441 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
14442 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 14443 (reboot_mod_SOURCES): Likewise.
14444
14445 * commands/i386/pc/reboot.c: merge this file ...
14446
14447 * commands/ieee1275/reboot.c: ... and this file ...
14448
14449 * commands/reboot.c: ... to this file.
c3db8364 14450 Add some precompiler directive to include the correct header for
14451 each machine.
f714229e 14452
14453 * commands/ieee1275/halt.c: move this file ...
14454
14455 * commands/halt.c: ... to here.
c3db8364 14456 Add some precompiler directive to include the correct header for
14457 each machine.
f714229e 14458
14459 * include/grub/efi/efi.h (grub_reboot): New function declaration.
14460 (grub_halt): Likewise.
14461
14462 * kern/efi/efi.c (grub_reboot): New function.
14463 (grub_halt): Likewise.
14464
c74493e0 144652008-02-12 Robert Millan <rmh@aybabtu.com>
14466
14467 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
14468 /dev (like it is done for /dev/mapper). This doesn't provide support
14469 for EVMS, but at least it is now easy to identify the problem when it
14470 arises.
14471
d0db4b04 144722008-02-11 Robert Millan <rmh@aybabtu.com>
14473
14474 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
14475 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
14476 comparing it with -1, not 0.
14477
bf748642 144782008-02-10 Robert Millan <rmh@aybabtu.com>
14479
14480 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
14481 `disk/lvm.c'.
14482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14483 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14484
14485 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
14486 `disk/lvm.c' to the end of the list.
14487 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14488 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14489
b5db202a 144902008-02-10 Robert Millan <rmh@aybabtu.com>
14491
14492 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
14493 grub_print_error() instead. This will let user know why we're entering
14494 rescue mode.
14495 Based on suggestions from Sam Morris.
14496
83abee31 144972008-02-10 Alexandre Boeglin <alex@boeglin.org>
14498
14499 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
14500 on remaining N args, instead of "--" arg N times.
14501
78d5a08b 145022008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
14503
14504 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
14505 (fill_with_default_glyph): Changed to use unknown_glyph for fill
14506 pattern for unknown glyphs.
14507
68807e5f 145082008-02-09 Robert Millan <rmh@aybabtu.com>
14509
14510 * configure.ac: Probe for `help2man'.
14511 * Makefile.in (builddir): New variable.
14512 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
14513 or otherwise add a few flags/options to it.
14514 (install-local): For every executable utility or script that is
14515 installed, invoke $(HELP2MAN) to install a manpage based on --help
14516 output.
14517
14518 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
14519 that it doesn't prevent --help from working in build tree.
14520
14521 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
14522 with `bug-grub@gnu.org'.
14523 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
14524 * util/update-grub.in (usage): New function.
14525 Implement proper argument check, with support for --help and --version
14526 (as well as existing -y).
14527
145282008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 14529
14530 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
14531 avoid overwriting previous output.
14532 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
14533
c1962162 145342008-02-09 Robert Millan <rmh@aybabtu.com>
14535
14536 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
14537 drawing the menu.
14538
3dac2e3f 145392008-02-09 Robert Millan <rmh@aybabtu.com>
14540
14541 * commands/sleep.c: New file.
14542 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
14543 (sleep_mod_SOURCES): New variable.
14544 (sleep_mod_CFLAGS): Likewise.
14545 (sleep_mod_LDFLAGS): Likewise.
14546
7a634e08 145472008-02-09 Robert Millan <rmh@aybabtu.com>
14548
14549 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
14550 situations in which we can deduce the RAID size and the superblock
14551 doesn't match it.
14552
b92f0c18 145532008-02-09 Robert Millan <rmh@aybabtu.com>
14554
14555 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
14556 and return a grub_diskmemberlist_t composed of LVM physical volumes.
14557 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
14558
14559 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
14560 and return a grub_diskmemberlist_t composed of physical array members.
14561 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
14562
14563 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
14564 prototype.
14565 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
14566 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
14567 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
14568
14569 * util/grub-probe.c (probe): Move partmap probing code from here ...
14570 (probe_partmap): ... to here.
14571 (probe): Use probe_partmap() once for the disk we're probing, and
14572 additionally, when such disk contains a memberlist() struct member,
14573 once for each disk that is contained in the structure returned by
14574 memberlist().
14575
91a4bf68 145762008-02-09 Robert Millan <rmh@aybabtu.com>
14577
14578 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
14579 environment variable to 'all' in order to obtain debug output from
14580 non-util/ code.
14581 * util/i386/pc/grub-setup.c (main): Likewise.
14582
a96f9caa 145832008-02-08 Robert Millan <rmh@aybabtu.com>
14584
14585 * disk/raid.c (grub_raid_scan_device): Check for
14586 `array->device[sb.this_disk.number]' rather than for
14587 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 14588 guaranteed to be accessible.
a96f9caa 14589
b37a9222 145902008-02-08 Robert Millan <rmh@aybabtu.com>
14591
14592 * disk/raid.c: Update copyright.
14593 * fs/cpio.c: Likewise.
14594 * include/grub/raid.h: Likewise.
14595 * loader/i386/pc/multiboot.c: Likewise.
14596 * util/hostfs.c: Likewise.
14597
5626aee1 145982008-02-08 Robert Millan <rmh@aybabtu.com>
14599
14600 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
14601 to a grub_disk_t array.
14602 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
14603 `device[x]'.
14604 (grub_raid_scan_device): Replace `device[x].name' accesses with
14605 `device[x]->name'. Simplify initialization of `array->device[x]'.
14606
554f0187 146072008-02-08 Robert Millan <rmh@aybabtu.com>
14608
14609 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
14610 grub_dprintf() calls.
14611 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
14612 error message.
14613
1ec8425d 146142008-02-07 Christian Franke <franke@computer.org>
14615
14616 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
14617 instead of fseek and ftell to support large files.
14618 (grub_hostfs_read): Likewise.
14619
f2156fda 146202008-02-07 Robert Millan <rmh@aybabtu.com>
14621
14622 Patch from Jeroen Dekkers.
14623 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 14624 failure, since successfully reading all array members might not be
f2156fda 14625 required.
14626
9216e0e7 146272008-02-06 Robert Millan <rmh@aybabtu.com>
14628
14629 * util/grub-probe.c (probe): Simplify partmap probing (with the
14630 assumption that the first word up to the underscore equals to
14631 the module name).
14632
b0dfd29a 146332008-02-06 Christian Franke <franke@computer.org>
14634
14635 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
14636 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
14637 last block of a cpio or tar stream.
14638 Check for "TRAILER!!!" instead of any empty data
14639 block to detect last block of a cpio stream.
14640 (grub_cpio_dir): Fix constness of variable np.
14641 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
14642 cpio or tar trailer is detected. This fixes a crash
14643 on open of a non existing file.
14644
c32865bf 146452008-02-05 Bean <bean123ch@gmail.com>
14646
14647 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
14648 address of entry.
14649 (grub_multiboot_load_elf64): Likewise.
14650 (grub_multiboot): Initialize mbi structure.
14651
14652 * util/grub-fstest.c: Don't include unused header file script.h.
14653
fe6b695a 14654 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 14655 of file.
14656 (grub_fstest_SOURCES): Likewise.
14657
409480b7 146582008-02-05 Robert Millan <rmh@aybabtu.com>
14659
14660 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
14661 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
14662 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
14663 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
14664
14665 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
14666 (translation_table): Replace hardcoded values with macros
14667 provided by `<grub/term.h>'.
14668
14669 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
14670 (keyboard_map): Correct/add a few values, with macros provided
14671 by `<grub/term.h>'.
14672 (keyboard_map_shift): Zero values that don't differ from their
14673 `keyboard_map' equivalents.
14674 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
14675 Discard the second scan code that is always sent by Caps lock.
14676 Only use `keyboard_map_shift' when it provides a non-zero value,
14677 otherwise fallback to `keyboard_map'.
14678
99fadbaa 146792008-02-04 Bean <bean123ch@gmail.com>
14680
14681 * Makefile.in (enable_grub_fstest): New variable.
14682
14683 * conf/common.rmk (grub_fstest_init.lst): New rule.
14684 (grub_fstest_init.h): Likewise.
14685 (grub_fstest_init.c): Likewise.
14686 (util/grub-fstest.c_DEPENDENCIES): New variable.
14687 (grub_fstest_SOURCES): Likewise.
14688
14689 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
14690
14691 * util/grub-fstest.c: New file.
14692
bf567c50 146932008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14694
14695 Make grub-setup handle a separate root device.
f19dbdb7 14696
bf567c50 14697 * util/i386/pc/grub-setup.c (setup): Always open the root device,
14698 so that the root device can be compared with the destination
14699 device.
14700 When embedding the core image, if the root and destination devices
14701 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
14702 0xFF.
14703 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 14704
9be6b98b 147052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14706
14707 Add support for having a grub directory in a different drive. This
14708 is still only the data handling part.
f19dbdb7 14709
9be6b98b 14710 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
14711 (codestart): Save %dh in GRUB_ROOT_DRIVE.
14712 (grub_root_drive): New variable.
14713
14714 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
14715 instead of GRUB_BOOT_DRIVE to construct a device name. Set
14716 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14717 as it was.
14718
14719 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14720
14721 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14722 macro.
14723 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14724
14725 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14726 is bogus, because PXE booting does not specify any drive
14727 correctly.
14728
14729 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14730 am not sure if this is really correct.
14731
14732 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14733 is always identical to the boot drive when booting from a CD.
14734
14735 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14736 longer.
14737 (root_drive): New variable.
14738 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14739 (setup_sectors): Push %dx right after popping it, because %dh will
14740 be modified later.
14741 (copy_buffer): Restore %dx.
14742
e0ca0677 147432008-02-03 Robert Millan <rmh@aybabtu.com>
14744
14745 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14746 use `cdboot.img' for cdrom images.
14747
3b3f6629 147482008-02-03 Robert Millan <rmh@aybabtu.com>
14749
14750 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14751 only setup gfxterm when `font' command has succeeded.
14752
d42b3672 147532008-02-03 Robert Millan <rmh@aybabtu.com>
14754
14755 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14756 (grub_rescue_cmd_multiboot_loader)
14757 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14758
fa370ea6 147592008-02-03 Pavel Roskin <proski@gnu.org>
14760
e0c5dacb 14761 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14762 %edx and %esi from stack only after grub_gate_a20() is called.
14763 grub_gate_a20() clobbers %edx.
14764
f2a76e1d 147652008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14766
14767 * configure.ac (AC_INIT): Bumped to 1.96.
14768
14769 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14770 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14771 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14772 video/readers/png.c.
14773
90fd32d1 147742008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14775
14776 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14777 (cdboot_img_SOURCES): New variable.
14778 (cdboot_img_ASFLAGS): New variable.
14779 (cdboot_img_LDFLAGS): New variable.
14780
14781 * boot/i386/pc/cdboot.S: New file.
14782
14783 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14784 (cd_count): Likewise.
14785 (grub_biosdisk_get_drive): Add support for cd device.
14786 (grub_biosdisk_call_hook): Likewise.
14787 (grub_biosdisk_iterate): Likewise.
14788 (grub_biosdisk_open): Likewise.
14789 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14790 (grub_biosdisk_rw): Support reading from cd device.
14791 (GRUB_MOD_INIT): Iterate cd devices.
14792
14793 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14794 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14795 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14796
14797 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14798
4020aa53 147992008-02-02 Robert Millan <rmh@aybabtu.com>
14800
14801 * commands/read.c: New file.
14802 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
14803 (read_mod_SOURCES): New variable.
14804 (read_mod_CFLAGS): Likewise.
14805 (read_mod_LDFLAGS): Likewise.
14806
e03a1132 148072008-02-02 Robert Millan <rmh@aybabtu.com>
14808
14809 * normal/main.c (grub_normal_execute): Check for `menu->size' when
14810 determining whether menu has to be displayed.
14811
58c69220 148122008-02-02 Marco Gerards <marco@gnu.org>
14813
14814 * bus/pci.c: New file.
14815
14816 * include/grub/pci.h: Likewise.
14817
14818 * include/grub/i386/pc/pci.h: Likewise.
14819
14820 * commands/lspci.c: Likewise.
14821
14822 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
14823 `lspci.mod'.
14824 (pci_mod_SOURCES): New variable.
14825 (pci_mod_CFLAGS): Likewise.
14826 (pci_mod_LDFLAGS): Likewise.
14827 (lspci_mod_SOURCES): Likewise.
14828 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 14829 (lspci_mod_LDFLAGS): Likewise.
58c69220 14830
c004e1b4 148312008-02-02 Bean <bean123ch@gmail.com>
14832
14833 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
14834 (grub_ufs_get_file_block): Fix indirect block calculation problem.
14835
14836 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
14837 (grub_xfs_btree_node): New structure.
14838 (grub_xfs_btree_root): New structure.
14839 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
14840 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
14841 (GRUB_XFS_EXTENT_BLOCK): Likewise.
14842 (GRUB_XFS_EXTENT_SIZE): Likewise.
14843 (grub_xfs_read_block): Support btree format type.
14844 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
14845 Use directory block as basic unit.
14846
14847 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
14848
14849 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
14850 __attribute__ ((__regparm__ (1))).
14851
f95562bf 148522008-02-01 Robert Millan <rmh@aybabtu.com>
14853
14854 Correct a mistake in previous commit.
14855
14856 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
14857 top.
14858 (normal/command.c_DEPENDENCIES): New variable.
14859
7d31f41f 148602008-02-01 Robert Millan <rmh@aybabtu.com>
14861
14862 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
14863 top.
14864 (normal/command.c_DEPENDENCIES): New variable.
14865 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
14866 * conf/i386-ieee1275.rmk: Likewise.
14867 * conf/i386-linuxbios.rmk: Likewise.
14868 * conf/i386-pc.rmk: Likewise.
14869 * conf/sparc64-ieee1275.rmk: Likewise.
14870 * conf/powerpc-ieee1275.rmk: Likewise.
14871 (grub_emu_SOURCES): Add `fs/fshelp.c'.
14872
14873 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
14874
60b6be74 148752008-02-01 Robert Millan <rmh@aybabtu.com>
14876
14877 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
14878 call at beginning of function.
14879
078522ab 148802008-01-31 Pavel Roskin <proski@gnu.org>
14881
14882 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 14883 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
14884 (grub_mkrescue_SOURCES): Likewise.
078522ab 14885 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
14886
ccaa8a5f 148872008-01-30 Robert Millan <rmh@aybabtu.com>
14888
14889 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
14890 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
14891 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
14892 (grub_probe_SOURCES): ... to here.
14893
14894 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
14895 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
14896 * conf/i386-ieee1275.rmk: Likewise.
14897 * conf/i386-linuxbios.rmk: Likewise.
14898 * conf/powerpc-ieee1275.rmk: Likewise.
14899
ae5a9cd7 149002008-01-30 Tristan Gingold <gingold@free.fr>
14901
14902 * kern/rescue.c: Silently accept empty lines.
14903
70bc2ef2 149042008-01-29 Bean <bean123ch@gmail.com>
14905
14906 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
14907 (real_code_2): Code cleanup and change comment style.
14908 (move_memory): Avoid using 32-bit address mode.
14909
6a4d50ea 149102008-01-29 Bean <bean123ch@gmail.com>
14911
14912 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
14913 (png_mod_SOURCES): New variable.
14914 (png_mod_CFLAGS): Likewise.
14915 (png_mod_LDFLAGS): Likewise.
14916
14917 * video/readers/png.c: New file.
14918
11cc30ac 149192008-01-28 Robert Millan <rmh@aybabtu.com>
14920
14921 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
14922 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
14923 `ifndef GRUB_MOD_GAP' hack.
14924 * util/elf/grub-mkimage.c (add_segments): Likewise.
14925
3abc589f 149262008-01-27 Robert Millan <rmh@aybabtu.com>
14927
14928 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
14929 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 14930 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 14931
e1907778 149322008-01-27 Robert Millan <rmh@aybabtu.com>
14933
14934 Get grub-emu to build again (including parallel builds).
14935
14936 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
14937 Split into ...
14938 (util/grub-emu.c_DEPENDENCIES): ... this, ...
14939 (normal/execute.c_DEPENDENCIES): ... this, ...
14940 (grub-emu_DEPENDENCIES): ... and this.
14941
14942 * conf/i386-efi.rmk: Likewise.
14943 * conf/i386-linuxbios.rmk: Likewise.
14944 * conf/i386-ieee1275.rmk: Likewise.
14945 * conf/powerpc-ieee1275.rmk: Likewise.
14946 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
14947
2216b101 149482008-01-27 Robert Millan <rmh@aybabtu.com>
14949
14950 * NEWS: Add a few items.
14951
f75172d9 149522008-01-27 Robert Millan <rmh@aybabtu.com>
14953
14954 Fix parallel builds with grub-emu. Based on earlier commit for
14955 grub-probe and grub-setup.
14956
14957 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14958 (util/grub-emu.c_DEPENDENCIES): ... this.
14959 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14960 (util/grub-emu.c_DEPENDENCIES): ... this.
14961 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14962 (util/grub-emu.c_DEPENDENCIES): ... this.
14963 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14964 (util/grub-emu.c_DEPENDENCIES): ... this.
14965 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
14966 (util/grub-emu.c_DEPENDENCIES): ... this.
14967
3f51de77 149682008-01-27 Pavel Roskin <proski@gnu.org>
14969
14970 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
14971 to create a gap between _end and the modules added to the image
14972 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
14973 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
14974 * util/elf/grub-mkimage.c (add_segments): Likewise.
14975
2033f53e 149762008-01-26 Pavel Roskin <proski@gnu.org>
14977
14978 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
14979 just return an error.
14980
22da1f6f 149812008-01-26 Bean <bean123ch@gmail.com>
14982
14983 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
14984 (grub_reiserfs_get_item): Save offset of the next item.
14985 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
14986
2a9525e6 149872008-01-25 Robert Millan <rmh@aybabtu.com>
14988
14989 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
14990 make all filesystem sources appear together (possibly fixing omissions
14991 while at it).
14992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14994 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14996
14997 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
14998 add `kern/file.c'.
14999 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15000 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15001 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15002 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15003
15004 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15005 (probe): Add a sanity check to make sure of our ability to read
15006 requested files when probing for filesystem type.
15007
15008 * genmk.rb: Update copyright year (2007).
15009
15010 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15011 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15012 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15013 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15014 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15015 : Remove function prototypes.
15016
b95f71b5 150172008-01-25 Robert Millan <rmh@aybabtu.com>
15018
15019 Revert my previous commits (based on wrong assumption of how grub_errno
15020 works).
15021
fe6b695a 15022 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15023 * kern/file.c (grub_file_open): Likewise.
15024
d08bbb49 150252008-01-24 Pavel Roskin <proski@gnu.org>
15026
15027 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15028 that hang if GRUB tries to setup colors.
15029 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15030 colors for firmwares that don't support it.
15031 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15032 Recognize Open Hack'Ware, set flags to work around its
15033 limitations.
15034
605e36ed 150352008-01-24 Robert Millan <rmh@aybabtu.com>
15036
15037 * kern/file.c (grub_file_open): Do not account previous failures of
15038 unrelated functions when grub_errno is checked for.
15039 Reported by Oleg Strikov.
15040
bac332a1 150412008-01-24 Bean <bean123ch@gmail.com>
15042
15043 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15044 (grub_ufs_sblock): New member volume name.
15045 (grub_ufs_find_file): Fix string copy bug.
15046 (grub_ufs_label): Implement this function properly.
15047
15048 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15049 (grub_hfs_iterate_records): Use the correct file number for extents
15050 and catalog file. Fix problem in next index calculation.
15051 (grub_hfs_find_node): Replace recursive function call with loop.
15052 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15053
15c80c09 150542008-01-23 Robert Millan <rmh@aybabtu.com>
15055
15056 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15057 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15058 (grub_multiboot2_real_boot): New function prototype.
15059
15060 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15061 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15062
15063 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15064 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15065
305338fd 150662008-01-23 Robert Millan <rmh@aybabtu.com>
15067
15068 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15069 #ifdef'ed out grub_printf().
15070
3ea52685 150712008-01-23 Robert Millan <rmh@aybabtu.com>
15072
15073 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15074 grub_dprintf calls, since they make "debug=all" mode unusable.
15075 (grub_console_checkkey): Likewise.
15076
5882ae4b 150772008-01-23 Robert Millan <rmh@aybabtu.com>
15078
15079 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15080 `term/i386/pc/at_keyboard.c'.
15081 (pkglib_MODULES): Add `serial.mod'.
15082 (serial_mod_SOURCES): New variable.
15083 (serial_mod_CFLAGS): Likewise.
15084 (serial_mod_LDFLAGS): Likewise.
15085
15086 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15087 `<grub/powerpc/ieee1275/console.h>'.
15088 (grub_keyboard_controller_init): New function prototype.
15089 (grub_console_checkkey): Likewise.
15090 (grub_console_getkey): Likewise.
15091
15092 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15093 keyboard on i386.
15094
15095 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15096 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15097
06ab5303 150982008-01-23 Robert Millan <rmh@aybabtu.com>
15099
15100 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15101 present, "(memdisk)/boot/grub" becomes the default prefix.
15102
15103 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15104 a memdisk tarball with all the modules. Add --overlay=DIR option that
15105 allows users to overlay additional files into the image.
15106
dbb475a4 151072008-01-23 Robert Millan <rmh@aybabtu.com>
15108
15109 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15110 and `machine/memory.h'.
15111 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15112 (_multiboot_mod_SOURCES): New variable.
15113 (_multiboot_mod_CFLAGS): Likewise.
15114 (_multiboot_mod_LDFLAGS): Likewise.
15115 (multiboot_mod_SOURCES): Likewise.
15116 (multiboot_mod_CFLAGS): Likewise.
15117 (multiboot_mod_LDFLAGS): Likewise.
15118
15119 * include/grub/i386/ieee1275/loader.h: New file.
15120
15121 * include/grub/i386/ieee1275/machine.h: Likewise.
15122
15123 * include/grub/i386/ieee1275/memory.h: Likewise.
15124
15125 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15126 variable declaration.
15127 (grub_os_area_size): Likewise.
15128
15129 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15130 (grub_lower_mem, grub_upper_mem): New variables.
15131 (grub_stop_floppy): New function (just to make
15132 grub_multiboot2_real_boot() happy).
15133
15134 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15135 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15136 (grub_stop): New function.
15137 Include `"../realmode.S"' and `"../loader.S"'.
15138
15139 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15140 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15141
15142 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15143 rely on grub_multiboot2_real_boot() for final boot.
15144
25638629 151452008-01-22 Robert Millan <rmh@aybabtu.com>
15146
15147 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15148 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15149 device that doesn't look like an SD card.
15150 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15151 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15152 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15153 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15154 found.
15155
9dad816d 151562008-01-22 Robert Millan <rmh@aybabtu.com>
15157
15158 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15159 avoid claiming over our own code.
15160
34842f2d 151612008-01-22 Bean <bean123ch@gmail.com>
15162
15163 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15164 (jpeg_mod_SOURCES): New variable.
15165 (jpeg_mod_CFLAGS): Likewise.
15166 (jpeg_mod_LDFLAGS): Likewise.
15167
15168 * video/readers/jpeg.c : New file.
15169
44023a28 151702008-01-22 Bean <bean123ch@gmail.com>
15171
15172 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15173 there are no more items.
15174
bc2d8ac6 151752008-01-21 Robert Millan <rmh@aybabtu.com>
15176
15177 * kern/mm.c (grub_mm_init_region): Improve debug message.
15178
261bd4bc 151792008-01-21 Robert Millan <rmh@aybabtu.com>
15180
15181 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15182 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15183 address.
15184 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15185 a C macro.
15186 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15187 Indicates start of upper memory.
15188 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15189 (generate_image): Abort when image size is big enough to corrupt
15190 upper memory.
15191
15192 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15193 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15194 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15195 instead of hardcoding 0xA0000.
15196 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15197 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15198 instead of hardcoding 0xA0000.
15199
f970b55e 152002008-01-21 Robert Millan <rmh@aybabtu.com>
15201
15202 * disk/memdisk.c (memdisk_size): New variable.
15203 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15204 `memdisk_size'.
15205 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15206 image to dynamic memory.
15207 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15208 `memdisk_size'. Free memdisk block.
15209
1a8b0526 152102008-01-21 Robert Millan <rmh@aybabtu.com>
15211
15212 Fix detection of very small filesystems (like tar).
15213
15214 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15215 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15216 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15217 a problem with this disk).
15218
6e9b4aab 152192008-01-21 Robert Millan <rmh@aybabtu.com>
15220
15221 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15222 on grub_biosdisk_rw_standard() error.
15223
0d8837b2 152242008-01-21 Robert Millan <rmh@aybabtu.com>
15225
15226 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15227 recent changes.
15228 * kern/elf.c: Likewise.
15229 * kern/ieee1275/ieee1275.c: Likewise.
15230 * kern/powerpc/ieee1275/openfw.c: Likewise.
15231 * term/ieee1275/ofconsole.c: Likewise.
15232
ffd36e34 152332008-01-21 Robert Millan <rmh@aybabtu.com>
15234
15235 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15236
3f0093d0 15237 * include/grub/kernel.h (grub_arch_memdisk_addr)
15238 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15239
3f0093d0 15240 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15241 (grub_arch_memdisk_size): ... to here.
ffd36e34 15242
6c391b21 152432008-01-21 Robert Millan <rmh@aybabtu.com>
15244
15245 Mostly based on bugfix from Bean.
15246
15247 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15248 attribute with hook() parameter.
15249 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15250 declaration.
15251 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15252 attribute with hook() parameter.
15253 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15254 declaration.
15255
55a581dc 152562008-01-21 Robert Millan <rmh@aybabtu.com>
15257
15258 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15259 (pkglib_MODULES): Add `memdisk.mod'.
15260 (memdisk_mod_SOURCES): New variable.
15261 (memdisk_mod_CFLAGS): Likewise.
15262 (memdisk_mod_LDFLAGS): Likewise.
15263
15264 * disk/memdisk.c: New file.
15265
15266 * include/grub/disk.h (grub_disk_dev_id): Add
15267 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15268
15269 * include/grub/i386/pc/kernel.h
15270 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15271 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15272 (grub_kernel_image_size): New variable declaration.
15273 (grub_total_module_size): Likewise.
15274 (grub_memdisk_image_size): Likewise.
15275
15276 * include/grub/i386/pc/memory.h
15277 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15278
15279 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15280 (grub_arch_memdisk_addr): New variable declaration.
15281 (grub_arch_memdisk_size): Likewise.
15282
15283 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15284 (grub_arch_memdisk_size): Likewise.
15285
15286 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15287 (codestart): Replace hardcoded `0x100000' with
15288 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15289
15290 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15291 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15292 not NULL, append the contents of the file it refers to, at the end of
15293 the compressed kernel image. Initialize `grub_memdisk_image_size'
15294 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15295 (options): Add "memdisk"|'m' option.
15296 (main): Parse --memdisk|-m option, and pass user-provided path as
15297 parameter to generate_image().
15298
3d7f54c9 152992008-01-20 Robert Millan <rmh@aybabtu.com>
15300
15301 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15302 grub_dprintf() calls from here ...
15303 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15304
0bf74728 153052008-01-20 Robert Millan <rmh@aybabtu.com>
15306
15307 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15308
15309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15310 declaration.
15311 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15312 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15313 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15314 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15315 property).
15316 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15317 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15318
33bf70a7 153192008-01-19 Robert Millan <rmh@aybabtu.com>
15320
fe6b695a 15321 Get rid of confusing function (superseded by
33bf70a7 15322 `grub_ieee1275_get_integer_property')
15323 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15324 prototype.
15325 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15326 function.
15327 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15328 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15329 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15330
e2da7d26 153312008-01-19 Robert Millan <rmh@aybabtu.com>
15332
15333 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15334 command after "shut-down", since implementations differ on which
15335 the command for halt is.
15336
59f1fd8d 153372008-01-19 Robert Millan <rmh@aybabtu.com>
15338
15339 * include/grub/i386/linuxbios/console.h: Add header protection.
15340 (grub_keyboard_controller_init): New function prototype.
15341 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
15342 (KEYBOARD_COMMAND_READ): Likewise.
15343 (KEYBOARD_COMMAND_WRITE): Likewise.
15344 (KEYBOARD_SCANCODE_SET1): Likewise.
15345 (grub_keyboard_controller_write): New function.
15346 (grub_keyboard_controller_read): Likewise.
15347 (grub_keyboard_controller_init): Likewise.
15348
15349 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
15350 (grub_console_init): On coreboot/LinuxBIOS, call
15351 grub_keyboard_controller_init().
15352
5f5a7c15 153532008-01-19 Robert Millan <rmh@aybabtu.com>
15354
15355 PowerPC changes provided by Pavel Roskin.
15356
15357 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
15358 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
15359 don't rely on cmain() doing it.
15360 * kern/i386/ieee1275/startup.S (_start): Store %eax in
15361 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
15362
1210e168 153632008-01-16 Robert Millan <rmh@aybabtu.com>
15364
15365 * include/grub/i386/linuxbios/memory.h
15366 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
15367 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
15368 receive `table_header' as argument. Instead, probe for it in the
15369 known memory ranges where it can be present.
15370 (grub_available_iterate): Do not pass a fixed `table_header' address
15371 to grub_linuxbios_table_iterate().
15372
3d04eab8 153732008-01-15 Robert Millan <rmh@aybabtu.com>
15374
15375 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
15376 * conf/i386-ieee1275.rmk: New file.
15377 * include/grub/i386/ieee1275/console.h: Likewise.
15378 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
15379 * include/grub/i386/ieee1275/kernel.h: Likewise.
15380 * include/grub/i386/ieee1275/time.h: Likewise.
15381 * kern/i386/ieee1275/init.c: Likewise.
15382 * kern/i386/ieee1275/startup.S: Likewise.
15383
d1bc1b73 153842008-01-15 Robert Millan <rmh@aybabtu.com>
15385
15386 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
15387 when pointers are 32-bit (but still do set it to one when they are
15388 64-bit).
15389
66a65807 153902008-01-15 Robert Millan <rmh@aybabtu.com>
15391
15392 * include/grub/ieee1275/ieee1275.h
15393 (grub_ieee1275_get_integer_property): New function prototype.
15394
15395 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
15396 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 15397 grub_ieee1275_get_property() to handle endianness.
66a65807 15398
15399 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
15400 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 15401 where appropriate.
66a65807 15402 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
15403 (grub_map): Likewise.
15404 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
15405
a83ccafd 154062008-01-15 Bean <bean123ch@gmail.com>
15407
15408 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
15409 (grub_script_execute_cmdline): Reset grub_errno.
15410
15411 * normal/main.c (read_config_file): Reset grub_errno.
15412
15413 * normal/parse.y (script_init): New.
15414 (script): Move function and menuentry here.
15415 (delimiter): New.
15416 (command): Add delimiter at the end of command.
15417 (commands): Adjust to match the new command.
15418 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 15419 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 15420 (if): Use the new commands.
15421
15422 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
15423
df6ecfc6 154242008-01-15 Robert Millan <rmh@aybabtu.com>
15425
15426 * normal/menu.c (run_menu): Move timeout message from here ...
15427 (print_timeout): ... to here.
15428 (run_menu): Use print_timeout() once during initial draw to print
15429 the whole message, and again in every clock tick to update only
15430 the number of seconds.
15431
87ae25eb 154322008-01-15 Robert Millan <rmh@aybabtu.com>
15433
15434 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
15435 actual size of `available' from grub_ieee1275_get_property(), and
15436 restrict parsing to that bound.
15437
47bf09a4 154382008-01-15 Christian Franke <franke@computer.org>
15439
15440 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
15441 (argp_program_version): Remove variable.
15442 (argp_program_bug_address): Likewise.
15443 (options): Convert from struct argp_option to struct option.
15444 (struct arguments): Remove.
15445 (parse_opt): Remove.
15446 (usage): New function.
15447 (main): Replace struct args members by simple variables.
15448 Replace argp_parse() by getopt_long().
15449 Add switch to evaluate options.
15450 Add missing "(...)" around root_dev in prefix string.
15451
c86f1469 154522008-01-14 Robert Millan <rmh@aybabtu.com>
15453
15454 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
15455 for grub_ieee1275_exit(), in order to improve portability.
15456
e622c559 154572008-01-14 Robert Millan <rmh@aybabtu.com>
15458
15459 * util/grub.d/10_linux.in (prefix): Define.
15460 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
15461
44cb1ec8 154622008-01-13 Pavel Roskin <proski@gnu.org>
15463
15464 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
15465 grub_errno if no errors have been detected.
15466
1eb8c802 154672008-01-12 Robert Millan <rmh@aybabtu.com>
15468
15469 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
15470 (grub_util_get_dev_abstraction): New function prototype.
15471
15472 * util/getroot.c: Include `<grub/util/getroot.h>'
15473 (grub_util_get_grub_dev): Move detection of abstraction type to ...
15474 (grub_util_get_dev_abstraction): ... here (new function).
15475
15476 * util/grub-probe.c: Convert PRINT_* to an enum. Add
15477 `PRINT_ABSTRACTION'.
15478 (probe): Probe for abstraction type when requested.
15479 (main): Understand `--target=abstraction'.
15480
15481 * util/i386/efi/grub-install.in: Add abstraction module to core
15482 image when it is found to be necessary.
15483 * util/i386/pc/grub-install.in: Likewise.
15484 * util/powerpc/ieee1275/grub-install.in: Likewise.
15485
15486 * util/update-grub_lib.in (font_path): Return system path without
15487 converting to GRUB path.
15488 * util/update-grub.in: Convert system path returned by font_path()
15489 to a GRUB path. Use `grub-probe -t abstraction' to determine what
15490 abstraction module is needed for loading fonts (if any). Export
15491 that as `GRUB_PRELOAD_MODULES'.
15492 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
15493 insmod commands).
15494
52bd3de9 154952008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
15496
15497 Remove some unused code from reiserfs.
f19dbdb7 15498
52bd3de9 15499 * fs/reiserfs.c (struct grub_reiserfs_key)
15500 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
15501 (struct grub_reiserfs_node_body): Removed.
15502 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15503 Likewise.
15504 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15505 Likewise.
15506 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15507 Likewise.
15508 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15509 Likewise.
15510 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15511 Likewise.
15512 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
15513 Likewise.
15514 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15515 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15516 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15517
2f80039d 155182008-01-10 Robert Millan <rmh@aybabtu.com>
15519
15520 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
15521 Determines if a file is garbage left by packaging systems, etc.
15522 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
15523 for processing /etc/grub.d scripts.
15524 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
15525 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
15526 as a condition for processing Linux images.
15527
87888032 155282008-01-10 Pavel Roskin <proski@gnu.org>
15529
15530 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
15531 to compile reiserfs.c on PowerPC.
15532
7e54fced 155332008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 15534
15535 * kern/device.c (grub_device_iterate): Do not abort device iteration
15536 when one of the devices cannot be opened.
15537 * kern/disk.c (grub_disk_open): Do not account previous failures of
15538 unrelated functions when grub_errno is checked for.
15539
5aa541e6 155402008-01-08 Robert Millan <rmh@aybabtu.com>
15541
15542 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
15543 `! grub_linux_is_bzimage', change order of address comparison to make
15544 it more intuitive, and improve "too big zImage" error message.
15545
7076340d 155462008-01-08 Robert Millan <rmh@aybabtu.com>
15547
15548 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
15549 `$(update-grub_DATA)'.
15550 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
15551 targets.
15552
9ca70333 155532008-01-07 Robert Millan <rmh@aybabtu.com>
15554
15555 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
15556 which instruction is modified by grub-setup during installation
15557 (since it wasn't obvious by only looking at this file).
15558
38ccf575 155592008-01-07 Robert Millan <rmh@aybabtu.com>
15560
15561 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
15562 listing actual TODO items.
15563
f5db4291 155642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15565
868967cf 15566 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
15567 correctly.
15568 (grub_reiserfs_get_key_offset): Likewise.
15569 (grub_reiserfs_set_key_offset): Likewise.
15570 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 15571 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 15572
15573 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
15574 better to remove the bitfield version completely.
f19dbdb7 15575
868967cf 155762008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15577
f5db4291 15578 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
15579 allocated from the heap, due to the fshelp implementation.
15580 (grub_reiserfs_dir): Free NODE, due to the same reason.
15581
492e6d9d 155822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15583
15584 Mostly from Vincent Pelletier:
f19dbdb7 15585
492e6d9d 15586 * fs/reiserfs.c: New file.
f19dbdb7 15587
492e6d9d 15588 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
15589 (reiserfs_mod_SOURCES): New variable.
15590 (reiserfs_mod_CFLAGS): Likewise.
15591 (reiserfs_mod_LDFLAGS): Likewise.
15592
15593 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
15594 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
15595 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
15596 normal/color.c.
15597
9ce3e7c1 155982008-01-06 Robert Millan <rmh@aybabtu.com>
15599
15600 * normal/color.c: Remove `<grub/env.h>'.
15601
f3b58148 156022008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
15603
15604 * include/grub/normal.h: Include <grub/env.h>.
15605
7ac3bcfa 156062008-01-05 Robert Millan <rmh@aybabtu.com>
15607
15608 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
15609 usage example with `(hd0,1)'.
fb358190 15610 Reported by Samuel Thibault.
7ac3bcfa 15611
c8ee99d7 156122008-01-05 Robert Millan <rmh@aybabtu.com>
15613
15614 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
15615 (grub_linux_boot_zimage): Rename to ...
15616 (grub_linux_boot): ... this.
15617 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
15618 (grub_linux_boot_zimage): Conditionalize zImage copy.
15619
15620 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
15621 (grub_linux_boot_bzimage): Remove prototype.
15622 (grub_linux_boot_zimage): Rename to ...
15623 (grub_linux_boot): ... this.
15624
15625 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
15626 (grub_linux_boot): Remove function.
15627
0ece25b1 156282008-01-05 Robert Millan <rmh@aybabtu.com>
15629
15630 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
15631 (grub_env_write_color_highlight): Likewise.
15632 (grub_wait_after_message): Likewise.
15633
15634 * normal/color.c: New file.
15635
15636 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15637 (normal_mod_DEPENDENCIES): Likewise.
15638
15639 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15640 (normal_mod_DEPENDENCIES): Likewise.
15641
15642 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15643 (normal_mod_DEPENDENCIES): Likewise.
15644
15645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15646 (normal_mod_DEPENDENCIES): Likewise.
15647
15648 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
15649 for waiting after a message is printed.
15650 * normal/main.c (read_config_file): Likewise.
15651 (grub_normal_init): Register grub_env_write_color_normal() and
15652 grub_env_write_color_highlight() hooks. Mark `color_normal' and
15653 `color_highlight' variables as global.
15654
15655 * normal/menu.c (grub_wait_after_message): New function.
15656 (grub_color_menu_normal): New variable. Replaces ...
15657 (GRUB_COLOR_MENU_NORMAL): ... this macro.
15658 (grub_color_menu_highlight): New variable. Replaces ...
15659 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
15660 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
15661 `GRUB_TERM_COLOR_STANDARD'.
15662 (print_message): Use `grub_setcolorstate' to reload colors. Rename
15663 `normal_code' and `highlight_code' to `old_color_normal' and
15664 `old_color_highlight', respectively.
15665 (grub_menu_init_page): Update colors when drawing the menu, based on
15666 `menu_color_normal' and `menu_color_highlight' variables.
15667 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
15668 a message is printed.
15669
182dd4e5 156702008-01-05 Robert Millan <rmh@aybabtu.com>
15671
15672 * kern/env.c (grub_env_context_open): Propagate hooks for global
15673 variables to new context.
15674
15675 * kern/main.c (grub_set_root_dev): Export `root' variable.
15676
ddf8f6ad 156772008-01-05 Robert Millan <rmh@aybabtu.com>
15678
15679 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 15680 discs unconditionally, since udev and others have options to provide
ddf8f6ad 15681 them.
15682
d8b43d9b 156832008-01-05 Robert Millan <rmh@aybabtu.com>
15684
15685 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
15686
2bff2de3 156872008-01-04 Christian Franke <franke@computer.org>
15688
15689 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
15690 of eisa_mmap.
15691
97eab917 156922008-01-03 Pavel Roskin <proski@gnu.org>
15693
15694 * kern/i386/linuxbios/init.c: Put "void" to all function
15695 declarations with no arguments.
15696 * kern/powerpc/ieee1275/init.c: Likewise.
15697 * term/i386/pc/at_keyboard.c: Likewise.
15698 * term/i386/pc/vga_text.c: Likewise.
15699 * util/grub-mkdevicemap.c: Likewise.
15700
b9416d00 157012008-01-02 Robert Millan <rmh@aybabtu.com>
15702
15703 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
15704 message when loaded image is out of bounds.
15705 (grub_multiboot_load_elf64): Likewise.
15706
92695df9 157072008-01-02 Pavel Roskin <proski@gnu.org>
15708
15709 * util/grub.d/10_linux.in: Try version without ".old" when
15710 looking for initrd. It's better to use initrd from the newer
15711 kernel of the same version than no initrd at all.
15712
d98d9cad 157132008-01-01 Robert Millan <rmh@aybabtu.com>
15714
15715 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
15716
dbfdce36 157172008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15718
f19dbdb7 15719 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15720 grub_video_get_active_render_target.
15721 (grub_video_adapter): Added unmap_color and get_active_render_target.
15722
f19dbdb7 15723 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15724 grub_video_get_active_render_target.
15725 (grub_video_get_info): Changed method to accept NULL pointer as an
15726 argument to allow detection of active video adapter.
15727
15728 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15729 grub_video_vbe_unmap_color_int.
15730 Added grub_video_vbe_unmap_color and
15731 grub_video_vbe_get_active_render_target.
15732 (grub_video_vbe_adapter): Added unmap_color and
15733 get_active_render_target.
15734
f19dbdb7 15735 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15736 with grub_video_vbe_unmap_color_int.
15737
15738 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15739 (DEFAULT_NORMAL_COLOR): Likewise.
15740 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15741 (DEFAULT_FG_COLOR): Removed.
15742 (DEFAULT_BG_COLOR): Likewise.
15743 (DEFAULT_CURSOR_COLOR): Changed value.
15744 (grub_virtual_screen): Added standard_color_setting,
15745 normal_color_setting, highlight_color_setting and term_color.
15746 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15747 (bitmap_width): Added.
15748 (bitmap_height): Likewise.
15749 (bitmap): Likewise.
15750 (set_term_color): Likewise.
15751 (grub_virtual_screen_setup): Changed to use new terminal coloring
15752 settings.
15753 (grub_gfxterm_init): Added init for bitmap.
15754 (grub_gfxterm_fini): Added destroy for bitmap.
15755 (redraw_screen_rect): Updated to use background bitmap and new
15756 terminal coloring.
15757 (scroll_up): Added optimization for case when there is no bitmap.
15758 (grub_gfxterm_cls): Fixed to use correct background color.
15759 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15760 coloring.
15761 (grub_virtual_screen_setcolor): Likewise.
15762 (grub_virtual_screen_getcolor): Added.
15763 (grub_gfxterm_background_image_cmd): Likewise.
15764 (grub_video_term): Added setcolor and getcolor.
15765 (MOD_INIT): Added registration of background_image command.
15766 (MOD_TERM): Added unregistration for background_image command.
15767
c3c20931 157682007-12-30 Pavel Roskin <proski@gnu.org>
15769
15770 * loader/multiboot_loader.c: Fix multiboot command
15771 unregistration. Fix all typos in the word "multiboot".
15772
df266716 157732007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15774
15775 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15776 support for initrd names used in Fedora.
15777
fc6e896c 157782007-12-26 Bean <bean123ch@gmail.com>
15779
15780 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15781 (cpio_mod_SOURCES): New variable.
15782 (cpio_mod_CFLAGS): Likewise.
15783 (cpio_mod_LDFLAGS): Likewise.
15784
15785 * fs/cpio.c: New file.
15786
15787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15788
15789 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15790
15791 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15792
15793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15794
533110ad 157952007-12-25 Robert Millan <rmh@aybabtu.com>
15796
15797 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15798 (grub_getcolor): New function.
15799
15800 * kern/term.c (grub_getcolor): New function.
15801 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15802 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
15803 (print_entry): Set normal and highlight colors to
15804 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
15805 respectively, before printing and restore them to old
15806 values afterwards.
15807 (grub_menu_init_page): Likewise. Fill an additional colored space
15808 that would otherwise be left blank.
15809
15810 * term/efi/console.c (grub_console_getcolor): New function.
15811 (struct grub_console_term.getcolor): New variable.
15812 * term/i386/pc/console.c (grub_console_getcolor): New function.
15813 (struct grub_console_term.getcolor): New variable.
15814 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
15815 (struct grub_console_term.getcolor): New variable.
15816
15817 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
15818 (struct grub_console_term.setcolor): Remove variable.
15819 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
15820 (struct grub_console_term.setcolor): Remove variable.
15821 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
15822 (struct grub_console_term.setcolor): Remove variable.
15823 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
15824 (struct grub_console_term.setcolor): Remove variable.
15825
4931827f 158262007-12-25 Robert Millan <rmh@aybabtu.com>
15827
15828 * configure.ac: Search for possible unifont.hex locations, and
15829 define UNIFONT_HEX if found.
15830
15831 * Makefile.in (UNIFONT_HEX): Define variable.
15832 (DATA): Rename to ...
15833 (PKGLIB): ... this. Update all users.
15834 (PKGDATA): New variable.
15835 (pkgdata_IMAGES): Rename to ...
15836 (pkglib_IMAGES): ... this. Update all users.
15837 (pkgdata_MODULES): Rename to ...
15838 (pkglib_MODULES): ... this. Update all users.
15839 (pkgdata_PROGRAMS): Rename to ...
15840 (pkglib_PROGRAMS): ... this. Update all users.
15841 (pkgdata_DATA): Rename to ...
15842 (pkglib_DATA): ... this. Update all users.
15843 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
15844 (unicode.pff, ascii.pff): New rules.
15845 (all-local): Add `$(PKGDATA)' dependency.
15846 (install-local): Process `$(PKGDATA)'.
15847
15848 * util/update-grub_lib.in (font_path): Search for *.pff files in
15849 a few more locations, including `${pkgdata}'.
15850
57e57e31 158512007-12-23 Robert Millan <rmh@aybabtu.com>
15852
15853 Patch from Bean <bean123ch@gmail.com>:
15854 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
15855 `size'.
15856
4bc72aa9 158572007-12-21 Bean <bean123ch@gmail.com>
15858
15859 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
15860 (ntfscomp_mod_SOURCES): New variable.
15861 (ntfscomp_mod_CFLAGS): Likewise.
15862 (ntfscomp_mod_LDFLAGS): Likewise.
15863
15864 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
15865 (grub_probe_SOURCES): Likewise.
15866 (grub_emu_SOURCES): Likewise.
15867
15868 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15869 (grub_emu_SOURCES): Likewise.
15870
15871 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15872 (grub_emu_SOURCES): Likewise.
15873
15874 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
15875 (grub_emu_SOURCES): Likewise.
15876
15877 * fs/ntfs.c (grub_ntfscomp_func): New variable.
15878 (read_run_list): Renamed to grub_ntfs_read_run_list.
15879 (decomp_nextvcn): Moved to ntfscomp.c.
15880 (decomp_getch): Likewise.
15881 (decomp_get16): Likewise.
15882 (decomp_block): Likewise.
15883 (read_block): Likewise.
15884 (read_data): Partially moved to ntfscomp.c.
15885 (fixup): Change unsigned to grub_uint16_t.
15886 (read_mft): Change unsigned long to grub_uint32_t.
15887 (read_attr): Likewise.
15888 (read_data): Likewise.
15889 (read_run_data): Likewise.
15890 (read_run_list): Likewise.
15891 (read_mft): Likewise.
15892
15893 * fs/ntfscomp.c: New file.
15894
15895 * include/grub/ntfs.h: New file.
15896
af680a87 158972007-12-16 Robert Millan <rmh@aybabtu.com>
15898
15899 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
15900 IDE disk check, since Linux is known to support 20 IDE disks.
15901 Reported by Colin Watson.
15902
84be7599 159032007-12-15 Bean <bean123ch@gmail.com>
15904
15905 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
15906 (lnxboot_img_SOURCES): New variable.
15907 (lnxboot_img_ASFLAGS): Likewise.
15908 (lnxboot_img_LDFLAGS): Likewise.
15909
15910 * boot/i386/pc/lnxboot.S: New file.
15911
6af9db01 159122007-11-24 Pavel Roskin <proski@gnu.org>
15913
15914 * configure.ac: Test if '--build-id=none' is supported by the
15915 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
15916 objcopy to generate incorrect binary files (binutils
15917 2.17.50.0.18-1 as shipped by Fedora 8).
15918 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
15919 linking, so that build ID doesn't break the test.
15920
7361cfe6 159212007-11-24 Pavel Roskin <proski@gnu.org>
15922
15923 * include/grub/i386/time.h: use "void" in the argument list
15924 of grub_cpu_idle().
15925 * include/grub/powerpc/time.h: Likewise.
15926 * include/grub/sparc64/time.h: Likewise.
15927
1593e10c 159282007-11-18 Christian Franke <franke@computer.org>
15929
15930 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
15931 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
15932 This fixes the problem that function keys did not work in grub-emu.
15933
3b8db1a8 159342007-11-18 Christian Franke <franke@computer.org>
15935
15936 * disk/host.c (grub_host_open): Remove attribute unused from
15937 name parameter. Add check for "host". This fixes the problem
15938 that grub-emu does not find partitions.
15939
2e29408d 159402007-11-18 Christian Franke <franke@computer.org>
15941
15942 * util/hostfs.c (is_dir): New function.
15943 (grub_hostfs_dir): Handle missing dirent.d_type case.
15944 (grub_hostfs_read): Add missing fseek().
15945 (grub_hostfs_label): Clear label pointer. This fixes a crash
15946 of grub-emu on "ls (host)".
15947
398cd047 159482007-11-18 Christian Franke <franke@computer.org>
15949
15950 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
15951 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
15952 to 64 bit boundary by default.
15953
c405c391 159542007-11-18 Bean <bean123ch@gmail.com>
15955
15956 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
15957 (hexdump_mod_SOURCES): New variable.
15958 (hexdump_mod_CFLAGS): Likewise.
15959 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 15960
c405c391 15961 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15962
15963 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15964
15965 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15966
15967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
15968
15969 * include/grub/hexdump.h: New file.
15970
15971 * commands/hexdump.c: New file.
15972
5cced7fd 159732007-11-10 Robert Millan <rmh@aybabtu.com>
15974
15975 * commands/i386/pc/play.c (beep_off): Switch order of arguments
15976 in grub_outb() calls.
15977 (beep_on): Likewise.
15978
8b714eb0 159792007-11-10 Christian Franke <franke@computer.org>
15980
15981 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
15982 (grub_menu_run): Likewise.
15983
ce0f1839 159842007-11-10 Robert Millan <rmh@aybabtu.com>
15985
15986 * include/grub/i386/efi/machine.h: New file.
15987 * include/grub/i386/linuxbios/machine.h: Likewise.
15988 * include/grub/i386/pc/machine.h: Likewise.
15989 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15990 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15991
15992 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
15993 (serial_hw_io_addr): New variable.
15994 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
15995 instead of `(unsigned short *) 0x400'.
15996
270c237d 159972007-11-10 Bean <bean123ch@gmail.com>
15998
15999 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16000
a87783bf 160012007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16002
16003 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16004 (vga_mod_SOURCES): Added.
16005 (vga_mod_CFLAGS): Likewise.
16006 (vga_mod_LDFLAGS): Likewise.
16007
16008 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16009 grub_outb() calls.
16010 (set_map_mask): Likewise.
16011 (set_read_map): Likewise.
16012 (set_read_address): Likewise.
16013 (vga_font): Removed variable.
16014 (get_vga_glyph): Removed function.
16015 (invalidate_char): Likewise.
16016 (write_char): Changed to use grub_font_get_glyph() for font
16017 information.
16018 (grub_vga_putchar): Likewise.
16019 (grub_vga_getcharwidth): Likewise.
16020
6433b448 160212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16022
16023 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16024 flags.
16025 (pxeboot_img_LDFLAGS): Likewise.
16026 (diskboot_img_LDFLAGS): Likewise.
16027 (kernel_img_LDFLAGS): Likewise.
16028
49178511 160292007-11-06 Robert Millan <rmh@aybabtu.com>
16030
16031 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16032 in grub_outb() calls.
16033 (serial_hw_init): Likewise.
16034
53b052de 160352007-11-05 Robert Millan <rmh@aybabtu.com>
16036
16037 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16038 spaces. Skip non-regular files.
16039
5ab33bba 160402007-11-05 Robert Millan <rmh@aybabtu.com>
16041
16042 * kern/disk.c (grub_disk_firmware_fini)
16043 (grub_disk_firmware_is_tainted): New variables.
16044
16045 * include/grub/disk.h (grub_disk_firmware_fini)
16046 (grub_disk_firmware_is_tainted): Likewise.
16047
16048 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16049 (grub_disk_biosdisk_fini): ... to here.
16050 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16051 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16052 is set. Register grub_disk_biosdisk_fini() in
16053 `grub_disk_firmware_fini'.
16054
16055 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16056 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16057 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16058 to finish existing firmware disk interface.
16059
16060 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16061 (ata_mod_SOURCES): New variable.
16062 (ata_mod_CFLAGS): Likewise.
16063 (ata_mod_LDFLAGS): Likewise.
16064
0149ab7c 160652007-11-05 Robert Millan <rmh@aybabtu.com>
16066
16067 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16068 (grub_ata_wait): Reimplement using grub_millisleep().
16069
16070 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16071 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16072
be7ac41e 160732007-11-03 Marco Gerards <marco@gnu.org>
16074
16075 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16076 (CRTC_ADDR_PORT): New macro.
16077 (CRTC_DATA_PORT): Likewise.
16078 (CRTC_CURSOR): Likewise.
16079 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16080 (CRTC_CURSOR_ADDR_LOW): Likewise.
16081 (update_cursor): New function.
16082 (grub_console_real_putchar): Call `update_cursor'.
16083 (grub_console_gotoxy): Likewise.
16084 (grub_console_cls): Set the default color when clearing the
16085 screen.
16086 (grub_console_setcursor): Implemented.
16087
bb06ab2e 160882007-11-03 Marco Gerards <marco@gnu.org>
16089
16090 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16091 become activate.
16092 (grub_ata_pio_write): Likewise.
16093
16094 (grub_atapi_identify): Wait after issuing an ATA command.
16095 (grub_atapi_packet): Likewise.
16096 (grub_ata_identify): Likewise.
16097 (grub_ata_readwrite): Likewise.
16098
cf8f780b 160992007-11-03 Marco Gerards <marco@gnu.org>
16100
16101 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16102 (grub_ata_pio_write): Likewise.
16103 (grub_ata_readwrite): Use `grub_error', instead of
16104 returning `grub_errno'.
16105
ed649e54 161062007-11-03 Marco Gerards <marco@gnu.org>
16107
16108 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16109 grub_ata_pio_write once for every single sector, instead of for
16110 multiple sectors.
16111
ca25d8f0 161122007-10-31 Robert Millan <rmh@aybabtu.com>
16113
16114 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16115
16116 * conf/i386-linuxbios.rmk: New file.
16117
16118 * kern/i386/pc/hardware.c: Likewise.
16119 * term/i386/pc/at_keyboard.c: Likewise.
16120 * term/i386/pc/vga_text.c: Likewise.
16121
16122 * include/grub/i386/linuxbios/boot.h: Likewise.
16123 * include/grub/i386/linuxbios/console.h: Likewise.
16124 * include/grub/i386/linuxbios/init.h: Likewise.
16125 * include/grub/i386/linuxbios/kernel.h: Likewise.
16126 * include/grub/i386/linuxbios/loader.h: Likewise.
16127 * include/grub/i386/linuxbios/memory.h: Likewise.
16128 * include/grub/i386/linuxbios/serial.h: Likewise.
16129 * include/grub/i386/linuxbios/time.h: Likewise.
16130
16131 * kern/i386/linuxbios/init.c: Likewise.
16132 * kern/i386/linuxbios/startup.S: Likewise.
16133 * kern/i386/linuxbios/table.c: Likewise.
16134
e911ecc1 161352007-10-31 Marco Gerards <marco@gnu.org>
16136
16137 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16138 (ata_mod_SOURCES): New variable.
16139 (ata_mod_CFLAGS): Likewise.
16140 (ata_mod_LDFLAGS): Likewise.
16141
16142 * disk/ata.c: New file.
16143
16144 * include/grub/disk.h (grub_disk_dev_id): Add
16145 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16146
7f66d0e0 161472007-10-31 Robert Millan <rmh@aybabtu.com>
16148
16149 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16150 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16151
16152 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16153 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16154
16155 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16156 `<grub/types.h>'.
16157
16158 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16159
5cd7dd46 161602007-10-27 Robert Millan <rmh@aybabtu.com>
16161
3236ca65 16162 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16163
2ebfc90f 161642007-10-22 Robert Millan <rmh@aybabtu.com>
16165
16166 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16167 `"../realmode.S"'.
16168 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16169
73fcb0f3 161702007-10-22 Robert Millan <rmh@aybabtu.com>
16171
16172 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16173 (pkgdata_MODULES): Add `biosdisk.mod'.
16174 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16175 variables.
16176
16177 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16178 (grub_biosdisk_init): Replace with ...
16179 (GRUB_MOD_INIT(biosdisk)): ... this.
16180 (grub_biosdisk_fini): Replace with ...
16181 (GRUB_MOD_FINI(biosdisk)): ... this.
16182
16183 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16184 (grub_machine_init): Remove call to grub_biosdisk_init().
16185 (grub_machine_fini): Remove call to grub_machine_fini().
16186
16187 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16188
3381d274 161892007-10-22 Robert Millan <rmh@aybabtu.com>
16190
16191 * include/grub/time.h: New file.
16192 * include/grub/i386/time.h: Likewise.
16193 * include/grub/powerpc/time.h: Likewise.
16194 * include/grub/sparc64/time.h: Likewise.
16195
16196 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16197 instances to ...
16198 (KERNEL_MACHINE_TIME_HEADER): ... this.
16199 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16200 instances to ...
16201 (KERNEL_MACHINE_TIME_HEADER): ... this.
16202 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16203 instances to ...
16204 (KERNEL_MACHINE_TIME_HEADER): ... this.
16205
16206 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16207 (grub_millisleep): New function.
16208 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16209 (grub_millisleep): New function.
16210 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16211 Remove `grub/machine/time.h' include.
16212 (grub_millisleep): New function.
16213 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16214 Remove `grub/machine/time.h' include.
16215 (grub_millisleep): New function.
16216
16217 * include/grub/misc.h (grub_div_roundup): New function.
16218
16219 * kern/misc.c: Include `<grub/time.h>'.
16220 (grub_millisleep_generic): New function.
16221
16222 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16223 Add `time.h'.
16224 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16225 Add `time.h'.
16226 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16227 `machine/time.h'. Add `time.h'.
16228 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16229
a39a0312 162302007-10-21 Robert Millan <rmh@aybabtu.com>
16231
16232 * include/grub/misc.h (grub_max): New function.
16233
2aad70e2 162342007-10-21 Robert Millan <rmh@aybabtu.com>
16235
16236 * util/misc.c (grub_util_info): Call fflush() before returning.
16237
54b71c4b 162382007-10-20 Robert Millan <rmh@aybabtu.com>
16239
16240 * genmk.rb (Image): Copy `extra_flags' from here ...
16241 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16242
16243 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16244 to `argc' and `args' arguments.
16245
a979f513 162462007-10-17 Robert Millan <rmh@aybabtu.com>
16247
16248 * kern/i386/loader.S: New file.
16249
16250 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16251 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16252 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16253 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16254 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16255 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16256 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16257 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16258 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16259 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16260 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16261 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16262 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16263 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16264
16265 * kern/i386/realmode.S: New file.
16266
16267 * kern/i386/pc/startup.S (protstack): Moved from here ...
16268 * kern/i386/realmode.S (protstack)... to here.
16269 * kern/i386/pc/startup.S (gdt): Moved from here ...
16270 * kern/i386/realmode.S (gdt)... to here.
16271 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16272 * kern/i386/realmode.S (prot_to_real)... to here.
16273
16274 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16275 `kern/i386/realmode.S'.
16276
825fc8fd 162772007-10-17 Robert Millan <rmh@aybabtu.com>
16278
16279 * include/grub/i386/loader.h: New file.
16280
16281 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16282 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16283 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16284 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16285 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16286 * include/grub/i386/loader.h (grub_linux_prot_size)
16287 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16288 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16289 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16290 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16291
16292 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16293
e179b2f4 162942007-10-15 Robert Millan <rmh@aybabtu.com>
16295
16296 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16297 filesystem when dev->disk is unset.
16298 Do probe for filesystem even when dev->disk->has_partitions is set.
16299 In case a filesystem is found, always report it.
16300 In case it isn't, if dev->disk->has_partitions is set, report that
16301 a partition table was found instead of reporting that no filesystem
16302 could be identified.
16303
5db82af6 163042007-10-12 Robert Millan <rmh@aybabtu.com>
16305
16306 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16307 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16308
68f6ac74 16309 * include/grub/types.h (grub_host_to_target16): New macro.
16310 (grub_host_to_target32): Likewise.
16311 (grub_host_to_target64): Likewise.
16312 (grub_target_to_host16): Likewise.
16313 (grub_target_to_host32): Likewise.
16314 (grub_target_to_host64): Likewise.
5db82af6 16315
16316 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16317 Renamed from to ...
16318 (GRUB_MOD_ALIGN): ...this. Update all users.
16319
68f6ac74 16320 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16321 grub_host_to_target32.
16322 Replace grub_be_to_cpu32 with grub_target_to_host32.
16323 (load_modules): Likewise.
16324 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16325 Replace grub_be_to_cpu32 with grub_target_to_host32.
16326 Replace grub_cpu_to_be16 with grub_host_to_target16.
16327 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16328
3cf497cc 163292007-10-12 Robert Millan <rmh@aybabtu.com>
16330
16331 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16332 * util/elf/grub-mkimage.c: ... here.
16333
16334 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16335 `util/powerpc/ieee1275/grub-mkimage.c'.
16336
c8cc3692 163372007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16338
c8cc3692 16339 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16340 and make it easier to figure out.
16341 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
16342 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
16343 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
16344 leave us with less than HEAP_MIN_SIZE total heap.
16345 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 16346
5c58b791 163472007-10-03 Robert Millan <rmh@aybabtu.com>
16348
16349 * include/grub/i386/io.h: New file.
16350 * commands/i386/pc/play.c (inb): Removed.
16351 (outb): Removed.
16352 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16353 with grub_outb().
afcd2ef8 16354 * term/i386/pc/serial.c (inb): Removed.
16355 (outb): Removed.
16356 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16357 with grub_outb().
16358 * term/i386/pc/vga.c (inb): Removed.
16359 (outb): Removed.
16360 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16361 with grub_outb().
5c58b791 16362
1a477ed6 163632007-10-02 Robert Millan <rmh@aybabtu.com>
16364
16365 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
16366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16367 Reported by Marcin Kurek.
16368
6b5d80fa 163692007-09-07 Robert Millan <rmh@aybabtu.com>
16370
16371 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
16372 SmartFirmware version updates (as released by Sven Luther), and avoid
16373 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
16374 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
16375 known broken.
16376
5618afbf 163772007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16378
16379 From Hitoshi Ozeki:
16380 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
16381 when merging two regions.
16382
6139dcd9 163832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16384
508e39ee 16385 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
16386 * normal/completion.c (grub_normal_do_completion): Likewise.
16387 Reported by Hitoshi Ozeki.
16388
163892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16390
6139dcd9 16391 Do not use devices at boot in chainloading.
f19dbdb7 16392
6139dcd9 16393 * loader/i386/pc/chainloader.c (boot_drive): New variable.
16394 (boot_part_addr): Likewise.
16395 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
16396 with BOOT_DRIVE and BOOT_PART_ADDR.
16397 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
16398 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
16399
38da6516 164002007-08-29 Robert Millan <rmh@aybabtu.com>
16401
16402 Patch from Simon Peter <dn.tlp@gmx.net>:
16403 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
16404 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
16405 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
16406 util/i386/pc/grub-setup.c_DEPENDENCIES.
16407 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
16408 util/grub-probe.c_DEPENDENCIES.
16409 * conf/powerpc-ieee1275.rmk: Likewise.
16410
29d0928c 164112007-08-28 Robert Millan <rmh@aybabtu.com>
16412
16413 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
16414 to tell grub-mkdevicemap how to name devices.
16415 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
16416 feature).
16417
16418 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
16419 util/i386/get_disk_name.c.
16420 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
16421 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
16422 util/ieee1275/get_disk_name.c.
16423
16424 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
16425
16426 * DISTLIST: Add util/i386/get_disk_name.c and
16427 util/ieee1275/get_disk_name.c.
16428
16429 * util/grub-mkdevicemap.c: Replace device naming logic with
16430 grub_util_get_disk_name() calls.
16431
5a0d3cca 164322007-08-20 Robert Millan <rmh@aybabtu.com>
16433
16434 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
16435 (so that it works for both plural and singular quantities).
16436
8b72db2f 164372007-08-05 Robert Millan <rmh@aybabtu.com>
16438
16439 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
16440 so that [xz] isn't taken into account when determining order.
16441
352466bf 164422007-08-02 Marco Gerards <marco@gnu.org>
16443
16444 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
16445 `include/multiboot2.h', `include/grub/elfload.h',
16446 `include/multiboot.h', `include/grub/multiboot.h',
16447 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
16448 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
16449 `kern/elf.c', `loader/multiboot_loader.c',
16450 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
16451 `loader/i386/pc/multiboot2.c',
16452 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
16453 `util/i386/pc/grub-mkrescue.in'. Remove
16454 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
16455 `include/grub/i386/pc/util/biosdisk.h' and
16456 `include/grub/powerpc/ieee1275/multiboot.h'.
16457
8f096014 164582007-08-02 Bean <bean123ch@gmail.com>
16459
16460 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
16461 (ntfs_mod_SOURCES): New variable.
16462 (ntfs_mod_CFLAGS): Likewise.
16463 (ntfs_mod_LDFLAGS): Likewise.
16464
16465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
16466 (grub_probe_SOURCES): Likewise.
16467 (grub_emu_SOURCES): Likewise.
16468
16469 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16470 (grub_emu_SOURCES): Likewise.
16471
16472 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16473 (grub_emu_SOURCES): Likewise.
f19dbdb7 16474
8f096014 16475 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
16476
16477 * fs/ntfs.c: New file.
16478
9959f7db 164792007-08-02 Bean <bean123ch@gmail.com>
16480
16481 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
16482
16483 * file.h (grub_file): Likewise.
16484
16485 * fshelp.h (grub_fshelp_read_file): Likewise.
16486
16487 * util/i386/pc/grub-setup.c (setup): Likewise.
16488 (save_first_sector): Likewise.
16489 (save_blocklists): Likewise.
f19dbdb7 16490
9959f7db 16491 * fs/affs.c (grub_affs_read_file): Likewise.
16492
16493 * fs/ext2.c (grub_ext2_read_file): Likewise.
16494
16495 * fs/fat.c (grub_fat_read_data): Likewise.
16496
16497 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
16498
16499 * fs/hfs.c (grub_hfs_read_file): Likewise.
16500
16501 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16502
16503 * fs/jfs.c (grub_jfs_read_file): Likewise.
16504
16505 * fs/minix.c (grub_minix_read_file): Likewise.
16506
16507 * fs/sfs.c (grub_sfs_read_file): Likewise.
16508
16509 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 16510
9959f7db 16511 * fs/xfs.c (grub_xfs_read_file): Likewise.
16512
16513 * command/blocklist.c (read_blocklist): Likewise.
16514 (print_blocklist): Likewise.
16515
0a203f83 165162007-08-02 Marco Gerards <marco@gnu.org>
16517
16518 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
16519 `util/hostfs.c'.
16520
16521 * disk/host.c: New file.
16522
16523 * util/hostfs.c: Likewise.
16524
16525 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
16526 return `GRUB_ERR_BAD_FS'.
16527 * fs/sfs.c (grub_sfs_mount): Likewise.
16528 * fs/xfs.c (grub_xfs_mount): Likewise.
16529
16530 * include/grub/disk.h (enum grub_disk_dev_id): Add
16531 `GRUB_DISK_DEVICE_HOST_ID'.
16532
16533 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
16534
e5dfe777 165352007-07-24 Jerone Young <jerone@gmail.com>
16536
f19dbdb7 16537 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 16538 modules for compilation.
16539 * conf/powerpc-ieee1275.rmk: Likewise.
16540
16541 * include/multiboot.h: Move multiboot definitions to one file. Rename
16542 many definitions to not get grub specific.
16543 * include/multiboot2.h: Create header with multiboot 2 definitions.
16544 * include/grub/multiboot.h: Header for grub specific function
16545 prototypes and definitions.
16546 * include/grub/multiboot2.h: Likewise.
16547 * include/grub/multiboot_loader.h: Likewise.
16548 * include/grub/i386/pc/multiboot.h: Removed.
16549 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
16550
16551 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
16552 and 2 to allow for one multiboot and module commands.
16553 * loader/multiboot2.c: Add multiboot2 functionality.
16554 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
16555 and definition names.
16556 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
16557 2 functions.
16558 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
16559 ieee1275 specific multiboot2 code.
16560
16561 * kern/i386/pc/startup.S: Change headers and definition names for
16562 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
16563
daf0f0ba 165642007-07-22 Robert Millan <rmh@aybabtu.com>
16565
16566 * geninitheader.sh: Process file specified in first parameter rather
16567 than hardcoding grub_modules_init.lst.
fe6b695a 16568 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 16569 than hardcoding grub_modules_init.h.
16570
16571 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
16572 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
16573 grub_probe_init.[ch] and grub_setup_init.[ch].
16574
16575 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
16576 grub_modules_init.h with grub_emu_init.h.
16577 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
16578 grub_probe_init.[ch] files.
16579 * conf/i386-efi.rmk: Likewise.
16580 * conf/i386-pc.rmk: Likewise.
16581 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
16582 grub_setup_init.[ch] files.
16583
16584 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
16585 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
16586 to initialize modules rather than a list of hardcoded functions.
16587 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
16588 grub_init_all() to initialize modules rather than a list of hardcoded
16589 functions.
16590
54cdc1cc 165912007-07-22 Robert Millan <rmh@aybabtu.com>
16592
16593 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16594 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
16595
ad0686cc 165962007-07-22 Robert Millan <rmh@aybabtu.com>
16597
16598 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16599 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
16600 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
16601 flag when running on SmartFirmware.
16602 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
16603 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
16604 was set.
16605
16606 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16607 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
16608 rather than decreasing it.
16609
16610 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
16611 there's not enough space to do it, fail in the same way as when it
16612 can't be done because there are no partitions.
16613
16614 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
16615 when nvsetenv failed.
16616
969c02ec 166172007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16618
16619 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
16620 because this rule is automatically generated.
16621 (grub-mkrescue): Removed for the same reason as above.
16622
5a79f472 166232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16624
16625 Migrate to GNU General Public License Version 3.
f19dbdb7 16626
5a79f472 16627 * COPYING: Replaced with the plain text version of GPLv3.
16628
16629 * config.guess: Updated from gnulib.
16630 * config.sub: Likewise.
16631
16632 * geninit.sh: Output a GPLv3 copyright notice.
16633 * geninitheader.sh: Likewise.
16634 * genmodsrc.sh: Likewise.
16635 * gensymlist.sh.in: Likewise.
16636
16637 * boot/i386/pc/boot.S: Upgraded to GPLv3.
16638 * boot/i386/pc/diskboot.S: Likewise.
16639 * boot/i386/pc/pxeboot.S: Likewise.
16640 * commands/blocklist.c: Likewise.
16641 * commands/boot.c: Likewise.
16642 * commands/cat.c: Likewise.
16643 * commands/cmp.c: Likewise.
16644 * commands/configfile.c: Likewise.
16645 * commands/echo.c: Likewise.
16646 * commands/help.c: Likewise.
16647 * commands/ls.c: Likewise.
16648 * commands/search.c: Likewise.
16649 * commands/terminal.c: Likewise.
16650 * commands/test.c: Likewise.
16651 * commands/videotest.c: Likewise.
16652 * commands/i386/cpuid.c: Likewise.
16653 * commands/i386/pc/halt.c: Likewise.
16654 * commands/i386/pc/play.c: Likewise.
16655 * commands/i386/pc/reboot.c: Likewise.
16656 * commands/i386/pc/vbeinfo.c: Likewise.
16657 * commands/i386/pc/vbetest.c: Likewise.
16658 * commands/ieee1275/halt.c: Likewise.
16659 * commands/ieee1275/reboot.c: Likewise.
16660 * commands/ieee1275/suspend.c: Likewise.
16661 * disk/loopback.c: Likewise.
16662 * disk/lvm.c: Likewise.
16663 * disk/raid.c: Likewise.
16664 * disk/efi/efidisk.c: Likewise.
16665 * disk/i386/pc/biosdisk.c: Likewise.
16666 * disk/ieee1275/ofdisk.c: Likewise.
16667 * font/manager.c: Likewise.
16668 * fs/affs.c: Likewise.
16669 * fs/ext2.c: Likewise.
16670 * fs/fat.c: Likewise.
16671 * fs/fshelp.c: Likewise.
16672 * fs/hfs.c: Likewise.
16673 * fs/hfsplus.c: Likewise.
16674 * fs/iso9660.c: Likewise.
16675 * fs/jfs.c: Likewise.
16676 * fs/minix.c: Likewise.
16677 * fs/sfs.c: Likewise.
16678 * fs/ufs.c: Likewise.
16679 * fs/xfs.c: Likewise.
16680 * hello/hello.c: Likewise.
16681 * include/grub/acorn_filecore.h: Likewise.
16682 * include/grub/arg.h: Likewise.
16683 * include/grub/bitmap.h: Likewise.
16684 * include/grub/boot.h: Likewise.
16685 * include/grub/cache.h: Likewise.
16686 * include/grub/device.h: Likewise.
16687 * include/grub/disk.h: Likewise.
16688 * include/grub/dl.h: Likewise.
16689 * include/grub/elfload.h: Likewise.
16690 * include/grub/env.h: Likewise.
16691 * include/grub/err.h: Likewise.
16692 * include/grub/file.h: Likewise.
16693 * include/grub/font.h: Likewise.
16694 * include/grub/fs.h: Likewise.
16695 * include/grub/fshelp.h: Likewise.
16696 * include/grub/gzio.h: Likewise.
16697 * include/grub/hfs.h: Likewise.
16698 * include/grub/kernel.h: Likewise.
16699 * include/grub/loader.h: Likewise.
16700 * include/grub/lvm.h: Likewise.
16701 * include/grub/misc.h: Likewise.
16702 * include/grub/mm.h: Likewise.
16703 * include/grub/net.h: Likewise.
16704 * include/grub/normal.h: Likewise.
16705 * include/grub/parser.h: Likewise.
16706 * include/grub/partition.h: Likewise.
16707 * include/grub/pc_partition.h: Likewise.
16708 * include/grub/raid.h: Likewise.
16709 * include/grub/rescue.h: Likewise.
16710 * include/grub/script.h: Likewise.
16711 * include/grub/setjmp.h: Likewise.
16712 * include/grub/symbol.h: Likewise.
16713 * include/grub/term.h: Likewise.
16714 * include/grub/terminfo.h: Likewise.
16715 * include/grub/tparm.h: Likewise.
16716 * include/grub/types.h: Likewise.
16717 * include/grub/video.h: Likewise.
16718 * include/grub/efi/api.h: Likewise.
16719 * include/grub/efi/chainloader.h: Likewise.
16720 * include/grub/efi/console.h: Likewise.
16721 * include/grub/efi/console_control.h: Likewise.
16722 * include/grub/efi/disk.h: Likewise.
16723 * include/grub/efi/efi.h: Likewise.
16724 * include/grub/efi/pe32.h: Likewise.
16725 * include/grub/efi/time.h: Likewise.
16726 * include/grub/i386/linux.h: Likewise.
16727 * include/grub/i386/setjmp.h: Likewise.
16728 * include/grub/i386/types.h: Likewise.
16729 * include/grub/i386/efi/kernel.h: Likewise.
16730 * include/grub/i386/efi/loader.h: Likewise.
16731 * include/grub/i386/efi/time.h: Likewise.
16732 * include/grub/i386/pc/biosdisk.h: Likewise.
16733 * include/grub/i386/pc/boot.h: Likewise.
16734 * include/grub/i386/pc/chainloader.h: Likewise.
16735 * include/grub/i386/pc/console.h: Likewise.
16736 * include/grub/i386/pc/init.h: Likewise.
16737 * include/grub/i386/pc/kernel.h: Likewise.
16738 * include/grub/i386/pc/loader.h: Likewise.
16739 * include/grub/i386/pc/memory.h: Likewise.
16740 * include/grub/i386/pc/multiboot.h: Likewise.
16741 * include/grub/i386/pc/serial.h: Likewise.
16742 * include/grub/i386/pc/time.h: Likewise.
16743 * include/grub/i386/pc/vbe.h: Likewise.
16744 * include/grub/i386/pc/vbeblit.h: Likewise.
16745 * include/grub/i386/pc/vbefill.h: Likewise.
16746 * include/grub/i386/pc/vbeutil.h: Likewise.
16747 * include/grub/i386/pc/vga.h: Likewise.
16748 * include/grub/ieee1275/ieee1275.h: Likewise.
16749 * include/grub/ieee1275/ofdisk.h: Likewise.
16750 * include/grub/powerpc/libgcc.h: Likewise.
16751 * include/grub/powerpc/setjmp.h: Likewise.
16752 * include/grub/powerpc/types.h: Likewise.
16753 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16754 * include/grub/powerpc/ieee1275/console.h: Likewise.
16755 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16756 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16757 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16758 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16759 * include/grub/powerpc/ieee1275/time.h: Likewise.
16760 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16761 * include/grub/sparc64/libgcc.h: Likewise.
16762 * include/grub/sparc64/setjmp.h: Likewise.
16763 * include/grub/sparc64/types.h: Likewise.
16764 * include/grub/sparc64/ieee1275/console.h: Likewise.
16765 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16766 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16767 * include/grub/sparc64/ieee1275/time.h: Likewise.
16768 * include/grub/util/biosdisk.h: Likewise.
16769 * include/grub/util/getroot.h: Likewise.
16770 * include/grub/util/lvm.h: Likewise.
16771 * include/grub/util/misc.h: Likewise.
16772 * include/grub/util/raid.h: Likewise.
16773 * include/grub/util/resolve.h: Likewise.
16774 * io/gzio.c: Likewise.
16775 * kern/device.c: Likewise.
16776 * kern/disk.c: Likewise.
16777 * kern/dl.c: Likewise.
16778 * kern/elf.c: Likewise.
16779 * kern/env.c: Likewise.
16780 * kern/err.c: Likewise.
16781 * kern/file.c: Likewise.
16782 * kern/fs.c: Likewise.
16783 * kern/loader.c: Likewise.
16784 * kern/main.c: Likewise.
16785 * kern/misc.c: Likewise.
16786 * kern/mm.c: Likewise.
16787 * kern/parser.c: Likewise.
16788 * kern/partition.c: Likewise.
16789 * kern/rescue.c: Likewise.
16790 * kern/term.c: Likewise.
16791 * kern/efi/efi.c: Likewise.
16792 * kern/efi/init.c: Likewise.
16793 * kern/efi/mm.c: Likewise.
16794 * kern/i386/dl.c: Likewise.
16795 * kern/i386/efi/init.c: Likewise.
16796 * kern/i386/efi/startup.S: Likewise.
16797 * kern/i386/pc/init.c: Likewise.
16798 * kern/i386/pc/lzo1x.S: Likewise.
16799 * kern/i386/pc/startup.S: Likewise.
16800 * kern/ieee1275/ieee1275.c: Likewise.
16801 * kern/powerpc/cache.S: Likewise.
16802 * kern/powerpc/dl.c: Likewise.
16803 * kern/powerpc/ieee1275/cmain.c: Likewise.
16804 * kern/powerpc/ieee1275/crt0.S: Likewise.
16805 * kern/powerpc/ieee1275/init.c: Likewise.
16806 * kern/powerpc/ieee1275/openfw.c: Likewise.
16807 * kern/sparc64/cache.S: Likewise.
16808 * kern/sparc64/dl.c: Likewise.
16809 * kern/sparc64/ieee1275/init.c: Likewise.
16810 * kern/sparc64/ieee1275/openfw.c: Likewise.
16811 * loader/efi/chainloader.c: Likewise.
16812 * loader/efi/chainloader_normal.c: Likewise.
16813 * loader/i386/efi/linux.c: Likewise.
16814 * loader/i386/efi/linux_normal.c: Likewise.
16815 * loader/i386/pc/chainloader.c: Likewise.
16816 * loader/i386/pc/chainloader_normal.c: Likewise.
16817 * loader/i386/pc/linux.c: Likewise.
16818 * loader/i386/pc/linux_normal.c: Likewise.
16819 * loader/i386/pc/multiboot.c: Likewise.
16820 * loader/i386/pc/multiboot_normal.c: Likewise.
16821 * loader/powerpc/ieee1275/linux.c: Likewise.
16822 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16823 * normal/arg.c: Likewise.
16824 * normal/cmdline.c: Likewise.
16825 * normal/command.c: Likewise.
16826 * normal/completion.c: Likewise.
16827 * normal/execute.c: Likewise.
16828 * normal/function.c: Likewise.
16829 * normal/lexer.c: Likewise.
16830 * normal/main.c: Likewise.
16831 * normal/menu.c: Likewise.
16832 * normal/menu_entry.c: Likewise.
16833 * normal/misc.c: Likewise.
16834 * normal/parser.y: Likewise.
16835 * normal/script.c: Likewise.
16836 * normal/i386/setjmp.S: Likewise.
16837 * normal/powerpc/setjmp.S: Likewise.
16838 * normal/sparc64/setjmp.S: Likewise.
16839 * partmap/acorn.c: Likewise.
16840 * partmap/amiga.c: Likewise.
16841 * partmap/apple.c: Likewise.
16842 * partmap/gpt.c: Likewise.
16843 * partmap/pc.c: Likewise.
16844 * partmap/sun.c: Likewise.
16845 * term/gfxterm.c: Likewise.
16846 * term/terminfo.c: Likewise.
16847 * term/efi/console.c: Likewise.
16848 * term/i386/pc/console.c: Likewise.
16849 * term/i386/pc/serial.c: Likewise.
16850 * term/i386/pc/vesafb.c: Likewise.
16851 * term/i386/pc/vga.c: Likewise.
16852 * term/ieee1275/ofconsole.c: Likewise.
16853 * util/biosdisk.c: Likewise.
16854 * util/console.c: Likewise.
16855 * util/genmoddep.c: Likewise.
16856 * util/getroot.c: Likewise.
16857 * util/grub-emu.c: Likewise.
16858 * util/grub-mkdevicemap.c: Likewise.
16859 * util/grub-probe.c: Likewise.
16860 * util/lvm.c: Likewise.
16861 * util/misc.c: Likewise.
16862 * util/raid.c: Likewise.
16863 * util/resolve.c: Likewise.
16864 * util/update-grub.in: Likewise.
16865 * util/update-grub_lib.in: Likewise.
16866 * util/grub.d/00_header.in: Likewise.
16867 * util/grub.d/10_hurd.in: Likewise.
16868 * util/grub.d/10_linux.in: Likewise.
16869 * util/i386/efi/grub-install.in: Likewise.
16870 * util/i386/efi/grub-mkimage.c: Likewise.
16871 * util/i386/pc/grub-install.in: Likewise.
16872 * util/i386/pc/grub-mkimage.c: Likewise.
16873 * util/i386/pc/grub-mkrescue.in: Likewise.
16874 * util/i386/pc/grub-setup.c: Likewise.
16875 * util/i386/pc/misc.c: Likewise.
16876 * util/powerpc/ieee1275/grub-install.in: Likewise.
16877 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
16878 * util/powerpc/ieee1275/misc.c: Likewise.
16879 * video/bitmap.c: Likewise.
16880 * video/video.c: Likewise.
16881 * video/i386/pc/vbe.c: Likewise.
16882 * video/i386/pc/vbeblit.c: Likewise.
16883 * video/i386/pc/vbefill.c: Likewise.
16884 * video/i386/pc/vbeutil.c: Likewise.
16885 * video/readers/tga.c: Likewise.
16886
3572d015 168872007-07-02 Robert Millan <rmh@aybabtu.com>
16888
16889 * conf/i386-efi.rmk: Replace obsolete reference to
16890 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
16891 with util/getroot.c.
16892 * conf/powerpc-ieee1275.rmk: Likewise.
16893 * conf/sparc64-ieee1275.rmk: Likewise.
16894
16895 * util/grub-emu.c (main): Fix unchecked pointer handling.
16896
2c2a681b 168972007-07-02 Robert Millan <rmh@aybabtu.com>
16898
16899 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
16900 invocation to fail, in order to support partition-less media.
16901
16902 * util/i386/pc/grub-install.in: Likewise.
16903
16904 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
16905 which fs or partmap modules are needed (akin to its sister scripts).
16906
16907 Also use grub-probe to get rid of unportable /proc/mounts check.
16908
16909 Print the same informational message that the other scripts do, before
fe6b695a 16910 exiting.
2c2a681b 16911
6193defe 169122007-06-23 Robert Millan <rmh@aybabtu.com>
16913
fe6b695a 16914 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 16915 a font file can be found and, if so, echo the GRUB path to it.
16916
16917 * util/update-grub.in: Handle multiple terminals depending on user
16918 input, platform availability and font file presence. Propagate
16919 variables of our findings to /etc/grub.d/ children.
16920
16921 * util/grub.d/00_header.in: Handle multiple terminals, based on
16922 environment setup by update-grub.
16923
eface1dc 169242007-06-23 Robert Millan <rmh@aybabtu.com>
16925
ba50d28f 16926 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 16927
bf697e28 169282007-06-21 Robert Millan <rmh@aybabtu.com>
16929
16930 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
16931 indicate end of data section in kernel image.
16932 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
16933 GRUB_KERNEL_MACHINE_DATA_END.
16934
16935 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
16936 space for it.
16937 * kern/i386/efi/startup.S: Likewise.
16938
16939 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
16940 during image generation. Implement --prefix option to override this
16941 patch.
16942 * util/i386/efi/grub-mkimage.c: Likewise.
16943
16944 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
16945 code to make path relative to its root into a separate function.
16946
16947 * util/i386/pc/grub-install.in: Use newly provided
16948 make_system_path_relative_to_its_root() to convert ${grubdir}, then
16949 pass the result to grub-install --prefix.
16950
baa574b4 169512007-06-13 Robert Millan <rmh@aybabtu.com>
16952
16953 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
16954 DEFAULT_DEVICE_MAP.
16955 * util/grub-emu.c: Use above definitions from misc.h instead of
16956 defining them.
16957 * util/grub-mkdevicemap.c: Likewise.
16958 * util/i386/pc/grub-setup.c: Likewise.
16959 * util/grub-probe.c: Likewise.
16960 (probe): Abort with grub_util_error() when either
16961 grub_guess_root_device or grub_util_get_grub_dev fails.
16962
0215dcbf 169632007-06-12 Robert Millan <rmh@aybabtu.com>
16964
16965 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
16966 "pager" assignment.
16967 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
16968 "pcdata".
16969 * util/grub-probe.c (probe): Likewise for "drive_name".
16970
8af2ab7b 169712007-06-11 Robert Millan <rmh@aybabtu.com>
16972
16973 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
16974 not just the cdrom one.
16975
59d31694 169762007-06-11 Robert Millan <rmh@aybabtu.com>
16977
16978 * util/i386/pc/grub-mkrescue.in: Add "set -e".
16979 Add --pkglibdir=DIR option to override pkglibdir.
16980 Mention --image-type=TYPE in help output.
16981 Fix --grub-mkimage (it was a no-op).
fe6b695a 16982 Abort gracefully when no parameter is given.
59d31694 16983
7ee367e4 169842007-06-11 Robert Millan <rmh@aybabtu.com>
16985
16986 * util/i386/pc/grub-mkrescue.in: New file.
16987 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
16988 * Makefile.in: Handle bin_SCRIPTS.
16989
29b0ed46 169902007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
16991
16992 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
16993 list of video modes.
16994
c0f90770 169952007-06-06 Robert Millan <rmh@aybabtu.com>
16996
16997 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
16998 file doesn't exist, or if it is in a filesystem grub can't read.
16999
17000 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17001 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17002 header comment to fit in 80 columns when the variables are resolved.
17003
17004 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17005 could be identified by update-grub. Remove redundant check for
fe6b695a 17006 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17007 handles that).
17008
fb36dc26 170092007-06-04 Robert Millan <rmh@aybabtu.com>
17010
17011 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17012
17013 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17014
17015 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17016
0c68c93e 170172007-06-04 Robert Millan <rmh@aybabtu.com>
17018
17019 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17020
17021 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17022 grub_apple_partition_map_fini.
17023
17024 * util/biosdisk.c
17025 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17026 to access >2 TiB disks).
17027
17028 Print disk->total_sectors with %llu instead of %lu, since this
17029 variable is always 64-bit (prevents wrong disk size from being displayed
17030 on either >2 TiB disk or big-endian CPU).
17031
17032 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17033 into a generic case that supports all (sane) partition maps.
17034
17035 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17036 breaks big-endian.
17037
17038 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17039 and grub_apple_partition_map_fini() after that.
17040
0f23eb74 170412007-06-01 Robert Millan <rmh@aybabtu.com>
17042
17043 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17044
17045 * util/grub.d/00_header.in: Only enable gfxterm when
17046 convert_system_path_to_grub_path() succeeds.
17047
42c71976 170482007-05-20 Robert Millan <rmh@aybabtu.com>
17049
17050 * util/update-grub_lib.in: New file.
17051 * DISTLIST: Add update-grub_lib.in.
17052 * conf/common.rmk: Generate update-grub_lib and install it in
17053 $(lib_DATA).
17054 * Makefile.in: Add install routine for $(lib_DATA).
17055
17056 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17057 function provided by update-grub_lib to support arbitrary paths of
17058 unifont.pff.
17059 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17060 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17061
5beb2291 170622007-05-19 Robert Millan <rmh@aybabtu.com>
17063
17064 * commands/i386/cpuid.c: New module.
17065 * DISTLIST: Add it.
17066 * conf/i386-efi.rmk: Enable cpuid.mod.
17067 * conf/i386-pc.rmk: Likewise.
17068
7262eca1 170692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17070
17071 * kern/disk.c (grub_disk_read): Check return value of
17072 grub_realloc().
17073
260ba823 170742007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17075
17076 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17077 arrays.
17078 * disk/raid.c (grub_raid_open): Likewise.
17079
1ecb6cf2 170802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17081
17082 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17083 stack instead of on the heap.
17084
17085 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17086 before doing a read on it.
17087
17088 * configure.ac: Only use -fno-stack-protector for the target
17089 environment.
f19dbdb7 17090
21c8cbb1 170912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17092
17093 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17094 __attribute_ ((unused)) to mode_type argument.
17095
17096 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17097
21c8cbb1 17098 * kern/misc.c (memcmp): Fix prototype.
17099
17100 * include/grub/partition.h [GRUB_UTIL]
17101 (grub_gpt_partition_map_init): Add prototype.
17102 (grub_gpt_partition_map_fini): Likewise.
17103
17104 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17105 at the right place.
17106
17107 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17108 (grub_fat_read_data): Likewise.
17109 (grub_fat_find_dir): Likewise.
17110
17111 * font/manager.c (find_glyph): Make table a const.
17112 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17113
849d55d3 171142007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17115
17116 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17117 code, first search for device in /dev/mapper, then in /dev.
17118 (grub_util_get_grub_dev): New function.
17119 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17120 prototype.
17121 * util/grub-probe.c (probe): Remove check for RAID, call
17122 grub_util_get_grub_dev() instead of
17123 grub_util_biosdisk_get_grub_dev().
17124 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17125 grub_util_biosdisk_get_grub_dev().
17126 * util/i386/pc/grub-setup.c (main): Likewise.
17127
8fff7c2f 171282007-05-16 Robert Millan <rmh@aybabtu.com>
17129
17130 * DISTLIST: Update for the latest changes.
17131 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17132 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17133 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17134 grub/util/biosdisk.h.
17135 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17136 grub/util/biosdisk.h.
17137
48e12b52 171382007-05-16 Robert Millan <rmh@aybabtu.com>
17139
17140 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17141
46b9d128 171422007-05-16 Robert Millan <rmh@aybabtu.com>
17143
17144 * util/i386/efi/grub-install.in: New.
17145 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17146 newly added grub-install.
17147 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17148 include.
17149 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17150 grub/util/biosdisk.h.
17151 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17152 grub/util/biosdisk.h.
17153
2d1a40a9 171542007-05-16 Robert Millan <rmh@aybabtu.com>
17155
17156 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17157 * include/grub/util/biosdisk.h: ... here.
17158 * util/i386/pc/biosdisk.c: Moved to ...
17159 * util/biosdisk.c: ... here.
17160 * util/i386/pc/getroot.c: Moved to ...
17161 * util/getroot.c: ... here.
17162 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17163 * util/grub-mkdevicemap.c: ... here.
17164 * util/i386/pc/grub-probe.c: Moved to ...
17165 * util/grub-probe.c: ... here.
17166
9e26e3bc 171672007-05-15 Robert Millan <rmh@aybabtu.com>
17168
17169 * util/update-grub.in: Remove duplicated line in grub.cfg header
17170 message.
17171
57f96397 171722007-05-13 Robert Millan <rmh@aybabtu.com>
17173
17174 * util/update-grub.in: Fix a few assumptions about the devices holding
17175 /, /boot and /boot/grub being the same.
17176 * util/grub.d/00_header.in: Likewise.
17177 * util/grub.d/10_hurd.in: Likewise.
17178 * util/grub.d/10_linux.in: Likewise.
17179
17180 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17181 patterns. Use that to define the `.old' suffix as older than `'.
17182
17183 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17184
17185 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17186 the grub.cfg header message.
17187
2e610d62 171882007-05-11 Robert Millan <rmh@aybabtu.com>
17189
17190 * util/update-grub.in: Create device.map if it doesn't already exist,
17191 before attempting to run grub-probe.
17192 Check for grub-probe and grub-mkdevicemap with the same code
17193 grub-install is using.
17194 Remove test mode.
17195
3f6a10ef 171962007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17197
17198 * Makefile.in: Add the datarootdir autoconf variable.
17199
02e7b75e 172002007-05-09 Robert Millan <rmh@aybabtu.com>
17201
17202 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17203 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17204
75f396cc 172052007-05-07 Robert Millan <rmh@aybabtu.com>
17206
17207 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17208 determine partition map module.
17209 * util/i386/pc/grub-install.in: Use this feature to decide which
17210 partition module to load, instead of hardcoding pc and gpt.
17211
da65cb36 172122007-05-07 Robert Millan <rmh@aybabtu.com>
17213
17214 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17215 source directory differs from build directory.
17216
b57d6a91 172172007-05-05 Robert Millan <rmh@aybabtu.com>
17218
17219 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17220 initialisation.
17221
509d00f1 172222007-05-05 Robert Millan <rmh@aybabtu.com>
17223
17224 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17225
c48f23ef 172262007-05-05 Robert Millan <rmh@aybabtu.com>
17227
17228 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17229 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17230
20b97658 172312007-05-05 Robert Millan <rmh@aybabtu.com>
17232
17233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17234 (grub_probe_SOURCES): Likewise.
17235 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17236 GPT and initialize dos_part and bsd_part accordingly.
17237 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17238 install_bsd_part.
17239 (main): Activate gpt module for use during partition identification,
17240 and deactivate it afterwards.
17241 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17242 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17243 partition identification, and deactivate it afterwards.
17244
99123174 172452007-05-05 Robert Millan <rmh@aybabtu.com>
17246
17247 * term/i386/pc/console.c (grub_console_fini): Call
17248 grub_term_set_current() before grub_term_unregister().
17249
ebd97f6e 172502007-05-04 Robert Millan <rmh@aybabtu.com>
17251
17252 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17253 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17254 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17255 and update-grub_DATA.
17256 * conf/common.rmk: Build and install update-grub components.
17257 * conf/common.mk: Regenerate.
17258 * util/update-grub.in: New. Core of update-grub.
17259 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17260 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17261 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17262 * util/grub.d/README: New. Document grub.d directory layout.
17263
b06a264d 172642007-05-01 Robert Millan <rmh@aybabtu.com>
17265
17266 * util/grub-emu.c: Move initialization functions
17267 grub_util_biosdisk_init() and grub_init_all() before
17268 grub_util_biosdisk_get_grub_dev(), which relies on them.
17269
41f0050e 172702007-04-19 Robert Millan <rmh@aybabtu.com>
17271
17272 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17273 it is used later.
17274
04582bb3 172752007-04-18 Jerone Young <jerone@gmail.com>
17276
f19dbdb7 17277 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17278 stanza.
17279
08db4632 172802007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17281
08db4632 17282 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17283 continue on and look for device node with real device name.
17284
801b76be 172852007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17286
fe6b695a 17287 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17288 ability.
17289 * Makefile.in: Add autoconf package transformation code.
17290 * util/i386/pc/grub-install.in: Likewise.
17291 * util/powerpc/ieee1275/grub-install.in: Likewise.
17292
6795c4e1 172932007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17294
17295 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17296 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17297 (EXT2_REVISION): Likewise.
17298 (EXT2_INODE_SIZE): Likewise.
17299 (struct grub_ext2_block_group): Added a missing member
17300 "used_dirs".
17301 (grub_ext2_read_inode): Divide by the inode size in a superblock
17302 instead of 128 to obtain INODES_PER_BLOCK.
17303 Use the macro EXT2_INODE_SIZE instead of directly using
17304 SBLOCK->INODE_SIZE.
17305
d70af616 173062007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17307
17308 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17309 superblock instead of the structure size to compute an
17310 offset. This fixes the problem that GRUB could not read a
17311 filesystem when inode size is different from 128-byte.
17312
3b801603 173132007-03-05 Marco Gerards <marco@gnu.org>
17314
17315 * normal/main.c (read_config_file): When "menu" is not set, create
17316 an initial context.
17317
4785bfe4 173182007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17319
17320 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17321 (HEAP_LIMIT): New macro.
17322 (grub_claim_heap): Claim memory up to `heaplimit'.
17323
a0cbb023 173242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17325
17326 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17327 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17328 (_start): Likewise.
17329 (grub_arch_modules_addr): Return address after `_end'.
17330 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17331 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17332 (add_segments): Calculate `_end' from phdr size and location.
17333 (ALIGN_UP): Moved to ...
17334 * include/grub/misc.h: here.
17335 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17336 New macro.
17337 (GRUB_IEEE1275_MODULE_BASE): Removed.
17338
fd7d8eba 173392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17340
17341 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
17342 loop boundary.
17343
9b09e6fc 173442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17345
17346 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
17347 All users updated.
17348 (grub_elf64_load_hook_t): Likewise.
17349 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
17350 debug output.
17351
3ce27299 173522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17353
17354 * kern/mm.c: Update copyright.
17355 (grub_mm_debug): Correct syntax error.
17356 (grub_mm_dump_free): New function.
17357 (grub_debug_free): Call `grub_free'.
17358 * include/grub/mm.h: Update copyright.
17359 (grub_mm_dump_free): Add declaration.
17360
077d5fee 173612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17362
17363 * include/grub/ieee1275/ieee1275.h: Update copyright.
17364 * kern/powerpc/ieee1275/init.c: Likewise.
17365 * kern/powerpc/ieee1275/openfw.c: Likewise.
17366
17367 * loader/powerpc/ieee1275/linux.c: Likewise.
17368 * include/grub/elfload.h: Likewise.
17369 * kern/elf.c: Likewise.
17370 (grub_elf32_load): Pass `base' and `size' parameters. Update all
17371 callers.
17372 (grub_elf64_load): Likewise.
17373 (grub_elf32_load_segment): Move to a nested function.
17374 (grub_elf64_load_segment): Likewise.
17375
dc946850 173762007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17377
17378 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
17379 prototype.
17380 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
17381 (grub_heap_len): Likewise.
17382 (HEAP_SIZE): New macro.
17383 (grub_claim_heap): New function.
17384 (grub_machine_init): Don't claim heap directly. Call
17385 `grub_claim_heap'.
17386 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
17387 (grub_available_iterate): New function.
17388
baa2a121 173892007-02-03 Thomas Schwinge <tschwinge@gnu.org>
17390
17391 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
17392 * configure.ac: Use it for testing the HOST and TARGET compilers.
17393
4fe9862e 173942006-12-13 Thomas Schwinge <tschwinge@gnu.org>
17395
17396 * Makefile.in (enable_grub_emu): New variable.
17397 * configure.ac (--enable-grub-emu): New option.
17398 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
17399 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
17400 * conf/i386-pc.rmk: Likewise.
17401 * conf/powerpc-ieee1275.rmk: Likewise.
17402 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
17403
a8aa5762 174042006-12-12 Marco Gerards <marco@gnu.org>
17405
17406 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
17407
17408 * kern/env.c (grub_env_unset): Don't free the member `value' when
17409 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
17410 pointer.
17411
17412 * normal/main.c (current_menu): Removed.
17413 (free_menu): Unset the `menu' environment variable.
17414 (grub_normal_menu_addentry): Make use of the environment variable
17415 `menu', instead of using the global `current_menu'. Allocate
17416 memory for the sourcecode of this entry.
17417 (read_config_file): New argument `nested', changed all callers.
17418 Only in the case of a new context, initialize a new menu. Set the
17419 `menu' environment variable.
17420 (grub_normal_execute): Don't set and unset the environment
17421 variable `menu' here anymore. Only free the menu when leaving the
17422 context.
17423
17424 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
17425 leak.
17426
957b3a3e 174272006-12-11 Marco Gerards <marco@gnu.org>
17428
17429 * normal/menu_entry.c (run): Fix off by one bug so the last line
17430 is executed. Move the loader check to outside the loop.
17431
ef875714 174322006-12-08 Hollis Blanchard <hollis@penguinppc.org>
17433
17434 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
17435
4e739985 174362006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
17437
17438 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
17439 the number of sectors. Reported by Andrey Shuvikov
17440 <mr_hyro@yahoo.com>.
f19dbdb7 17441
790707f2 174422006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
17443
17444 * kern/disk.c (grub_disk_read): When there is a read error, always
17445 try to read only the necessary data.
f19dbdb7 17446
790707f2 17447 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
17448 disk/raid.c.
17449 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
17450 prototype.
17451 [GRUB_UTIL] (grub_raid_fini): Likewise.
17452 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 17453 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 17454 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
17455 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
17456 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
17457 and grub_raid_fini().
f19dbdb7 17458
03e58196 174592006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
17460
17461 * include/grub/types.h (__unused): Rename to UNUSED.
17462 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
17463 (grub_elf64_size): Likewise.
f19dbdb7 17464
ae4f23bf 174652006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17466
17467 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
17468 grub_error_push and grub_error_pop in the error-handling path.
17469 (grub_elf32_load_segment): Only call grub_file_read with non-zero
17470 length.
17471
2166cc83 174722006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17473
17474 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
17475 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17477 (kernel_elf_SOURCES): Likewise.
17478 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
17479 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
17480 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17481 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17482 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
17483 (elf_mod_SOURCES): New variable.
17484 (elf_mod_CFLAGS): Likewise.
17485 (elf_mod_LDFLAGS): Likewise.
17486 * include/grub/types.h (__unused): New macro.
17487 * include/grub/elfload.h: New file.
17488 * kern/elf.c: Likewise.
17489 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
17490 (ELF32_LOADMASK): New macro.
17491 (ELF64_LOADMASK): Likewise.
17492 (vmlinux): Removed.
17493 (grub_linux_load32): New function.
17494 (grub_linux_load64): Likewise.
17495 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
17496 Use grub_elf_t instead of grub_file_t.
17497
a09d5aa5 174982006-11-02 Hollis Blanchard <hollis@penguinppc.org>
17499
17500 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
17501 `catch_result' to struct set_color_args.
17502
d976fc51 175032006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17504
17505 * normal/menu.c: Include grub/script.h.
17506 * normal/menu_entry.c: Likewise.
17507 * include/grub/normal.h: Do not include grub/script.h.
17508
67507549 175092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17510
17511 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
17512
69203a99 175132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17514
17515 * kern/disk.c (grub_disk_open): Print debug messages when opening a
17516 disk.
17517 (grub_disk_close): Print debug messages when closing a disk.
17518 (grub_disk_read): Print debug messages when disk read fails.
17519 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
17520 filesystem type.
17521 * kern/partition.c: Include misc.h.
17522 (grub_partition_iterate): Print debug messages when detecting
17523 partition type.
17524
e2b8278c 175252006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17526
17527 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
17528 is negative.
17529 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
17530
97b2f2ff 175312006-10-26 Hollis Blanchard <hollis@penguinppc.org>
17532
17533 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17534 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
17535
6555d655 175362006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
17537
17538 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
17539 instead of sizeof(lv). Patch by Michael Guntsche.
17540
4d42b77f 175412006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
17542
17543 * disk/lvm.c: Rename VGS to VG_LIST.
17544 (grub_lvm_iterate): Change VGS->LV to VG-LV.
17545 (grub_lvm_open): Likewise.
17546 Thanks to Michael Guntsche for finding this bug.
17547
5d74d927 175482006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17549
17550 * configure.ac (AC_INIT): Bumped to 1.95.
17551
a1bb27e4 175522006-10-14 Robert Millan <rmh@aybabtu.com>
17553
17554 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
17555 with "/dev/.static/dev/md".
17556
e0994b8b 175572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17558
17559 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
17560 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
17561 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
17562 DRIVE_NAME are always freed.
17563
17564 * util/i386/pc/biosdisk.c (make_device_name): Add one into
17565 DOS_PART, as a DOS partition is counted from one instead of zero
17566 now. Reported by Robert Millan.
17567
ddd5cee9 175682006-10-14 Robert Millan <rmh@aybabtu.com>
17569
17570 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
17571 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
17572 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
17573 string returned by grub_guess_root_device.
17574 * util/i386/pc/grub-setup.c: Likewise.
17575 * util/i386/pc/grub-probefs.c: Likewise.
17576
17577 * util/i386/pc/grub-probefs.c: Rename to ...
17578 * util/i386/pc/grub-probe.c: ... this.
17579 * DISTLIST: Remove grub-probefs, add grub-probe.
17580 * conf/i386-efi.rmk: Likewise.
17581 * conf/i386-pc.rmk: Likewise.
17582 * util/i386/pc/grub-install.in: Likewise.
17583
17584 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
17585 choose which information we want to print.
17586
2b002173 175872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17588
17589 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
17590 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
17591 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
17592 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
17593 video/readers/tga.c and video/i386/pc/vbeutil.c.
17594
175952006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
17596
17597 Added support for RAID and LVM.
f19dbdb7 17598
2b002173 17599 * disk/lvm.c: New file.
17600 * disk/raid.c: Likewise.
17601 * include/grub/lvm.h: Likewise.
f19dbdb7 17602 * include/grub/raid.h: Likewise.
2b002173 17603 * include/grub/util/lvm.h: Likewise.
17604 * include/grub/util/raid.h: Likewise.
17605 * util/lvm.c: Likewise.
17606 * util/raid.c: Likewise.
17607
17608 * include/grub/disk.h (grub_disk_dev_id): Add
17609 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
17610 (grub_disk_get_size): New prototype.
17611 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
17612 returns a partition.
17613 (grub_disk_get_size): New function.
f19dbdb7 17614
2b002173 17615 * kern/i386/pc/init.c (make_install_device): Copy the prefix
17616 verbatim if grub_install_dos_part is -2.
17617
17618 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
17619 and LVM devices.
17620
17621 * util/i386/pc/grub-setup.c (setup): New argument
17622 MUST_EMBED. Force embedding of GRUB when the argument is
17623 true. Close FILE before returning.
17624 (main): Add support for RAID and LVM.
f19dbdb7 17625
2b002173 17626 * conf/common.rmk: Add RAID and LVM modules.
17627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
17628 util/lvm.c.
17629 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
17630
17631 * kern/misc.c (grub_strstr): New function.
17632 * include/grub/misc.h (grub_strstr): New prototype.
17633
050548d0 176342006-10-10 Tristan Gingold <tristan.gingold@bull.net>
17635
17636 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
17637
da849d2d 176382006-10-05 Tristan Gingold <tristan.gingold@bull.net>
17639
17640 * kern/misc.c (grub_strtoull): Guess the base only if not
17641 specified.
17642
97b2f2ff 176432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 17644
17645 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
17646 PowerMac support.
17647
97b2f2ff 176482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 17649
17650 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
17651
17652 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
17653 Remove `flags' argument. All callers changed.
17654 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
17655 (IEEE1275_IHANDLE_INVALID): New variable.
17656 (IEEE1275_CELL_INVALID): New variable.
17657 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17658 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
17659 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
17660 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
17661 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
17662 codes from Open Firmware. All callers updated.
17663 (grub_ieee1275_next_property): Directly return Open Firmware return
17664 code.
17665 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17666 Standardize error checking from `grub_ieee1275_get_property'.
17667 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
17668 `devalias' to `aliases'. Correct comments. Consolidate error paths.
17669
97b2f2ff 176702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 17671
17672 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
17673 `instance_to_package_args' to `instance_to_path_args'.
17674
17675 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
17676 `grub_ieee1275_chosen'.
17677
17678 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
17679 `grub_ieee1275_interpret'.
17680
97b2f2ff 176812006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 17682
17683 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
17684
97b2f2ff 176852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 17686
17687 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
17688 (__cmpdi): Likewise.
17689
17690 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
17691 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
17692 `grub_ssize_t'.
17693
02bb8acc 17694 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 17695
17696 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
17697 to type `grub_ssize_t'.
17698 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
17699
7f9a8531 177002006-09-22 Marco Gerards <marco@gnu.org>
17701
17702 * normal/script.c (grub_script_create_cmdmenu): Skip leading
17703 newlines.
17704
b5ef1102 177052006-09-22 Marco Gerards <marco@gnu.org>
17706
17707 * commands/echo.c: New file.
17708
17709 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
17710
17711 * conf/common.rmk (echo_mod_SOURCES): New variable.
17712 (echo_mod_CFLAGS): Likewise.
17713 (echo_mod_LDFLAGS): Likewise.
17714
2cff3677 177152006-09-22 Marco Gerards <marco@gnu.org>
17716
17717 * normal/main.c (get_line): Malloc memory instead of using
17718 preallocated memory. Removed the arguments `cmdline' and
17719 `max_len'. Updated all callers.
17720
6ba4688b 177212006-09-22 Marco Gerards <marco@gnu.org>
17722
17723 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17724 (normal_mod_DEPENDENCIES): Likewise.
17725
17726 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17727 (normal_mod_DEPENDENCIES): Likewise.
17728
17729 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17730
e02ac02c 177312006-09-22 Johan Rydberg <jrydberg@gnu.org>
17732
17733 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17734 programs.
17735 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17736 (normal_mod_DEPENDENCIES): Likewise.
17737 * conf/i386-pc.mk: Regenerate.
17738 * conf/i386-efi.mk: Likewise
17739 * conf/common.mk: Likewise.
17740 * conf/powerpc-ieee1275.mk: Likewise.
17741 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17742
8d252e44 177432006-09-22 Robert Millan <rmh@aybabtu.com>
17744
17745 Sync with i386 version.
17746 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17747 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17748
209bf7ac 177492006-09-21 Robert Millan <rmh@aybabtu.com>
17750
17751 Import from GRUB Legacy (lib/device.c):
17752 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17753 (init_device_map) [__linux__]: Add support for I2O devices.
17754
6b146090 177552006-09-14 Marco Gerards <marco@gnu.org>
17756
17757 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17758 `-melf_i386'.
17759
e38600a8 177602006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17761
17762 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17763 /boot/grub/*.lst.
78fa1790 17764
2952da5d 17765 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17766
2952da5d 17767 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17768 before adding it to device.map.
17769
01b82a64 177702006-08-15 Johan Rydberg <jrydberg@gnu.org>
17771
fe6b695a 17772 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17773 compiles a file; using the -MD option.
17774 * conf/common.mk: Regenerate.
17775 * conf/i386-pc.mk: Likewise.
17776 * conf/i386-efi.mk: Likewise.
17777 * conf/powerpc-ieee1275.mk: Likewise.
17778 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17779
1064790d 177802006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17781
17782 Move the prototypes of grub_setjmp and grub_longjmp to
17783 cpu/setjmp.h, so that each architecture may specify different
17784 attributes.
f19dbdb7 17785
1064790d 17786 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17787 (grub_longjmp): Likewise.
17788 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17789 (grub_longjmp): Likewise.
17790 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17791 (grub_longjmp): Likewise.
17792
17793 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17794 [!GRUB_UTIL] (grub_longjmp): Removed.
17795
29dda3ed 177962006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17797
17798 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17799 "color!" method does not return any value.
17800
ad2a06ed 178012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17802
17803 * include/grub/bitmap.h: New file.
17804
17805 * include/grub/i386/pc/vbeutil.h: Likewise.
17806
17807 * video/bitmap.c: Likewise.
17808
17809 * video/readers/tga.c: Likewise.
17810
17811 * video/i386/pc/vbeutil.c: Likewise.
17812
17813 * commands/videotest.c: Code cleanup and updated to reflect to new
17814 video API.
17815
17816 * term/gfxterm.c: Likewise.
17817
17818 * video/video.c: Likewise.
17819
17820 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
17821 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
17822 (bitmap_mod_SOURCES): New entry.
17823 (bitmap_mod_CFLAGS): Likewise.
17824 (bitmap_mod_LDFLAGS): Likewise.
17825 (tga_mod_SOURCES): Likewise.
17826 (tga_mod_CFLAGS): Likewise.
17827 (tga_mod_LDFLAGS): Likewise.
17828
17829 * include/grub/video.h (grub_video_blit_operators): New enum type.
17830 (grub_video_render_target): Changed as forward declaration and moved
17831 actual definition to be video driver specific.
17832 (grub_video_adapter.blit_bitmap): Added blitting operator.
17833 (grub_video_adapter.blit_render_target): Likewise.
17834 (grub_video_blit_bitmap): Likewise.
17835 (grub_video_blit_render_target): Likewise.
17836
17837 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
17838 driver specific render target definition.
17839 (grub_video_vbe_map_rgba): Added driver internal helper.
17840 (grub_video_vbe_unmap_color): Updated to use
17841 grub_video_i386_vbeblit_info.
17842 (grub_video_vbe_get_video_ptr): Likewise.
17843
17844 * include/grub/i386/pc/vbeblit.h
17845 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
17846 grub_video_i386_vbeblit_info.
17847 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17848 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17849 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17850 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17851 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17852 (grub_video_i386_vbeblit_index_index): Likewise.
17853 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
17854 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17855 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17856 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
17857 operator.
17858 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
17859 operator.
17860
17861 * video/i386/pc/vbeblit.c: Updated to reflect changes on
17862 include/grub/i386/pc/vbeblit.h.
17863
17864 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
17865 Updated to use grub_video_i386_vbeblit_info.
17866 (grub_video_i386_vbefill_R8G8B8): Likewise.
17867 (grub_video_i386_vbefill_index): Likewise.
17868 (grub_video_i386_vbefill): Added generic filler.
17869
17870 * video/i386/pc/vbefill.c: Updated to reflect changes on
17871 include/grub/i386/pc/vbefill.h.
17872
17873 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
17874 grub_video_i386_vbeblit_info.
17875 (grub_video_vbe_unmap_color): Likewise.
17876 (grub_video_vbe_blit_glyph): Likewise.
17877 (grub_video_vbe_scroll): Likewise.
17878 (grub_video_vbe_draw_pixel): Removed function.
17879 (grub_video_vbe_get_pixel): Likewise.
17880 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
17881 updated code to use it.
17882 (common_blitter): Added common blitter for render target and bitmap.
17883 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
17884 (grub_video_vbe_blit_render_target): Likewise.
17885
bc8c036d 178862006-07-30 Johan Rydberg <jrydberg@gnu.org>
17887
17888 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
17889 is in text mode if there is no console control protocol instance
17890 available.
17891
684a8eff 178922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17893
17894 * include/grub/video.h: Code cleanup.
17895
17896 * include/grub/i386/pc/vbe.h: Likewise.
17897
17898 * video/i386/pc/vbe.c: Likewise.
17899
17900 * video/i386/pc/vbeblit.c: Likewise.
17901
17902 * video/i386/pc/vbefill.c: Likewise.
17903
17904 * video/video.c: Likewise. Also added more comments.
17905
5915059b 179062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17907
17908 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
17909 (struct grub_biosdisk_dap): Likewise.
17910
17911 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
17912 linkage settings for all functions.
17913
90ce5d56 179142006-07-12 Marco Gerards <marco@gnu.org>
17915
17916 * configure.ac (--enable-mm-debug): Fix typo.
17917
17918 * genkernsyms.sh.in: Use proper quoting for `CC'.
17919
43e7f879 179202006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
17921
17922 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
17923 (normal_mod_ASFLAGS): Remove "-m32".
17924
4889bdec 179252006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
17926
17927 * util/misc.c: Include config.h.
17928 [!HAVE_MEMALIGN]: Do not include malloc.h.
17929 (grub_memalign): Use posix_memalign, if present. Then, use
17930 memalign, if present. Otherwise, emit an error.
17931
17932 * util/grub-emu.c: Do not include malloc.h.
17933
17934 * include/grub/util/misc.h: Include unistd.h. This is required for
17935 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
17936 D. Eades III <hde@foobar-qux.org>.
17937
17938 * configure.ac (AC_GNU_SOURCE): Added.
17939 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
17940 type.
17941
fd39d4da 179422006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
17943
17944 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
17945 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
17946
b786f3b5 179472006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
17948
17949 * include/grub/types.h (grub_host_addr_t): Rename to
17950 grub_target_addr_t.
17951 (grub_host_off_t): Rename to grub_target_off_t.
17952 (grub_host_size_t): Rename to grub_target_size_t.
17953 (grub_host_ssize_t): Rename to grub_target_ssize_t.
17954 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
17955
17956 * include/grub/kernel.h (struct grub_module_header): Change type
17957 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
17958 (grub_module_info): Likewise.
f19dbdb7 17959
051988bb 179602006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17961
17962 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
17963 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
17964 Velazquez <jesus.velazquez@gmail.com>.
17965
deae281b 179662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
17967
17968 Count partitions from 1 instead of 0 in the string representation
17969 of partitions. Still use 0-based internally.
f19dbdb7 17970
deae281b 17971 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
17972 (sun_partition_map_iterate): Use grub_partition_t instead of
17973 struct grub_partition *. Cast DESC->START_CYLINDER to
17974 grub_uint64_t after converting the endian.
17975 (sun_partition_map_probe): Subtract 1 for PARTNUM.
17976 (sun_partition_map_get_name): Add 1 to P->INDEX.
17977
17978 * partmap/pc.c (grub_partition_parse): Subtract 1 for
17979 PCDATA->DOS_PART.
17980 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
17981
17982 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
17983 zero instead of one.
17984 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
17985 (gpt_partition_map_get_name): Add 1 into P->INDEX.
17986
17987 * partmap/apple.c (apple_partition_map_iterate): Change the type
17988 of POS to unsigned.
17989 (apple_partition_map_probe): Subtract 1 for PARTNUM.
17990 (apple_partition_map_get_name): Add 1 into P->INDEX.
17991
17992 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
17993 of POS to unsigned.
17994 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
17995 calculate the offset of a partition.
17996 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
17997 (amiga_partition_map_get_name): Add 1 into P->INDEX.
17998
17999 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18000 SECTOR to grub_disk_addr_t.
18001 (acorn_partition_map_iterate): Likewise.
18002 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18003 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18004 top.
18005 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18006
18007 * kern/i386/pc/init.c (make_install_device): Add 1 into
18008 GRUB_INSTALL_DOS_PART.
18009
18010 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18011 conditional.
18012
524a1e6a 180132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18014
18015 Clean up the code to support 64-bit addressing in disks and
18016 files. This change is not enough for filesystems yet.
f19dbdb7 18017
524a1e6a 18018 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18019 type of "start" to grub_uint64_t.
18020 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18021 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18022 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18023 convert addresses.
18024
18025 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18026 to grub_disk_addr_t.
18027
18028 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18029 string.
18030
18031 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18032
18033 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18034 to char *.
18035
18036 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18037
18038 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18039
18040 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18041
18042 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18043 to grub_off_t, to detect an error from grub_file_seek.
18044 (grub_multiboot_load_elf32): Likewise.
18045
18046 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18047 maximum unsigned long value when an overflow is detected.
18048 (grub_strtoull): New function.
18049 (grub_divmod64): Likewise.
18050 (grub_lltoa): use grub_divmod64.
18051
18052 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18053 grub_disk_addr_t.
18054 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18055 the pointer to next character. Use grub_strtoull instead of
18056 grub_strtoul.
18057 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18058 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18059 respectively.
18060
fe6b695a 18061 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18062 return value is signed.
18063 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18064 test if OFFSET is less than zero, as OFFSET is unsigned now.
18065
18066 * kern/disk.c (struct grub_disk_cache): Change the type of
18067 "sector" to grub_disk_addr_t.
18068 (grub_disk_cache_get_index): Change the type of SECTOR to
18069 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18070 unsigned after shifting.
18071 (grub_disk_cache_invalidate): Change the type of SECTOR to
18072 grub_disk_addr_t.
18073 (grub_disk_cache_unlock): Likewise.
18074 (grub_disk_cache_store): Likewise.
18075 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18076 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18077 grub_disk_addr_t and grub_uint64_t, respectively.
18078 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18079 body, as the value of OFFSET is tweaked by
18080 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18081 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18082 respectively.
18083 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18084 body, as the value of OFFSET is tweaked by
18085 grub_disk_check_range. Change the types of LEN and N to
18086 grub_size_t.
18087
18088 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18089 and "saved_offset" to grub_off_t.
18090 (test_header): Cast BUF to char *.
18091 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18092 to char *.
18093 (grub_gzio_read): Change the types of OFFSET and SIZE to
18094 grub_off_t and grub_size_t, respectively.
18095
18096 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18097 Removed.
18098 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18099 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18100 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18101 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18102 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18103
18104 * include/grub/types.h (grub_off_t): Unconditionally set to
18105 grub_uint64_t.
18106 (grub_disk_addr_t): Changed to grub_uint64_t.
18107
18108 * include/grub/partition.h (struct grub_partition): Change the
18109 types of "start", "len" and "offset" to grub_disk_addr_t,
18110 grub_uint64_t and grub_disk_addr_t, respectively.
18111 (grub_partition_get_start): Return grub_disk_addr_t.
18112 (grub_partition_get_len): Return grub_uint64_t.
18113
18114 * include/grub/misc.h (grub_strtoull): New prototype.
18115 (grub_divmod64): Likewise.
18116
18117 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18118 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18119 grub_off_t, respectively.
18120 All callers and references changed.
18121
18122 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18123 grub_size_t in "read".
18124 All callers and references changed.
18125
18126 * include/grub/file.h (struct grub_file): Change the types of
18127 "offset" and "size" to grub_off_t and grub_off_t,
18128 respectively. Change the type of SECTOR to grub_disk_addr_t in
18129 "read_hook".
18130 (grub_file_read): Change the type of LEN to grub_size_t.
18131 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18132 grub_off_t.
18133 (grub_file_size): Return grub_off_t.
18134 (grub_file_tell): Likewise.
18135 All callers and references changed.
18136
18137 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18138 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18139 "write".
18140 (struct grub_disk): Change the type of "total_sectors" to
18141 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18142 "read_hook".
524a1e6a 18143 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18144 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18145 (grub_disk_write): Likewise.
18146 All callers and references changed.
18147
18148 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18149 char * for grub_strncmp to silence gcc.
18150 (grub_iso9660_mount): Likewise.
18151 (grub_iso9660_mount): Likewise.
18152 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18153 return statement.
18154 (grub_iso9660_iterate_dir): Likewise.
18155 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18156
18157 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18158 LEN to grub_disk_addr_t and grub_size_t, respectively.
18159
18160 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18161
18162 * fs/jfs.c (grub_jfs_read_file): Likewise.
18163
18164 * fs/minix.c (grub_jfs_read_file): Likewise.
18165
18166 * fs/sfs.c (grub_jfs_read_file): Likewise.
18167
18168 * fs/ufs.c (grub_jfs_read_file): Likewise.
18169
18170 * fs/xfs.c (grub_jfs_read_file): Likewise.
18171
18172 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18173 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18174 respectively.
18175
18176 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18177 BLKNR to -1 instead of returning GRUB_ERRNO.
18178 (grub_ext2_read_file): Change the types of SECTOR and
18179 LEN to grub_disk_addr_t and grub_size_t, respectively.
18180
18181 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18182 LEN to grub_disk_addr_t and grub_size_t, respectively.
18183
18184 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18185 grub_file_read.
18186
18187 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18188 string. Do not cast SECTOR explicitly.
18189
18190 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18191 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18192 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18193 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18194 over 2TB and LBA mode is not supported, raise an error.
18195 (get_safe_sectors): New function.
18196 (grub_biosdisk_read): Use get_safe_sectors.
18197 (grub_biosdisk_write): Likewise.
18198
18199 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18200 (grub_efidisk_write): Likewise.
18201
18202 * disk/loopback.c (delete_loopback): Cosmetic changes.
18203 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18204 correctly.
18205 (grub_loopback_open): Likewise.
18206 (grub_loopback_read): Likewise. Also, change the type of POS to
18207 grub_off_t, and fix the usage of grub_memset.
18208
18209 * commands/i386/pc/play.c: Include grub/machine/time.h.
18210
18211 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18212 print FILE->SIZE.
18213
18214 * commands/configfile.c: Include grub/env.h.
18215
18216 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18217 GRUB_ERRNO directly instead. Change the type of POS to
18218 grub_off_t. Follow the coding standard.
18219
18220 * commands/blocklist.c: Include grub/partition.h.
18221 (grub_cmd_blocklist): Return an error if the underlying device is
18222 not a disk. Take the starting sector of a partition into account,
18223 if a partition is used.
18224
18225 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18226 a length field.
18227 (lba_mode): Support 64-bit addresses.
18228 (chs_mode): Likewise.
18229 (copy_buffer): Adapted to the new offsets of a length field and a
18230 segment field.
18231 (blocklist_default_start): Allocate 64-bit space.
18232
18233 * boot/i386/pc/boot.S (force_lba): Removed.
18234 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18235 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18236 space.
18237 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18238 is useless.
18239 (lba_mode): Refactored to support a 64-bit address. More size
18240 optimization.
18241 (setup_sectors): Likewise.
18242
53af98ad 182432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18244
18245 * DISTLIST: Added include/grub/i386/linux.h. Removed
18246 include/grub/i386/pc/linux.h
18247
18248 * configure.ac (AC_INIT): Bumped to 1.94.
18249
18250 * config.guess: Updated from gnulib.
18251 * config.sub: Likewise.
18252 * install-sh: Likewise.
18253 * mkinstalldirs: Likewise.
18254
b4c1940a 182552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18256
18257 * conf/common.rmk (grub_modules_init.lst): Depended on
18258 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18259 MODSRCFILES.
18260
18261 * genmk.rb (PModule::rule): Reverted the previous change.
18262
cfca1cfd 182632006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18264
18265 * conf/common.rmk (grub_modules_init.lst): Depends on
18266 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18267 that the target does not exist before producing.
18268 (grub_modules_init.h): Remove the target before generating.
18269 (grub_emu_init.c): Likewise.
18270
18271 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18272
aa6d7826 182732006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18274
18275 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18276 for the target-specific tests. Make sure that we also have the
18277 up-to-date target variables for those tests.
18278
26c607b9 182792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18280
18281 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18282 (PModule::rule): Likewise.
18283
0162321a 182842006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18285
18286 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18287 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18288 target-specific flags should be prefixed.
18289 (PModule::rule): Likewise.
18290
6c826348 182912006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18292
18293 * configure.ac (CMP): Check if cmp is available explicitly.
18294
b977bf01 182952006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18296
18297 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18298 (target_cpu): New variable.
18299 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18300
b977bf01 18301 * util/i386/pc/grub-install.in (host_cpu): Removed.
18302 (target_cpu): New variable.
18303 (pkglibdir): Use target_cpu instead of host_cpu.
18304
18305 * util/genmoddep.c: Removed.
f19dbdb7 18306
b977bf01 18307 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18308 instead of GRUB_HOST_SIZEOF_VOID_P.
18309 * kern/dl.c: Likewise.
18310
18311 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18312 ...
18313 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18314 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18315 (GRUB_TARGET_SIZEOF_LONG): ... this.
18316 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18317 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18318 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18319 to ...
18320 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18321 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18322 (GRUB_TARGET_SIZEOF_LONG): ... this.
18323 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18324 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18325 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18326 to ...
18327 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18328 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18329 (GRUB_TARGET_SIZEOF_LONG): ... this.
18330 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18331 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18332
18333 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18334 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18335 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18336 instead of GRUB_HOST_SIZEOF_LONG.
18337 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18338 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18339 GRUB_CPU_WORDS_BIGENDIAN.
18340 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
18341 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
18342 grub_host_ssize_t.
18343
18344 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
18345 (genmoddep_SOURCES): Likewise.
18346 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
18347 (genmoddep_SOURCES): Likewise.
18348 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
18349 (genmoddep_SOURCES): Likewise.
18350 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
18351 Likewise.
18352 (genmoddep_SOURCES): Likewise.
18353
18354 * genmoddep.awk: New file.
18355
18356 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
18357 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
18358 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
18359 (PModule::rule): Likewise.
18360 (Program::rule): Likewise.
18361 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
18362 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
18363 respectively.
18364
18365 * configure.ac: Rewritten intensively to use host and target
18366 instead of build and host, respectively.
18367
18368 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
18369 (host_cpu): Removed.
18370 (target_cpu): New variable.
18371 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
18372 (BUILD_CC): Removed.
18373 (BUILD_CFLAGS): Likewise.
18374 (BUILD_CPPFLAGS): Likewise.
18375 (TARGET_CC): New variable.
18376 (TARGET_CFLAGS): Likewise.
18377 (TARGET_CPPFLAGS): Likewise.
18378 (TARGET_LDFLAGS): Likewise.
18379 (AWK): Likewise.
18380 (include): Use target_cpu instead of host_cpu.
18381 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 18382
b977bf01 18383 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
18384
f09771a1 183852006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
18386
18387 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
18388 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
18389 field 'false' to 'exec_on_false'.
18390 (grub_script_create_cmdif): Renamed argument names to reflect above
18391 changes.
18392
18393 * normal/execute.c (grub_script_execute_cmdif): Likewise.
18394
18395 * normal/script.c (grub_script_create_cmdif): Likewise.
18396
118f4fb3 183972006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
18398
18399 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
18400 top.
18401 (grub_hfsplus_btree_recptr): Likewise.
18402 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
18403 FILEBLOCK both to pass a block number and store next block
18404 number.
18405 (grub_hfsplus_read_block): Rewritten heavily to support an extent
18406 overflow file correctly. Specify errors appropriately, because
18407 fshelp expects that GRUB_ERRNO is set when fails. Reuse
18408 grub_hfsplus_btree_recptr to get the pointer to a found key.
18409 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
18410 is found.
18411
18412 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
18413 linux.mod.
18414 (_linux_mod_SOURCES): New variable.
18415 (_linux_mod_CFLAGS): Likewise.
18416 (_linux_mod_LDFLAGS): Likewise.
18417 (linux_mod_SOURCES): Likewise.
18418 (linux_mod_CFLAGS): Likewise.
18419 (linux_mod_LDFLAGS): Likewise.
18420
18421 * DISTLIST: Added loader/i386/efi/linux.c,
18422 loader/i386/efi/linux_normal.c and
18423 include/grub/i386/efi/loader.h.
18424
18425 * loader/i386/efi/linux.c: New file.
18426 * loader/i386/efi/linux_normal.c: Likewise.
18427 * include/grub/i386/efi/loader.h: Likewise.
18428
89a7d726 184292006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
18430
18431 * commands/blocklist.c: New file.
18432
18433 * DISTLIST: Added commands/blocklist.c.
18434
18435 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 18436 color for the background, and a darker color for the foreground.
89a7d726 18437 (grub_console_checkkey): Return READ_KEY.
18438 (grub_console_cls): Set the background to
18439 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
18440
18441 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
18442
18443 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
18444 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
18445
18446 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
18447 prototype.
18448
18449 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
18450 BG. The spec is wrong again.
18451
18452 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
18453 prototype.
18454 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
18455
18456 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18457 commands/blocklist.c.
18458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 18459
89a7d726 18460 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
18461 (blocklist_mod_SOURCES): New variable.
18462 (blocklist_mod_CFLAGS): Likewise.
18463 (blocklist_mod_LDFLAGS): Likewise.
18464
75c8f258 184652006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
18466
18467 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
18468 duplication.
18469 (lba_mode): Use %eax more intensively to reduce the code size.
18470
da2eb181 184712006-05-20 Marco Gerards <marco@gnu.org>
18472
18473 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
18474
18475 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
18476 for `menuentry'.
18477 (script): Accept leading newlines.
18478 (newlines): New rule to describe 0 or more newlines.
18479 (commands): Accept `command' with trailing newline. Fixed the
18480 order in which arguments were passed to `grub_script_add_cmd'.
18481 Accept commands separated by newlines.
18482 (function): Changed to accept newlines.
18483 (menuentry) Rewritten.
18484
18485 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
18486 front of the list, instead of to the end.
18487
577b4050 184882006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
18489
18490 * util/i386/pc/grub-install.in (bindir): New variable.
18491 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
18492 Shaver <lbgwjl@gmail.com>.
18493
0d6e1189 184942006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
18495
18496 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
18497 grub/machine/linux.h
18498 * loader/i386/pc/linux.c: Likewise.
18499
18500 * include/grub/i386/pc/linux.h: Moved to ...
18501 * include/grub/i386/linux.h: ... here.
18502
18503 * include/grub/i386/linux.h (struct linux_kernel_params): New
18504 struct.
f19dbdb7 18505
31b86e9f 185062006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
18507
18508 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
18509 checking.
18510 (grub_video_vbe_blit_glyph): Likewise.
18511 (grub_video_vbe_blit_bitmap): Likewise.
18512 (grub_video_vbe_blit_render_target): Likewise.
18513
83b984de 185142006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
18515
18516 * configure.ac (--with-platform): Properly quote the square
18517 brackets.
18518
5f0413bd 185192006-05-08 Marco Gerards <marco@gnu.org>
18520
18521 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
18522 this...
18523 (kernel_elf_HEADERS): ...to this. Updated all users.
18524 (grubof_symlist.c): Renamed from this...
18525 (kernel_elf_symlist.c): ...to this. Updated all users.
18526 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18527 (grubof_SOURCES): Renamed from this...
18528 (kernel_elf_SOURCES): ...to this.
18529 (grubof_HEADERS): Renamed from this...
18530 (kernel_elf_HEADERS): ...to this.
18531 (grubof_CFLAGS): Renamed from this...
18532 (kernel_elf_CFLAGS): ...to this.
18533 (grubof_ASFLAGS): Renamed from this...
18534 (kernel_elf_ASFLAGS): ...to this.
18535 (grubof_LDFLAGS): Renamed from this...
18536 (kernel_elf_LDFLAGS): ...to this.
18537
18538 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
18539 this...
18540 (kernel_elf_HEADERS): ...to this. Updated all users.
18541 (grubof_symlist.c): Renamed from this...
18542 (kernel_elf_symlist.c): ...to this. Updated all users.
18543 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18544 (grubof_SOURCES): Renamed from this...
18545 (kernel_elf_SOURCES): ...to this.
18546 (grubof_HEADERS): Renamed from this...
18547 (kernel_elf_HEADERS): ...to this.
18548 (grubof_CFLAGS): Renamed from this...
18549 (kernel_elf_CFLAGS): ...to this.
18550 (grubof_ASFLAGS): Renamed from this...
18551 (kernel_elf_ASFLAGS): ...to this.
18552 (grubof_LDFLAGS): Renamed from this...
18553 (kernel_elf_LDFLAGS): ...to this.
18554
18555 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
18556 `kernel.elf' instead of `grubof'.
18557
05568c2e 185582006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
18559
18560 Add --with-platform to configure. Use pkglibdir instead of
18561 pkgdatadir. This is reported by Roger Leigh.
18562
18563 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
18564 (host_vendor): Likewise.
18565 (host_os): Likewise.
18566 (pkgdatadir): Likewise.
18567 (platform): New variable.
18568 (pkglibdir): Likewise.
18569 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 18570
05568c2e 18571 * util/i386/pc/grub-install.in (datadir): Removed.
18572 (host_vendor): Likewise.
18573 (host_os): Likewise.
18574 (pkgdatadir): Likewise.
18575 (platform): New variable.
18576 (pkglibdir): Likewise.
18577 Use PKGLIBDIR instead of PKGDATADIR.
18578
18579 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
18580 instead of GRUB_DATADIR.
18581 (main): Likewise.
18582 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18583 (main): Likewise.
18584 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18585 (main): Likewise.
18586
18587 * configure.ac (--with-platform): New option.
18588 Use PLATFORM instead of HOST_VENDOR to specify a platform.
18589
18590 * Makefile.in: Include a makefile based on PLATFORM instead of
18591 HOST_VENDOR.
18592 (pkgdatadir): Not appended by the machine type.
18593 (pkglibdir): Appended by the machine type.
18594 (host_vendor): Removed.
18595 (platform): New variable.
18596 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
18597 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
18598 (uninstall): Likewise.
18599
4e93851c 186002006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
18601
18602 Use the environment context in the menu. Remove the commands
18603 "default" and "timeout", and use variables instead.
f19dbdb7 18604
4e93851c 18605 * normal/menu.c: Include grub/env.h.
18606 (print_entry): Cast TITLE to silence gcc.
18607 (get_timeout): New function.
18608 (set_timeout): Likewise.
18609 (get_entry_number): Likewise.
18610 (run_menu): Use a default entry, a fallback entry and a timeout
18611 in the environment variables "default", "fallback" and
18612 "timeout". Also, tweak the default entry if it is not within the
18613 current menu entries.
18614 (grub_menu_run): Use a fallback entry in the environment variable
18615 "fallback".
18616
18617 * normal/main.c (read_config_file): Do not initialize
18618 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
18619 NEWMENU->TIMEOUT.
18620 (grub_normal_execute): Use a data slot to store the menu.
18621
18622 * include/grub/normal.h (struct grub_menu): Removed default_entry,
18623 fallback_entry and timeout.
18624 (struct grub_menu_list): Removed.
18625 (grub_menu_list_t): Likewise.
18626 (struct grub_context): Likewise.
18627 (grub_context_t): Likewise.
18628 (grub_context_get): Likewise.
18629 (grub_context_get_current_menu): Likewise.
18630 (grub_context_push_menu): Likewise.
18631 (grub_context_pop_menu): Likewise.
18632 (grub_default_init): Likewise.
18633 (grub_default_fini): Likewise.
18634 (grub_timeout_init): Likewise.
18635 (grub_timeout_fini): Likewise.
18636
18637 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
18638 and timeout.mod.
18639 (normal_mod_SOURCES): Removed normal/context.c.
18640
18641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
18642 commands/default.c, commands/timeout.c and normal/context.c.
18643 (normal_mod_SOURCES): Removed normal/context.c.
18644
18645 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
18646 commands/timeout.c and normal/context.c.
18647 (normal_mod_SOURCES): Removed normal/context.c.
18648
18649 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
18650 commands/default.c, commands/timeout.c and normal/context.c.
18651 (normal_mod_SOURCES): Removed normal/context.c.
18652
18653 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
18654 timeout.mod.
18655 (default_mod_SOURCES): Removed.
18656 (default_mod_CFLAGS): Likewise.
18657 (default_mod_LDFLAGS): Likewise.
18658 (timeout_mod_SOURCES): Removed.
18659 (timeout_mod_CFLAGS): Likewise.
18660 (timeout_mod_LDFLAGS): Likewise.
18661
18662 * DISTLIST: Removed commands/default.c, commands/timeout.c and
18663 normal/context.c.
18664
18665 * commands/default.c: Removed.
18666 * commands/timeout.c: Likewise.
18667 * normal/context.c: Likewise.
18668
1eb9cc1d 186692006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
18670
18671 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
18672
385bd9c1 186732006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
18674
18675 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
18676 "next" to "prev" for readability.
18677 (struct grub_env_sorted_var): New struct.
18678 (grub_env_context): Renamed to ...
18679 (initial_context): ... this.
18680 (grub_env_var_context): Renamed to ...
18681 (current_context): ... this.
18682 (grub_env_find): Look only at CURRENT_CONTEXT.
18683 (grub_env_context_open): Rewritten to copy exported variables from
18684 previous context.
18685 (grub_env_context_close): Rewritten according to the new
18686 scheme. Also, add an assertion to prevent the initial context from
18687 removed.
18688 (grub_env_insert): Removed the code for the sorted list.
18689 (grub_env_remove): Likewise.
18690 (grub_env_export): Simply mark the variable with
18691 GRUB_ENV_VAR_GLOBAL.
18692 (grub_env_set): A cosmetic change for naming consistency.
18693 (grub_env_get): Likewise.
18694 (grub_env_unset): Likewise.
18695 (grub_env_iterate): Rewritten to sort variables within this
18696 function.
18697 (grub_register_variable_hook): Fixed for naming consistency. Call
18698 grub_env_find again, only if NAME is not found at the first time.
18699 (mangle_data_slot_name): New function.
18700 (grub_env_set_data_slot): Likewise.
18701 (grub_env_get_data_slot): Likewise.
18702 (grub_env_unset_data_slot): Likewise.
18703
18704 * include/grub/env.h (grub_env_var_type): New enum.
18705 (GRUB_ENV_VAR_LOCAL): New constant.
18706 (GRUB_ENV_VAR_GLOBAL): Likewise.
18707 (GRUB_ENV_VAR_DATA): Likewise.
18708 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
18709 "type".
18710 (grub_env_set): Replace VAR with NAME for consistency.
18711 (grub_register_variable_hook): Likewise.
18712 (grub_env_export): Specify the name of the argument.
18713 (grub_env_set_data_slot): New prototype.
18714 (grub_env_get_data_slot): Likewise.
18715 (grub_env_unset_data_slot): Likewise.
18716
7f362539 187172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18718
18719 Extend the loader so that GRUB can accept a loader which comes
18720 back to GRUB when a loaded image exits. Also, this change adds
18721 support for a chainloader on EFI.
f19dbdb7 18722
7f362539 18723 * term/efi/console.c: Include grub/misc.h.
18724 (grub_console_checkkey): Display a scan code on the top for
18725 debugging. This will be removed once the EFI port gets stable.
18726 Correct the scan code mapping.
18727
18728 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18729 allocate memory from larger regions, in order to reduce the number
18730 of allocated regions. Otherwise, the MacOSX loader panics.
18731 (filter_memory_map): Avoid less than 1MB for compatibility with
18732 other loaders.
18733 (add_memory_regions): Allocate from the tail of a region, if
18734 possible, to avoid allocating a region near to 1MB, for the MacOSX
18735 loader.
18736
18737 * kern/efi/init.c (grub_efi_set_prefix): Specify
18738 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18739
18740 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18741 argument IMAGE_HANDLE and specify it to get a loaded image.
18742 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18743 grub_efi_get_loaded_image.
fe6b695a 18744 (grub_efi_get_filename): Divide the length by the size of
7f362539 18745 grub_efi_char16_t.
18746 (grub_efi_get_device_path): New function.
18747 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18748 the length by the size of grub_efi_char16_t for a file path device
18749 path node.
18750
18751 * kern/loader.c (grub_loader_noreturn): New variable.
18752 (grub_loader_set): Accept a new argument NORETURN. Set
18753 GRUB_LOADER_NORETURN to NORETURN.
18754 All callers changed.
18755 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18756 grub_machine_fini.
18757
18758 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18759 prototype.
18760 (grub_efi_get_loaded_image): Take an argument to specify an image
18761 handle.
18762
18763 * include/grub/loader.h (grub_loader_set): Added one more argument
18764 NORETURN.
18765
18766 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18767 instead of grub_efi_open_protocol.
18768 (grub_efidisk_get_device_name): Likewise.
18769 (grub_efidisk_close): Print a newline.
18770 (grub_efidisk_get_device_handle): Fixed to use
18771 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18772 GRUB_EFI_DEVICE_PATH_TYPE.
18773
18774 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18775 * kern/efi/efi.c (device_path_guid): ... here.
18776
18777 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18778 chain.mod.
18779 (kernel_mod_HEADERS): Added efi/disk.h.
18780 (_chain_mod_SOURCES): New variable.
18781 (_chain_mod_CFLAGS): Likewise.
18782 (_chain_mod_LDFLAGS): Likewise.
18783 (chain_mod_SOURCES): Likewise.
18784 (chain_mod_CFLAGS): Likewise.
18785 (chain_mod_LDFLAGS): Likewise.
18786
18787 * DISTLIST: Added include/grub/efi/chainloader.h,
18788 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18789
18790 * include/grub/efi/chainloader.h: New file.
18791 * loader/efi/chainloader.c: Likewise.
18792 * loader/efi/chainloader_normal.c: Likewise.
18793
c0111d6e 187942006-04-30 Marco Gerards <marco@gnu.org>
18795
18796 * commands/configfile.c (grub_cmd_source): New function.
18797 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18798 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18799
df5341da 188002006-04-30 Marco Gerards <marco@gnu.org>
18801
18802 * normal/execute.c (grub_script_execute_cmd): Change the return
18803 type to `grub_err_t'. Correctly return the error.
18804 (grub_script_execute_cmdline): In case a command line is not a
18805 command or a function, try to interpret it as an assignment.
18806
f85934bd 188072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18808
18809 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
18810 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
18811 skip a node whose name is obviously invalid as UTF-16,
18812 i.e. contains a NUL character. Stop the iteration when the last
18813 directory entry is found. Instead of using the return value of
18814 grub_hfsplus_btree_iterate_node, store the value in RET and use
18815 it, because the iterator can be stopped by the last directory
18816 entry.
18817
8f8a2cf8 188182006-04-30 Marco Gerards <marco@gnu.org>
18819
18820 * include/grub/env.h (grub_env_export): New prototype. Reported
18821 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
18822
a27e84ce 188232006-04-30 Marco Gerards <marco@gnu.org>
18824
18825 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
18826 size of the extents in a catalog file record.
18827
eaef0553 188282006-04-29 Marco Gerards <marco@gnu.org>
18829
18830 * commands/configfile.c (grub_cmd_configfile): Execute the
18831 configfile within its own context.
18832
18833 * include/grub/env.h (grub_env_context_open): New prototype.
18834 (grub_env_context_close): Likewise.
18835
18836 * kern/env.c (grub_env): Removed.
18837 (grub_env_sorted): Likewise.
18838 (grub_env_context): New variable.
18839 (grub_env_var_context): Likewise.
18840 (grub_env_find): Search both the active context and the global
18841 context.
18842 (grub_env_context_open): New function.
18843 (grub_env_context_close): Likewise.
18844 (grub_env_insert): Likewise.
18845 (grub_env_remove): Likewise.
18846 (grub_env_export): Likewise.
18847 (grub_env_set): Changed to use helper functions to avoid code
18848 duplication.
18849 (grub_env_iterate): Rewritten so both the current context and the
18850 global context are being used.
18851
18852 * normal/command.c (export_command): New function.
18853 (grub_command_init): Register the `export' function.
18854
7b455f4d 188552006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
18856
18857 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
18858 explicitly to suppress gcc's warnings.
18859 * fs/fat.c (grub_fat_find_dir): Likewise.
18860 (grub_fat_label): Likewise.
18861 * fs/xfs.c (grub_xfs_read_inode): Likewise.
18862 (grub_xfs_mount): Likewise.
18863 (grub_xfs_label): Likewise.
18864 * fs/affs.c (grub_affs_mount): Likewise.
18865 (grub_affs_label): Likewise.
18866 (grub_affs_iterate_dir): Likewise.
18867 * fs/sfs.c (grub_sfs_mount): Likewise.
18868 (grub_sfs_iterate_dir): Likewise.
18869 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
18870 * fs/hfs.c (grub_hfs_mount): Likewise.
18871 (grub_hfs_cmp_catkeys): Likewise.
18872 (grub_hfs_find_dir): Likewise.
18873 (grub_hfs_dir): Likewise.
18874 (grub_hfs_label): Likewise.
18875 * fs/jfs.c (grub_jfs_mount): Likewise.
18876 (grub_jfs_opendir): Likewise.
18877 (grub_jfs_getent): Likewise.
18878 (grub_jfs_lookup_symlink): Likewise.
18879 (grub_jfs_label): Likewise.
18880 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
18881 (grub_hfsplus_iterate_dir): Likewise.
18882 (grub_hfsplus_btree_iterate_node): Made static.
18883
18884 * util/grub-emu.c (prefix): New variable.
18885 (grub_machine_set_prefix): New function.
18886 (main): Do not set the environment variable "prefix" here. Only
18887 set PREFIX, which is used later by grub_machine_set_prefix.
18888
18889 * include/grub/video.h: Do not include grub/symbol.h.
18890 (grub_video_register): Not exported. This symbol is not defined in
18891 the kernel.
18892 (grub_video_unregister): Likewise.
18893 (grub_video_iterate): Likewise.
18894 (grub_video_setup): Likewise.
18895 (grub_video_restore): Likewise.
18896 (grub_video_get_info): Likewise.
18897 (grub_video_get_blit_format): Likewise.
18898 (grub_video_set_palette): Likewise.
18899 (grub_video_get_palette): Likewise.
18900 (grub_video_set_viewport): Likewise.
18901 (grub_video_get_viewport): Likewise.
18902 (grub_video_map_color): Likewise.
18903 (grub_video_map_rgb): Likewise.
18904 (grub_video_map_rgba): Likewise.
18905 (grub_video_fill_rect): Likewise.
18906 (grub_video_blit_glyph): Likewise.
18907 (grub_video_blit_bitmap): Likewise.
18908 (grub_video_blit_render_target): Likewise.
18909 (grub_video_scroll): Likewise.
18910 (grub_video_swap_buffers): Likewise.
18911 (grub_video_create_render_target): Likewise.
18912 (grub_video_delete_render_target): Likewise.
18913 (grub_video_set_active_render_target): Likewise.
18914
18915 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
18916 Undefined.
18917 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
18918
18919 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
18920 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18921 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18922 instead of $(srcdir)/genkernsyms.sh.
18923
18924 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
18925 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18926 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18927 instead of $(srcdir)/genkernsyms.sh.
18928
18929 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
18930 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18931 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18932 instead of $(srcdir)/genkernsyms.sh.
18933
18934 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
18935 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
18936 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
18937 instead of $(srcdir)/genkernsyms.sh.
18938
18939 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
18940 genkernsyms.sh.
18941
18942 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
18943 genkernsyms.sh.
18944 (gensymlist.sh): New target.
18945 (genkernsyms.sh): Likewise.
18946
18947 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
18948 genkernsyms.sh.in and gensymlist.sh.in.
18949
18950 * genkernsyms.sh: Removed.
18951 * gensymlist.sh: Likewise.
f19dbdb7 18952
7b455f4d 18953 * genkernsyms.sh.in: New file.
18954 * gensymlist.sh.in: Likewise.
18955
1885bb27 189562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18957
18958 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
18959 clobber "prefix", since we may have already set it manually.
18960
71538dff 189612006-04-25 Hollis Blanchard <hollis@penguinppc.org>
18962
18963 * kern/misc.c (abort): New alias for grub_abort.
18964
2965c7cc 189652006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
18966
18967 A new machine-specific function "grub_machine_set_prefix" is
18968 defined. This is called after loading modules, so that a prefix
18969 initialization can use modules. Also, this change adds an
18970 intensive debugging feature for the memory manager via the
18971 configure option "--enable-mm-debug".
f19dbdb7 18972
2965c7cc 18973 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
18974 PART.LEN.
18975
18976 * kern/sparc64/ieee1275/init.c (abort): Removed.
18977 (grub_stop): Likewise.
18978 (grub_exit): New function.
18979 (grub_set_prefix): Renamed to ...
18980 (grub_machine_set_prefix): ... this.
18981 (grub_machine_init): Do not call grub_set_prefix.
18982
18983 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
18984 (grub_machine_set_prefix): ... this.
18985 (grub_machine_init): Do not call grub_set_prefix.
18986
18987 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
18988 (grub_machine_init): Do not set the prefix here.
18989
18990 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
18991
18992 * kern/efi/init.c: Include grub/mm.h.
18993 (grub_efi_set_prefix): New function.
18994
18995 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
18996 (grub_efi_get_filename): New function.
18997 (grub_print_device_path): Renamed to ...
18998 (grub_efi_print_device_path): ... this.
18999
19000 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19001 [MM_DEBUG] (grub_realloc): Likewise.
19002 [MM_DEBUG] (grub_free): Likewise.
19003 [MM_DEBUG] (grub_memalign): Likewise.
19004 [MM_DEBUG] (grub_mm_debug): New variable.
19005 [MM_DEBUG] (grub_debug_malloc): New function.
19006 [MM_DEBUG] (grub_debug_free): New function.
19007 [MM_DEBUG] (grub_debug_realloc): New function.
19008 [MM_DEBUG] (grub_debug_memalign): New function.
19009
19010 * kern/misc.c (grub_abort): Print a newline to distinguish
19011 the message.
19012
19013 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19014 grub_set_root_dev after loading modules. This is necessary when
19015 setting a prefix depends on modules.
19016
19017 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19018 (grub_efi_print_device_path): ... this.
19019 (grub_efi_get_filename): New prototype.
19020 (grub_efi_set_prefix): Likewise.
19021
19022 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19023 and grub/disk.h.
19024 (grub_efidisk_get_device_handle): New prototype.
19025 (grub_efidisk_get_device_name): Likewise.
19026
19027 * include/grub/mm.h: Include config.h.
19028 (MM_DEBUG): Removed.
19029 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19030 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19031 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19032 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19033 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19034 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19035 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19036 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19037 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19038
19039 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19040
19041 * disk/efi/efidisk.c: Include grub/partition.h.
19042 (iterate_child_devices): New function.
19043 (add_device): First, compare only last device path nodes, so that
19044 devices are sorted by the types.
19045 (grub_efidisk_get_device_handle): New function.
19046 (grub_efidisk_get_device_name): Likewise.
19047
19048 * configure.ac (--enable-mm-debug): New option to enable the
19049 memory manager debugging feature. This makes the binary much
19050 bigger, so is disabled by default.
19051
9cacaa17 190522006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19053
19054 Use grub_abort instead of grub_stop, and grub_exit must be
19055 define in each architecture now. Also, this change adds support
19056 for EFI disks.
f19dbdb7 19057
9cacaa17 19058 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19059 (grub_getkey): New function.
19060 (grub_term_get_current): Likewise.
19061
19062 * util/i386/pc/grub-setup.c: Include grub/term.h.
19063 (grub_getkey): New function.
19064 (grub_term_get_current): Likewise.
19065
19066 * util/misc.c (grub_stop): Renamed to ...
19067 (grub_exit): ... this.
19068
19069 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19070 (grub_exit): ... this.
19071 (grub_machine_init): Use grub_abort instead of abort.
19072 (grub_stop): Removed.
19073
19074 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19075 abort.
19076
19077 * kern/i386/pc/startup.S (grub_exit): New function.
19078 (cold_reboot): New label.
19079
19080 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19081 (grub_efi_init): Call grub_efidisk_init.
19082 (grub_efi_fini): Call grub_efidisk_fini.
19083
19084 * kern/efi/efi.c: Include grub/mm.h.
19085 (grub_efi_console_control_guid): Renamed to ...
19086 (console_control_guid): ... this.
19087 (grub_efi_loaded_image_guid): Renamed to ...
19088 (loaded_image_guid): ... this.
19089 (grub_efi_locate_handle): New function.
19090 (grub_efi_open_protocol): Likewise.
19091 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19092 GRUB_EFI_CONSOLE_CONTROL_GUID.
19093 (grub_efi_exit): Removed.
19094 (grub_stop): Likewise.
19095 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19096 (grub_exit): New function.
19097 (grub_print_device_path): Likewise.
19098
19099 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19100 (grub_enter_rescue_mode): Register "exit".
19101
19102 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19103 (grub_abort): New function.
19104
19105 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19106
19107 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19108
19109 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19110
19111 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19112 (grub_print_device_path): New prototype.
19113 (grub_efi_locate_handle): Likewise.
19114 (grub_efi_open_protocol): Likewise.
19115
19116 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19117 * disk/efi/efidisk.c: Likewise.
19118
19119 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19120
19121 * include/grub/efi/console_control.h
19122 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19123
19124 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19125 last 8 bytes as an array.
19126 (GRUB_EFI_DISK_IO_GUID): New macro.
19127 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19128 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19129 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19130 grub_uint8_t.
19131 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19132 (struct grub_efi_device_path): Rename the member "sub_type" to
19133 "subtype".
19134 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19135 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19136 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19137 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19138 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19139 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19140 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19141 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19142 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19143 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19144 (struct grub_efi_pci_device_path): New structure.
19145 (grub_efi_pci_device_path_t): New type.
19146 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19147 (struct grub_efi_pccard_device_path): New structure.
19148 (grub_efi_pccard_device_path_t): New type.
19149 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19150 (struct grub_efi_memory_mapped_device_path): New structure.
19151 (grub_efi_memory_mapped_device_path_t): New type.
19152 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19153 (struct grub_efi_vendor_device_path): New structure.
19154 (grub_efi_vendor_device_path_t): New type.
19155 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19156 (struct grub_efi_controller_device_path): New structure.
19157 (grub_efi_controller_device_path_t): New type.
19158 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19159 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19160 (struct grub_efi_acpi_device_path): New structure.
19161 (grub_efi_acpi_device_path_t): New type.
19162 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19163 (struct grub_efi_expanded_acpi_device_path): New structure.
19164 (grub_efi_expanded_acpi_device_path_t): New type.
19165 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19166 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19167 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19168 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19169 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19170 (struct grub_efi_atapi_device_path): New structure.
19171 (grub_efi_atapi_device_path_t): New type.
19172 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19173 (struct grub_efi_fibre_channel_device_path): New structure.
19174 (grub_efi_fibre_channel_device_path_t): New type.
19175 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19176 (struct grub_efi_1394_device_path): New structure.
19177 (grub_efi_1394_device_path_t): New type.
19178 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19179 (struct grub_efi_usb_device_path): New structure.
19180 (grub_efi_usb_device_path_t): New type.
19181 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19182 (struct grub_efi_usb_class_device_path): New structure.
19183 (grub_efi_usb_class_device_path_t): New type.
19184 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19185 (struct grub_efi_i2o_device_path): New structure.
19186 (grub_efi_i2o_device_path_t): New type.
19187 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19188 (struct grub_efi_mac_address_device_path): New structure.
19189 (grub_efi_mac_address_device_path_t): New type.
19190 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19191 (struct grub_efi_ipv4_device_path): New structure.
19192 (grub_efi_ipv4_device_path_t): New type.
19193 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19194 (struct grub_efi_ipv6_device_path): New structure.
19195 (grub_efi_ipv6_device_path_t): New type.
19196 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19197 (struct grub_efi_infiniband_device_path): New structure.
19198 (grub_efi_infiniband_device_path_t): New type.
19199 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19200 (struct grub_efi_uart_device_path): New structure.
19201 (grub_efi_uart_device_path_t): New type.
19202 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19203 (struct grub_efi_vendor_messaging_device_path): New structure.
19204 (grub_efi_vendor_messaging_device_path_t): New type.
19205 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19206 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19207 (struct grub_efi_hard_drive_device_path): New structure.
19208 (grub_efi_hard_drive_device_path_t): New type.
19209 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19210 (struct grub_efi_cdrom_device_path): New structure.
19211 (grub_efi_cdrom_device_path_t): New type.
19212 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19213 (struct grub_efi_vendor_media_device_path): New structure.
19214 (grub_efi_vendor_media_device_path_t): New type.
19215 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19216 (struct grub_efi_file_path_device_path): New structure.
19217 (grub_efi_file_path_device_path_t): New type.
19218 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19219 (struct grub_efi_protocol_device_path): New structure.
19220 (grub_efi_protocol_device_path_t): New type.
19221 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19222 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19223 (struct grub_efi_bios_device_path): New structure.
19224 (grub_efi_bios_device_path_t): New type.
19225 (struct grub_efi_disk_io): New structure.
19226 (grub_efi_disk_io_t): New type.
19227 (struct grub_efi_block_io_media): New structure.
19228 (grub_efi_block_io_media_t): New type.
19229 (struct grub_efi_block_io): New structure.
19230 (grub_efi_block_io_t): New type.
19231
19232 * include/grub/misc.h (grub_stop): Removed.
19233 (grub_exit): New prototype.
19234 (grub_abort): Likewise.
19235
19236 * include/grub/disk.h (enum grub_disk_dev_id): Added
19237 GRUB_DISK_DEVICE_EFIDISK_ID.
19238
19239 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19240 disk/efi/efidisk.c.
19241 (kernel_syms.lst): Remove the target if an error occurs.
19242
49986a9f 192432006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19244
19245 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19246 as it was simply too buggy.
19247
970d3b8a 192482006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19249
19250 * kern/misc.c (grub_lltoa): New function.
19251 (grub_vsprintf): Added support for the long long suffix,
19252 i.e. "ll".
19253
ff04ec24 192542006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19255
19256 * Makefile.in (LDFLAGS): Add variable.
19257 (LD): Remove variable.
19258 * configure.ac: Add -m32 to LDFLAGS.
19259 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19260 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19261 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19262 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19263 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19264 variables.
19265 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19266 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19267 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19268
37e5e1a4 192692006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19270
19271 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19272 length for unknown glyph.
19273
c352d8dd 192742006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19275
2eab1c0d 19276 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19277
2eab1c0d 19278 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19279 completely. Accept one more argument DIR. The caller has changed.
19280
19281 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19282
19283 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19284 (grub_efi_loaded_image_guid): New variable.
19285 (grub_efi_get_loaded_image): New function.
19286 (grub_arch_modules_addr): Likewise.
19287
19288 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19289 prototype.
19290
19291 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19292 (struct grub_efi_loaded_image): New structure.
19293 (grub_efi_loaded_image_t): New type.
19294
192952006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19296
c352d8dd 19297 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19298 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19299 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19300
6d01d6b4 193012006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19302
19303 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19304
976a4ea0 193052006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19306
19307 * DISTLIST: Added include/grub/efi/console.h,
19308 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19309 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19310
19311 * include/grub/efi/console.h: New file.
19312 * include/grub/efi/time.h: Likewise.
19313 * include/grub/i386/efi/kernel.h: Likewise.
19314 * kern/efi/init.c: Likewise.
19315 * kern/efi/mm.c: Likewise.
19316 * term/efi/console.c: Likewise.
f19dbdb7 19317
976a4ea0 19318 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19319 (grub_stop): Removed.
19320 (grub_get_rtc): Likewise.
19321 (grub_machine_init): Simply call grub_efi_init.
19322 (grub_machine_fini): Call grub_efi_fini.
19323
19324 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19325 (grub_efi_output_string): Removed.
19326 (grub_efi_stall): New function.
19327 (grub_stop): Likewise.
19328 (grub_get_rtc): Likewise.
19329
19330 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19331 (grub_efi_stall): New prototype.
19332 (grub_efi_allocate_pages): Likewise.
19333 (grub_efi_free_pages): Likewise.
19334 (grub_efi_get_memory_map): Likewise.
19335 (grub_efi_mm_init): Likewise.
19336 (grub_efi_mm_fini): Likewise.
19337 (grub_efi_init): Likewise.
19338 (grub_efi_fini): Likewise.
19339
19340 * include/grub/i386/efi/time.h: Do not include
19341 grub/symbol.h. Include grub/efi/time.h.
19342 (GRUB_TICKS_PER_SECOND): Removed.
19343 (grub_get_rtc): Likewise.
19344
19345 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
19346 Added padding. The EFI spec is buggy.
19347 (GRUB_EFI_BLACK): New macro.
19348 (GRUB_EFI_BLUE): Likewise.
19349 (GRUB_EFI_GREEN): Likewise.
19350 (GRUB_EFI_CYAN): Likewise.
19351 (GRUB_EFI_RED): Likewise.
19352 (GRUB_EFI_MAGENTA): Likewise.
19353 (GRUB_EFI_BROWN): Likewise.
19354 (GRUB_EFI_LIGHTGRAY): Likewise.
19355 (GRUB_EFI_BRIGHT): Likewise.
19356 (GRUB_EFI_DARKGRAY): Likewise.
19357 (GRUB_EFI_LIGHTBLUE): Likewise.
19358 (GRUB_EFI_LIGHTGREEN): Likewise.
19359 (GRUB_EFI_LIGHTCYAN): Likewise.
19360 (GRUB_EFI_LIGHTRED): Likewise.
19361 (GRUB_EFI_LIGHTMAGENTA): Likewise.
19362 (GRUB_EFI_YELLOW): Likewise.
19363 (GRUB_EFI_WHITE): Likewise.
19364 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
19365 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
19366 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
19367 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
19368 (GRUB_EFI_BACKGROUND_RED): Likewise.
19369 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
19370 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
19371 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
19372 (GRUB_EFI_TEXT_ATTR): Likewise.
19373
19374 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
19375 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19376 (kernel_mod_HEADERS): Added efi/time.h.
19377
83709125 193782006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
19379
19380 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
19381 include/grub/efi/api.h, include/grub/efi/console_control.h,
19382 include/grub/efi/efi.h, include/grub/efi/pe32.h,
19383 include/grub/i386/efi/time.h, kern/efi/efi.c,
19384 kern/i386/efi/init.c, kern/i386/efi/startup.S,
19385 and util/i386/efi/grub-mkimage.c.
19386
19387 * Makefile.in (RMKFILES): Added i386-efi.rmk.
19388
19389 * genmk.rb (PModule#rule): Do not export symbols if
19390 #{prefix}_EXPORTS is set to "no".
19391
19392 * conf/i386-efi.mk: New file.
19393 * conf/i386-efi.rmk: Likewise.
19394 * include/grub/efi/api.h: Likewise.
19395 * include/grub/efi/console_control.h: Likewise.
19396 * include/grub/efi/efi.h: Likewise.
19397 * include/grub/efi/pe32.h: Likewise.
19398 * include/grub/i386/efi/time.h: Likewise.
19399 * kern/efi/efi.c: Likewise.
19400 * kern/i386/efi/init.c: Likewise.
19401 * kern/i386/efi/startup.S: Likewise.
19402 * util/i386/efi/grub-mkimage.c: Likewise.
19403
194042006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 19405
19406 * include/grub/script.h: Include <grub/parser.h> and
19407 "grub_script.tab.h".
19408 (struct grub_lexer_param): New struct.
19409 (struct grub_parser_param): Likewise.
19410 (grub_script_create_arglist): Pass the state in an argument.
19411 (grub_script_add_arglist): Likewise.
19412 (grub_script_create_cmdline): Likewise.
19413 (grub_script_create_cmdblock): Likewise.
19414 (grub_script_create_cmdif): Likewise.
19415 (grub_script_create_cmdmenu): Likewise.
19416 (grub_script_add_cmd): Likewise.
19417 (grub_script_arg_add): Likewise.
19418 (grub_script_lexer_ref): Likewise.
19419 (grub_script_lexer_deref): Likewise.
19420 (grub_script_lexer_record_start): Likewise.
19421 (grub_script_lexer_record_stop): Likewise.
19422 (grub_script_mem_record): Likewise.
19423 (grub_script_mem_record_stop): Likewise.
19424 (grub_script_malloc): Likewise.
19425 (grub_script_yylex): Likewise.
19426 (grub_script_yyparse): Likewise.
19427 (grub_script_yyerror): Likewise.
19428 (grub_script_yylex): Likewise.
19429 (grub_script_lexer_init): Return the state.
19430
19431 * normal/lexer.c (grub_script_lexer_state): Removed variable.
19432 (grub_script_lexer_done): Likewise.
19433 (grub_script_lexer_getline): Likewise.
19434 (grub_script_lexer_refs): Likewise.
19435 (script): Likewise.
19436 (newscript): Likewise.
19437 (record): Likewise.
19438 (recording): Likewise.
19439 (recordpos): Likewise.
19440 (recordlen): Likewise.
19441 (grub_script_lexer_init): Return the state instead of setting
19442 global variables.
19443 (grub_script_lexer_ref): Use the newly added argument for state
19444 instead of globals.
19445 (grub_script_lexer_deref): Likewise.
19446 (grub_script_lexer_record_start): Likewise.
19447 (grub_script_lexer_record_stop): Likewise.
19448 (recordchar): Likewise.
19449 (nextchar): Likewise.
19450 (grub_script_yylex2): Likewise.
19451 (grub_script_yylex): Likewise.
19452 (grub_script_yyerror): Likewise.
19453
19454 * normal/parser.y (func_mem): Removed variable.
19455 (menu_entry): Likewise.
19456 (err): Likewise.
19457 (%lex-param): New parser option.
19458 (%parse-param): Likewise.
19459 (script): Always return the AST.
19460 (argument): Pass the state around.
19461 (arguments): Likewise.
19462 (grubcmd): Likewise.
19463 (commands): Likewise.
19464 (function): Likewise.
19465 (menuentry): Likewise.
19466 (if_statement): Likewise.
19467 (if): Likewise.
19468
19469 * normal/script.c (grub_script_memused): Removed variable.
19470 (grub_script_parsed): Likewise.
19471 (grub_script_malloc): Added a state argument. Use that instead of
19472 global variables.
19473 (grub_script_mem_record): Likewise.
19474 (grub_script_mem_record_stop): Likewise.
19475 (grub_script_arg_add): Likewise.
19476 (grub_script_add_arglist): Likewise.
19477 (grub_script_create_cmdline): Likewise.
19478 (grub_script_create_cmdif): Likewise.
19479 (grub_script_create_cmdmenu): Likewise.
19480 (grub_script_add_cmd): Likewise.
19481 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 19482
e2a8c904 194832006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 19484
19485 * normal/command.c (grub_command_init): Remove the title command.
19486
19487 * normal/lexer.c (grub_script_yylex): Renamed from this...
19488 (grub_script_yylex2): ... to this.
19489 (grub_script_yylex): New function. Temporary
19490 introduced to filter some tokens.
19491 (grub_script_yyerror): Print a newline.
19492
19493 * normal/main.c (read_config_file): Output information about the
19494 lines that contain errors. Wait for a key after all lines have
19495 been processed. Don't return an empty menu.
19496
19497 * normal/parser.y (func_mem): Don't initialize.
19498 (menu_entry): Likewise.
19499 (err): New variable.
19500 (script): Don't return anything when an error was encountered.
19501 (ws, returns): Removed rules.
19502 (argument): Disabled concatenated variable support.
19503 (arguments): Remove explicit separators.
19504 (grubcmd): Likewise.
19505 (function): Likewise.
19506 (menuentry): Likewise.
19507 (if): Likewise.
19508 (commands): Likewise. Add error handling.
19509
19510 * normal/script.c (grub_script_create_cmdline): If
19511 `grub_script_parsed' is 0, assume the parser encountered an error.
19512
c9a86192 195132006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
19514
19515 * configure.ac: Add support for EFI. Fix the typo
19516 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
19517
70f3b243 195182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19519
19520 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
19521 foreign multibyte characters should be shown correctly.
19522
65f201ad 195232006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19524
19525 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
19526 calculation.
19527 (read_config_file): Made it to close file before returning.
19528
b4b93674 195292006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
19530
19531 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
19532 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
19533 video/i386/pc/vbefill.c.
19534
19535 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
19536 video/i386/pc/vbefill.c.
19537
19538 * include/grub/video.h (grub_video_blit_format): New enum.
19539 (grub_video_mode_info): Added new member blit_format.
19540 (grub_video_get_blit_format): New function prototype.
19541
19542 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
19543 function prototype.
19544 (grub_video_vbe_map_rgb): Likewise.
19545 (grub_video_vbe_unmap_color): Likewise.
19546
19547 * include/grub/i386/pc/vbeblit.h: New file.
19548
19549 * include/grub/i386/pc/vbefill.h: New file.
19550
19551 * video/video.c (grub_video_get_blit_format): New function.
19552 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
19553 (grub_video_vbe_map_rgb): Likewise.
19554 (grub_video_vbe_unmap_color): Likewise.
19555
19556 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
19557 optimized fills.
19558 (grub_video_vbe_blit_render_target): Changed to use more optimized
19559 blits.
19560 (grub_video_vbe_setup): Added detection for optimized settings.
19561 (grub_video_vbe_create_render_target): Likewise.
19562
19563 * video/i386/pc/vbeblit.c: New file.
19564
19565 * video/i386/pc/vbefill.c: New file.
19566
c2379b9c 195672006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
19568
19569 * font/manager.c (grub_font_get_glyph): Removed font fixup from
19570 here...
19571
19572 * util/unifont2pff.rb: ... and moved it to here. Improved argument
19573 parsing to support both hex and dec ranges. If filename was missing
19574 show usage information.
19575
bd0d7896 195762006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
19577
19578 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
19579 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
19580
19581 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
19582 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
19583 (video_mod_SOURCES): Added.
19584 (video_mod_CFLAGS): Likewise.
19585 (video_mod_LDFLAGS): Likewise.
19586 (gfxterm_mod_SOURCES): Likewise.
19587 (gfxterm_mod_CFLAGS): Likewise.
19588 (gfxterm_mod_LDFLAGS): Likewise.
19589 (videotest_mod_SOURCES): Likewise.
19590 (videotest_mod_CFLAGS): Likewise.
19591 (videotest_mod_LDFLAGS): Likewise.
19592 (vesafb_mod_SOURCES): Removed.
19593 (vesafb_mod_CFLAGS): Likewise.
19594 (vesafb_mod_LDFLAGS): Likewise.
19595 (vga_mod_SOURCES): Likewise.
19596 (vga_mod_CFLAGS): Likewise.
19597 (vga_mod_LDFLAGS): Likewise.
19598
19599 * commands/videotest.c: New file.
19600
19601 * font/manager.c (fill_with_default_glyph): Modified to use
19602 grub_font_glyph.
19603 (grub_font_get_glyph): Likewise.
19604 (fontmanager): Renamed from this...
19605 (font_manager): ... to this.
19606
19607 * include/grub/font.h (grub_font_glyph): Added new structure.
19608 (grub_font_get_glyph): Modified to use grub_font_glyph.
19609
19610 * include/grub/misc.h (grub_abs): Added as inline function.
19611
19612 * include/grub/video.h: New file.
19613
19614 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
19615 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
19616 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
19617 (grub_vbe_get_controller_info): Renamed from this...
19618 (grub_vbe_bios_get_controller_info): ... to this.
19619 (grub_vbe_get_mode_info): Renamed from this...
19620 (grub_vbe_bios_get_mode_info): ... to this.
19621 (grub_vbe_set_mode): Renamed from this...
19622 (grub_vbe_bios_set_mode): ... to this.
19623 (grub_vbe_get_mode): Renamed from this...
19624 (grub_vbe_bios_get_mode): ... to this.
19625 (grub_vbe_set_memory_window): Renamed from this...
19626 (grub_vbe_bios_set_memory_window): ... to this.
19627 (grub_vbe_get_memory_window): Renamed from this...
19628 (grub_vbe_bios_get_memory_window): ... to this.
19629 (grub_vbe_set_scanline_length): Renamed from this...
19630 (grub_vbe_set_scanline_length): ... to this.
19631 (grub_vbe_get_scanline_length): Renamed from this...
19632 (grub_vbe_bios_get_scanline_length): ... to this.
19633 (grub_vbe_set_display_start): Renamed from this...
19634 (grub_vbe_bios_set_display_start): ... to this.
19635 (grub_vbe_get_display_start): Renamed from this...
19636 (grub_vbe_bios_get_display_start): ... to this.
19637 (grub_vbe_set_palette_data): Renamed from this...
19638 (grub_vbe_bios_set_palette_data): ... to this.
19639 (grub_vbe_set_pixel_rgb): Removed.
19640 (grub_vbe_set_pixel_index): Likewise.
19641
19642 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
19643 from this...
19644 (grub_vbe_bios_get_controller_info): ... to this.
19645 (grub_vbe_get_mode_info): Renamed from this...
19646 (grub_vbe_bios_get_mode_info): ... to this.
19647 (grub_vbe_set_mode): Renamed from this...
19648 (grub_vbe_bios_set_mode): ... to this.
19649 (grub_vbe_get_mode): Renamed from this...
19650 (grub_vbe_bios_get_mode): ... to this.
19651 (grub_vbe_set_memory_window): Renamed from this...
19652 (grub_vbe_bios_set_memory_window): ... to this.
19653 (grub_vbe_get_memory_window): Renamed from this...
19654 (grub_vbe_bios_get_memory_window): ... to this.
19655 (grub_vbe_set_scanline_length): Renamed from this...
19656 (grub_vbe_set_scanline_length): ... to this.
19657 (grub_vbe_get_scanline_length): Renamed from this...
19658 (grub_vbe_bios_get_scanline_length): ... to this.
19659 (grub_vbe_set_display_start): Renamed from this...
19660 (grub_vbe_bios_set_display_start): ... to this.
19661 (grub_vbe_get_display_start): Renamed from this...
19662 (grub_vbe_bios_get_display_start): ... to this.
19663 (grub_vbe_set_palette_data): Renamed from this...
19664 (grub_vbe_bios_set_palette_data): ... to this.
19665 (grub_vbe_bios_get_controller_info): Fixed problem with registers
19666 getting corrupted after calling it. Added more pushes and pops.
19667 (grub_vbe_bios_set_mode): Likewise.
19668 (grub_vbe_bios_get_mode): Likewise.
19669 (grub_vbe_bios_get_memory_window): Likewise.
19670 (grub_vbe_bios_set_scanline_length): Likewise.
19671 (grub_vbe_bios_get_scanline_length): Likewise.
19672 (grub_vbe_bios_get_display_start): Likewise.
19673 (grub_vbe_bios_set_palette_data): Likewise.
19674
19675 * normal/cmdline.c (cl_set_pos): Refresh the screen.
19676 (cl_insert): Likewise.
19677 (cl_delete): Likewise.
19678
19679 * term/gfxterm.c: New file.
19680
19681 * term/i386/pc/vesafb.c: Removed file.
19682
19683 * video/video.c: New file.
19684
19685 * video/i386/pc/vbe.c (real2pm): Added new function.
19686 (grub_video_vbe_draw_pixel): Likewise.
19687 (grub_video_vbe_get_video_ptr): Likewise.
19688 (grub_video_vbe_get_pixel): Likewise
19689 (grub_video_vbe_init): Likewise.
19690 (grub_video_vbe_fini): Likewise.
19691 (grub_video_vbe_setup): Likewise.
19692 (grub_video_vbe_get_info): Likewise.
19693 (grub_video_vbe_set_palette): Likewise.
19694 (grub_video_vbe_get_palette): Likewise.
19695 (grub_video_vbe_set_viewport): Likewise.
19696 (grub_video_vbe_get_viewport): Likewise.
19697 (grub_video_vbe_map_color): Likewise.
19698 (grub_video_vbe_map_rgb): Likewise.
19699 (grub_video_vbe_map_rgba): Likewise.
19700 (grub_video_vbe_unmap_color): Likewise.
19701 (grub_video_vbe_fill_rect): Likewise.
19702 (grub_video_vbe_blit_glyph): Likewise.
19703 (grub_video_vbe_blit_bitmap): Likewise.
19704 (grub_video_vbe_blit_render_target): Likewise.
19705 (grub_video_vbe_scroll): Likewise.
19706 (grub_video_vbe_swap_buffers): Likewise.
19707 (grub_video_vbe_create_render_target): Likewise.
19708 (grub_video_vbe_delete_render_target): Likewise.
19709 (grub_video_vbe_set_active_render_target): Likewise.
19710 (grub_vbe_set_pixel_rgb): Remove function.
19711 (grub_vbe_set_pixel_index): Likewise.
19712 (index_color_mode): Remove static variable.
19713 (active_mode): Likewise.
19714 (framebuffer): Likewise.
19715 (bytes_per_scan_line): Likewise.
19716 (grub_video_vbe_adapter): Added new static variable.
19717 (framebuffer): Likewise.
19718 (render_target): Likewise.
19719 (initial_mode): Likewise.
19720 (mode_in_use): Likewise.
19721 (mode_list): Likewise.
19722
5f97350b 197232006-03-10 Marco Gerards <marco@gnu.org>
19724
19725 * configure.ac (AC_INIT): Bumped to 1.93.
19726
19727 * DISTLIST: Added `include/grub/hfs.h'.
19728
a3c5c6f8 197292006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19730
19731 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19732 18H, which might help the BIOS falling back to next boot media.
19733
6de53d26 197342006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19735
19736 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19737 Poe Chen <poe.poechen@gmail.com>.
19738
77c4a393 197392006-01-17 Marco Gerards <marco@gnu.org>
19740
19741 * include/grub/normal.h: Include <grub/script.h>.
19742 (grub_command_list): Removed struct.
19743 (grub_command_list_t): Removed type.
19744 (grub_menu_entry): Remove members `num' and `command_list'. Add
19745 members `commands' and `sourcecode'.
19746 * include/grub/script.h: Add inclusion guards.
19747 (grub_script_cmd_menuentry): New struct.
19748 (grub_script_execute_menuentry): New prototype.
19749 (grub_script_lexer_record_start): Likewise.
19750 (grub_script_lexer_record_stop): Likewise.
19751 * normal/execute.c (grub_script_execute_menuentry): New function.
19752 * normal/lexer.c (record, recording, recordpos, recordlen): New
19753 variables.
19754 (grub_script_lexer_record_start): New function.
19755 (grub_script_lexer_record_stop): Likewise.
19756 (recordchar): Likewise.
19757 (nextchar): Likewise.
19758 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19759 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19760 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19761 (current_menu): New variable.
19762 (free_menu): Mainly rewritten.
19763 (grub_normal_menu_addentry): New function.
19764 (read_config_file): Rewritten.
19765 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19766 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19767 the menu entry.
19768 (run): Mainly rewritten.
19769 * normal/parser.y (menu_entry): New variable.
19770 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19771 (menuentry): New rule.
19772 (command): Add `menuentry'.
19773 (if_statement): Allow additional returns before `fi'.
19774 * normal/script.c (grub_script_create_cmdmenu): New function.
19775
144f1f98 197762006-01-03 Marco Gerards <marco@gnu.org>
19777
19778 * INSTALL: GNU Bison is required.
19779 * configure.ac: Rewritten the test to detect Bison.
19780 * Makefile.in (YACC): New variable. Reported by Xun Sun
19781 <xun.sun.cn@gmail.com>.
19782
af4b2d89 197832006-01-03 Marco Gerards <marco@gnu.org>
19784
19785 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19786 the HFS+ filesystem to filesystem blocks.
19787 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19788 GCC warning is silenced.
19789
15643b71 197902006-01-03 Marco Gerards <marco@gnu.org>
19791
19792 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19793 read from disk from big endian to host byte order.
19794
00905879 197952006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19796
19797 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19798 documentation.
19799 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19800 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19801 embedded HFS+ filesystem.
19802 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
19803 (grub_hfs_sblock): Move from here...
19804 * include/grub/hfs.h: To here... New file.
19805 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
19806 documentation.
19807 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
19808 New macros.
19809 (grub_hfsplus_volheader): Change type of member `magic' to
19810 `grub_uint16_t'.
19811 (grub_hfsplus_data): Add new member `embedded_offset'.
19812 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
19813 returned block.
19814 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
19815 Calculate the offset.
19816
8899bc3e 198172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19818
19819 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
19820 Removed.
19821 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
19822
ae8c0277 198232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19824
19825 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
19826 ENV->NAME is NULL after allocating ENV->VALUE.
19827
07084456 198282005-12-25 Marco Gerards <marco@gnu.org>
19829
19830 * kern/env.c (grub_env_set): Rewritten the error handling code.
19831
4750f5f1 198322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19833
19834 * geninit.sh: Made more robust, and more portable.
19835
50214199 198362005-12-25 Marco Gerards <marco@gnu.org>
19837
19838 Add support for Apple HFS+ filesystems.
f19dbdb7 19839
50214199 19840 * fs/hfsplus.c: New file.
19841
19842 * DISTLIST: Added `fs/hfsplus.c'.
19843
19844 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
19845 (hfsplus_mod_SOURCES): New variable.
19846 (hfsplus_mod_CFLAGS): Likewise.
19847 (hfsplus_mod_LDFLAGS): Likewise.
19848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
19849 (grub_setup_SOURCES): Likewise.
19850 (grub_mkdevicemap_SOURCES): Likewise.
19851 (grub_emu_SOURCES): Likewise.
19852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19853
19854 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
19855
19856 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
19857
befaed6c 198582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
19859
19860 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
19861 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
19862 include/grub/parser.h, include/grub/script.h, kern/parser.c,
19863 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
19864 normal/lexer.c, normal/parser.y, normal/script.c, and
19865 partmap/gpt.c.
19866 Removed kern/sparc64/cache.c.
19867
19868 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
19869 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
19870 grub_emu_init.c.
19871
19872 * configure.ac (AC_INIT): Bumped to 1.92.
19873
6a124103 198742005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
19875
19876 * kern/err.c (grub_error_push): Added new function to support error
19877 stacks.
19878 (grub_error_pop): Likewise.
19879 (grub_error_stack_items): New local variable to support error stacks.
19880 (grub_error_stack_pos): Likewise.
19881 (grub_error_stack_assert): Likewise.
19882 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
19883 stack depth.
19884 (grub_print_error): Added support to print errors from error stack.
19885
19886 * include/grub/err.h (grub_error_push): Added function prototype.
19887 (grub_error_pop): Likewise.
19888
be973c1b 198892005-12-09 Hollis Blanchard <hollis@penguinppc.org>
19890
19891 * configure.ac: Accept `powerpc64' as host_cpu.
19892 (amd64): Rename to `biarch32'.
19893
19894 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
19895 non-cacheline-aligned addresses.
19896
19897 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
19898 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
19899 if `size' is non-zero.
19900
b04216ab 199012005-12-03 Marco Gerards <mgerards@xs4all.nl>
19902
19903 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
19904 and `cd' to make sure the filename is not prefixed with a
19905 directory name.
19906 (pkgdata_MODULES): Add `gpt.mod'.
19907 (gpt_mod_SOURCES): New variable.
19908 (gpt_mod_CFLAGS): Likewise.
19909 (gpt_mod_LDFLAGS): Likewise.
19910
19911 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
19912
19913 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
19914 New macro.
19915
19916 * partmap/gpt.c: New file.
19917
19918 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
19919 GPT partition map is detected.
19920
41730ed9 199212005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
19922
19923 * commands/i386/pc/play.c: New file.
19924 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
19925 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
19926 macros.
f19dbdb7 19927
95dc3643 199282005-11-27 Marco Gerards <mgerards@xs4all.nl>
19929
19930 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
19931 ((unused))' to silence gcc warning.
19932
1569ec51 199332005-11-26 Hollis Blanchard <hollis@penguinppc.org>
19934
19935 * configure.ac: Correct `AC_PROG_YACC' test.
19936
9abde152 199372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19938
19939 * util/powerpc/ieee1275/grub-install.in: Run the mount point
19940 check before installing files.
19941
44b83271 199422005-11-22 Mike Small <smallm@panix.com>
19943
19944 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
19945 number regex so multidigit numbers are recognized correctly.
19946
199472005-11-22 Mike Small <smallm@panix.com>
19948
19949 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
19950 debugging message before attempting to claim memory.
19951 (grub_rescue_cmd_initrd): Add a claim debugging message and try
19952 multiple addresses in case of failure.
19953
9c12956b 199542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19955
19956 * term/tparm.c (get_space): Remove empty `if' statement.
19957
19958 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
19959
19960 * kern/parser.c (check_varstate): Rename `state' to 's'.
19961
aeaf81d9 199622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19963
19964 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
19965 variable definitions to the beginning of each function. Sort stack
19966 variables by size.
19967 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
19968 `buf' argument to `char *'.
19969
79bbb63f 199702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
19971
19972 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
19973 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 19974 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 19975 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
19976 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
19977 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
19978 configfile.mod, search.mod, gzio.mod and test.mod.
19979 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
19980 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
19981 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
19982 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
19983 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
19984 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
19985 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
19986 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
19987 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
19988 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
19989 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
19990 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
19991 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
19992 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
19993 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
19994 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
19995 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19996 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
19997 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
19998 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
19999 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20000 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20001 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20002
20003 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20004 `grep --include'.
20005 (pkgdata_MODULES): Add test.mod.
20006
233b1628 200072005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20008
20009 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20010 appending to variables with "+=".
20011 (PModule): Use full pathname to generate *.lst filenames.
20012
20013 * Makefile.in: Fixed list rules moved from genmk.rb.
20014 (.DELETE_ON_ERROR): New special target.
20015 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20016
20017 * conf/i386-pc.rmk: Include conf/common.mk.
20018 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20019 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20020 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20021 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20022 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20023 configfile.mod, search.mod, gzio.mod and test.mod.
20024 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20025 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20026 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20027 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20028 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20029 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20030 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20031 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20032 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20033 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20034 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20035 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20036 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20037 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20038 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20039 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20040 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20041 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20042 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20043 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20044 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20045 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20046 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20047 here...
20048 * conf/common.rmk: ... to here. New file.
20049
20050 * conf/common.mk: New file.
20051
16f820c8 200522005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20053
20054 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20055 (grub_script.tab.c): ... here.
20056
20057 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20058 (grub_script.tab.c): ... here.
20059
20060 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20061 (grub_script.tab.c): ... here.
20062
20063 * normal/command.c (grub_command_find): Fixed a memory leak of
20064 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20065
63ba1554 200662005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20067
20068 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20069 "@" which marks the start of a comment on ARM.
20070 (VARIABLE): Likewise.
20071
7f67dc13 200722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20073
79bbb63f 20074 Add support for Linux/ADFS partition tables.
7f67dc13 20075
20076 * partmap/acorn.c: New file.
20077
20078 * include/grub/acorn_filecore.h: Likewise.
20079
20080 * DISTLIST: Added `partmap/acorn.c' and
20081 `include/grub/acorn_filecore.h'.
f19dbdb7 20082
7f67dc13 20083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20084 `partmap/acorn.c'.
20085 (pkgdata_MODULES): Add `acorn.mod'.
20086 (acorn_mod_SOURCES): New variable.
20087 (acorn_mod_CFLAGS): Likewise.
20088
20089 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20090 `partmap/acorn.c'.
20091 (pkgdata_MODULES): Add `acorn.mod'.
20092 (acorn_mod_SOURCES): New variable.
20093 (acorn_mod_CFLAGS): Likewise.
20094
20095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20096 (pkgdata_MODULES): Add `acorn.mod'.
20097 (acorn_mod_SOURCES): New variable.
20098 (acorn_mod_CFLAGS): Likewise.
20099 (acorn_mod_LDFLAGS): Likewise.
20100
20101 * include/types.h (grub_disk_addr_t): New typedef.
20102
6d099807 201032005-11-13 Marco Gerards <mgerards@xs4all.nl>
20104
20105 * geninit.sh: New file.
20106
20107 * geninitheader.sh: Likewise.
20108
20109 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20110 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20111 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20112 * commands/configfile.c (grub_configfile_init)
20113 (grub_configfile_fini): Likewise.
20114 * commands/default.c (grub_default_init, grub_default_fini):
20115 Likewise.
20116 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20117 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20118 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20119 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20120 Likewise.
20121 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20122 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20123 Likewise.
20124 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20125 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20126 Likewise.
20127 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20128 Likewise.
fe6b695a 20129 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20130 Likewise.
20131 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20132 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20133 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20134 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20135 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20136 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20137 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20138 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20139 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20140 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20141 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20142 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20143 * partmap/amiga.c (grub_amiga_partition_map_init)
20144 (grub_amiga_partition_map_fini): Likewise.
20145 * partmap/apple.c (grub_apple_partition_map_init)
20146 (grub_apple_partition_map_fini): Likewise.
20147 * partmap/pc.c (grub_pc_partition_map_init)
20148 (grub_pc_partition_map_fini): Likewise.
20149 * partmap/sun.c (grub_sun_partition_map_init,
20150 grub_sun_partition_map_fini): Likewise.
20151 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20152 Likewise.
20153
20154 * util/grub-emu.c: Include <grub_modules_init.h>.
20155 (main): Don't initialize and de-initialize any modules directly,
20156 use `grub_init_all' and `grub_fini_all' instead.
20157
20158 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20159 `grub_vesafb_mod_init'.
20160 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20161 all users.
20162 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20163 `grub_vga_mod_init'. Updated all users.
20164 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20165
6d099807 20166 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20167 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20168 rules.
20169
20170 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20171 Generate a function to initialize the module in utilities.
20172 Updated all callers.
20173 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20174 initialize the module in utilities. Updated all callers.
20175
9046bcf0 201762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20177
20178 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20179 escape sequence and a literal ^L to clear the screen.
20180
20181 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20182 when returning from Open Firmware.
20183
d13ea639 201842005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20185
20186 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20187 (grub_ofconsole_height): Likewise.
20188 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20189 manually insert a '\n'.
20190 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20191 `grub_ofconsole_height'. Return early if these are already set.
20192
a8fcf206 201932005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20194
20195 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20196 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20197 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20198 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20199 and `normal/script.c'.
20200 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20201 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20202 (test_mod_SOURCES): New variable.
20203 (test_mod_CFLAGS): Likewise.
20204 (test_mod_LDFLAGS): Likewise.
20205 (pkgdata_MODULES): Add `test.mod'.
20206 (grub_script.tab.c): New rule.
20207 (grub_script.tab.h): Likewise.
20208
b6b32745 202092005-11-07 Marco Gerards <mgerards@xs4all.nl>
20210
20211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20212 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20213 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20214 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20215 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20216 (test_mod_SOURCES): New variable.
20217 (test_mod_CFLAGS): Likewise.
20218 (pkgdata_MODULES): Add `test.mod'.
20219 (grub_script.tab.c): New rule.
20220 (grub_script.tab.h): Likewise.
20221
daac212a 202222005-11-06 Marco Gerards <mgerards@xs4all.nl>
20223
20224 Add initial scripting support.
20225
20226 * commands/test.c: New file.
20227 * include/grub/script.h: Likewise.
20228 * normal/execute.c: Likewise.
20229 * normal/function.c: Likewise.
20230 * normal/lexer.c: Likewise.
20231 * normal/parser.y: Likewise.
20232 * normal/script.c: Likewise.
20233
20234 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20235
daac212a 20236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20237 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20238 `normal/function.c' and `normal/script.c'.
20239 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20240 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20241 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20242 variables.
daac212a 20243 (pkgdata_MODULES): Add `test.mod'.
20244 (grub_script.tab.c): New rule.
20245 (grub_script.tab.h): Likewise.
20246
20247 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20248
20249 * include/grub/normal.h (grub_test_init): New prototype.
20250 (grub_test_fini): Likewise.
f19dbdb7 20251
daac212a 20252 * normal/command.c: Include <grub/script.h>.
20253 (grub_command_execute): Rewritten.
f19dbdb7 20254
daac212a 20255 * util/grub-emu.c (main): Call `grub_test_init' and
20256 `grub_test_fini'.
20257
77500b2b 202582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20259
20260 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20261 to 0.
20262 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20263 there are no pending characters.
20264
e45deb9e 202652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20266
20267 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20268 `grub_strndup' to drop device arguments. Replace unnecessary
20269 `grub_strndup' with `grub_strdup'.
20270
4ce32619 202712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20272
20273 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20274 `debug' environment variable has been set.
20275
202762005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20277
4ce32619 20278 * Makefile.in (install-local): Use $(DATA).
20279 (uninstall): Likewise.
20280 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20281 (sbin_UTILITIES): ... to here.
20282 (sbin_SCRIPTS): New variable.
20283 (grub_install_SOURCES): New variable.
20284 * util/powerpc/ieee1275/grub-install.in: New file.
20285 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20286 variable.
20287 (add_segments): Call `grub_util_get_path'.
20288
25fe6f03 202892005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20290
20291 From Timothy Baldwin:
20292 * commands/ls.c (grub_ls_list_files): Close FILE with
20293 grub_file_close.
20294 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20295
04ccf3ec 202962005-10-24 Marco Gerards <mgerards@xs4all.nl>
20297
20298 * include/grub/parser.h: New file.
20299
20300 * kern/parser.c: Likewise.
20301
20302 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20303 (grub_setup_SOURCES): Likewise.
20304 (grub_probefs_SOURCES): Likewise.
20305 (grub_emu_SOURCES): Likewise.
20306 (kernel_img_HEADERS): Add `parser.h'.
20307
20308 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20309 (grub_emu_SOURCES): Add `kern/parser.c'.
20310 (grubof_SOURCES): Likewise.
20311
20312 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20313 (grubof_SOURCES): Add `kern/parser.c'.
20314
20315 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20316
20317 * kern/misc.c (grub_split_cmdline): Removed function.
20318
20319 * kern/rescue.c: Include <grub/parser.h>.
20320 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20321 of `grub_split_cmdline'.
20322
20323 * normal/command.c: Include <grub/parser.h>.
20324 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20325 of `grub_split_cmdline'.
20326
20327 * normal/completion.c: Include <grub/parser.h>.
20328 (cmdline_state): New variable.
20329 (iterate_dir): End the filename with a quote depending on the
20330 command line state.
20331 (get_state): new function.
20332 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20333 split the arguments and determine the current argument. When the
20334 argument string is not quoted, escape all spaces.
20335
6d8f4b0e 203362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20337
20338 * normal/sparc64/setjmp.S: New file.
20339
15cf03ed 203402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20341
20342 * include/grub/sparc64/libgcc.h: New file.
20343 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
20344 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
20345 normal/sparc64/setjmp.c.
20346
03e8661a 203472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20348
20349 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
20350 * kern/sparc64/cache.S: New file.
20351 * kern/sparc64/cache.c: Removed.
20352 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
20353 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
20354 -mtune=ultrasparc.
20355 (COMMON_LDFLAGS): Add -melf64_sparc.
20356 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
20357 (grubof_SOURCES): Use cache.S instead of cache.c.
20358 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
20359 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
20360 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
20361 commented though.
20362 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
20363 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
20364 (linux_mod_CFLAGS): Commented out.
20365 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
20366 out because module isn't built.
20367 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
20368 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
20369 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
20370 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
20371 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
20372 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20373 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20374 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
20375 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
20376 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
20377 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20378 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20379 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
20380 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
20381
34eeec8a 203822005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
20383
20384 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
20385 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
20386 longer, because HFS should not be used on PC.
20387
708367a3 203882005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20389
20390 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
20391 consistently within the loop.
20392
6fa1251a 203932005-10-15 Marco Gerards <mgerards@xs4all.nl>
20394
20395 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
20396 directory can not be read.
20397
4801580b 203982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20399
20400 * configure.ac (AC_INIT): Increase the version number to 1.91.
20401
20402 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
20403 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
20404 term/i386/pc/serial.c.
20405
219ad426 204062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20407
20408 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
20409 file size must be permitted.
20410
20411 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
20412 between %ah and %al.
20413
688e5699 204142005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20415
20416 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
20417 grub_uint64_t.
20418 Call the hook with a NUL-terminated filename.
20419 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
20420 grub_cpu_to_be32.
20421
20422 * kern/term.c (cursor_state): New variable.
20423 (grub_term_set_current): Reset the cursor state on a new
20424 terminal.
20425 (grub_setcursor): Rewritten to use CURSOR_STATE.
20426 (grub_getcursor): New function.
20427
20428 * include/grub/term.h (grub_getcursor): New prototype.
20429
20430 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
20431 integers on ARM. Reported by Timothy Baldwin
20432 <T.E.Baldwin99@members.leeds.ac.uk>.
20433
bb34586c 204342005-10-11 Marco Gerards <mgerards@xs4all.nl>
20435
20436 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
20437 allocated.
20438 (grub_sfs_dir): Likewise.
20439
9a909877 204402005-10-09 Marco Gerards <mgerards@xs4all.nl>
20441
20442 Add support for the SFS filesystem.
20443
20444 * fs/sfs.c: New file.
20445
20446 * DISTLIST: Added `fs/sfs.c'.
20447
20448 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
20449 (grub_probefs_SOURCES): Likewise.
20450 (grub_emu_SOURCES): Likewise.
20451 (pkgdata_MODULES): Add `sfs.mod'.
20452 (sfs_mod_SOURCES): New variable.
20453 (sfs_mod_CFLAGS): Likewise.
20454 (sfs_mod_LDFLAGS): Likewise.
20455
20456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
20457 (pkgdata_MODULES): Add `sfs.mod'.
20458 (sfs_mod_SOURCES): New variable.
20459 (sfs_mod_CFLAGS): Likewise.
20460
20461 * util/grub-emu.c (main): Call `grub_sfs_init' and
20462 `grub_sfs_fini'.
20463
20464 * include/grub/fs.h (grub_sfs_init): New prototype.
20465 (grub_sfs_fini): Likewise.
20466
57bdbde3 204672005-10-07 Marco Gerards <mgerards@xs4all.nl>
20468
20469 Add support for the AFFS filesystem.
20470
20471 * fs/affs.c: New file.
20472
20473 * DISTLIST: Added `fs/affs.c'.
20474
20475 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
20476 (grub_probefs_SOURCES): Likewise.
20477 (grub_emu_SOURCES): Likewise.
20478 (pkgdata_MODULES): Add `affs.mod'.
20479 (affs_mod_SOURCES): New variable.
20480 (affs_mod_CFLAGS): Likewise.
20481 (affs_mod_LDFLAGS): Likewise.
20482
20483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
20484 (pkgdata_MODULES): Add `affs.mod'.
20485 (affs_mod_SOURCES): New variable.
20486 (affs_mod_CFLAGS): Likewise.
20487
20488 * util/grub-emu.c (main): Call `grub_affs_init' and
20489 `grub_affs_fini'.
20490
20491 * include/grub/fs.h (grub_affs_init): New prototype.
20492 (grub_affs_fini): Likewise.
20493
047b67e0 204942005-10-01 Marco Gerards <mgerards@xs4all.nl>
20495
20496 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
20497
59b8208a 204982005-10-01 Marco Gerards <mgerards@xs4all.nl>
20499
20500 * configure.ac: Accept `x86_64' as host_cpu. In that case add
20501 `-m32' to CFLAGS.
20502
20503 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
20504 linking.
f19dbdb7 20505
59b8208a 20506 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
20507 (COMMON_LDFLAGS): New variable.
20508 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
20509 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
20510 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
20511 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
20512 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
20513 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
20514 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
20515 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
20516 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
20517 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
20518 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20519 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20520 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
20521 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
20522 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
20523 variables.
20524 (normal_mod_ASFLAGS): Add `-m32'.
20525
20526 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
20527 (grub_host_size_t, grub_host_ssize_t): New types.
20528 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 20529 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 20530 `GRUB_HOST_SIZEOF_VOID_P'.
20531
20532 * include/grub/kernel.h (struct grub_module_header): Type of
20533 member offset changed to `grub_host_off_t'. Type of member size
20534 changed to `grub_host_size_t'.
20535 (struct grub_module_info): Type of member offset changed to
20536 `grub_host_off_t'. Type of member size changed to
20537 `grub_host_size_t'.
20538
b4093103 205392005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
20540
20541 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 20542
b4093103 20543 * kern/i386/pc/startup.S (multiboot_header): New label.
20544 (multiboot_entry): Likewise.
20545 (multiboot_trampoline): Likewise.
20546
20547 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20548 Increased to 0x4A0.
20549
20550 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
20551 put parentheses after a question mark.
20552 [!GRUB_UTIL] (my_mod): New variable.
20553
20554 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
20555
b2499b29 205562005-09-28 Marco Gerards <mgerards@xs4all.nl>
20557
20558 Adds support for the XFS filesystem. Btrees are not supported
20559 yet.
20560
20561 * fs/xfs.c: New file.
20562
20563 * DISTLIST: Added `fs/xfs.c'.
20564
20565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
20566 (grub_probefs_SOURCES): Likewise.
20567 (grub_emu_SOURCES): Likewise.
20568 (pkgdata_MODULES): Add `xfs.mod'.
20569 (xfs_mod_SOURCES): New variable.
20570 (xfs_mod_CFLAGS): Likewise.
20571
20572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
20573 (pkgdata_MODULES): Add `xfs.mod'.
20574 (xfs_mod_SOURCES): New variable.
20575 (xfs_mod_CFLAGS): Likewise.
20576
20577 * util/grub-emu.c (main): Call `grub_xfs_init' and
20578 `grub_xfs_fini'.
20579
20580 * include/grub/fs.h (grub_xfs_init): New prototype.
20581 (grub_xfs_fini): Likewise.
20582
f19dbdb7 20583
83d37a62 205842005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
20585
20586 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
20587 color modes, allow greater than 16 colors to be configured as
20588 a default palette.
20589
47d2d65e 205902005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20591
20592 * normal/completion.c (complete_arguments): Add the qualifier
20593 const into OPTIONS.
20594
20595 From Omniflux <omniflux+lists@omniflux.com>:
20596 * include/grub/terminfo.h: New file.
20597 * include/grub/tparm.h: Likewise.
20598 * include/grub/i386/pc/serial.h: Likewise.
20599 * term/terminfo.c: Likewise.
20600 * term/tparm.c: Likewise.
20601 * term/i386/pc/serial.c: Likewise.
20602 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
20603 serial.mod.
20604 (terminfo_mod_SOURCES): New variable.
20605 (terminfo_mod_CFLAGS): Likewise.
20606 (serial_mod_SOURCES): Likewise.
20607 (serial_mod_CFLAGS): Likewise.
20608
48b671ff 206092005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
20610
20611 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
20612 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
20613 and kern/powerpc/ieee1275/cmain.c, respectively.
20614
20615 * boot/powerpc/ieee1275/crt0.S: Moved to ...
20616 * kern/powerpc/ieee1275/crt0.S: ... here.
20617
20618 * boot/powerpc/ieee1275/cmain.c: Moved to ...
20619 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 20620
48b671ff 20621 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
20622 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
20623 instead of boot/powerpc/ieee1275/crt0.S and
20624 boot/powerpc/ieee1275/cmain.c, respectively.
20625
20626 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
20627 sectors. It was not used anyway.
20628
09fc77a7 206292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20630
20631 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
20632 `unused parameter' warning.
20633
003789c7 206342005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20635
20636 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
20637 function.
20638 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
20639 getcharwidth.
20640
67f44c86 206412005-08-28 Marco Gerards <metgerards@student.han.nl>
20642
20643 * include/grub/normal.h (enum grub_completion_type): Added
20644 `GRUB_COMPLETION_TYPE_ARGUMENT'.
20645
20646 * normal/cmdline.c (print_completion): Handle
20647 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
20648 * normal/menu_entry.c (store_completion): Likewise.
20649
20650 * normal/completion.c (complete_arguments): New function.
20651 (grub_normal_do_completion): Call `complete_arguments' when the
20652 current words start with a dash.
20653
0b5abe02 206542005-08-27 Marco Gerards <metgerards@student.han.nl>
20655
20656 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
20657 `gzio.mod' instead of `io.mod').
20658
d9864ee1 206592005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
20660
20661 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
20662 (DISTDIRS): Added io and video.
20663 Rewrite the search routine to make an output consistently.
20664
20665 * DISTLIST: Added conf/sparc64-ieee1275.mk,
20666 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
20667 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
20668 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
20669 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
20670 util/powerpc/ieee1275/misc.c.
f19dbdb7 20671
d9864ee1 20672 * include/grub/gzio.h: New file.
20673 * io/gzio.c: Likewise.
f19dbdb7 20674
d9864ee1 20675 * kern/file.c (grub_file_close): Call grub_device_close only if
20676 FILE->DEVICE is not NULL.
20677
20678 * include/grub/mm.h [!NULL] (NULL): New macro.
20679
20680 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
20681
20682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
20683 (pkgdata_MODULES): Added gzio.mod.
20684 (gzio_mod_SOURCES): New variable.
20685 (gzio_mod_CFLAGS): Likewise.
20686
20687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
20688 (pkgdata_MODULES): Added gzio.mod.
20689 (gzio_mod_SOURCES): New variable.
20690 (gzio_mod_CFLAGS): Likewise.
20691
20692 * commands/cat.c: Include grub/gzio.h.
20693 (grub_cmd_cat): Use grub_gzfile_open instead of
20694 grub_file_open.
f19dbdb7 20695
d9864ee1 20696 * commands/cmp.c: Include grub/gzio.h.
20697 (grub_cmd_cmp): Use grub_gzfile_open instead of
20698 grub_file_open.
20699
20700 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
20701 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
20702 grub_file_open.
20703 (grub_rescue_cmd_module): Likewise.
20704
fa46f4b5 207052005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20706
20707 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
20708 kern/sparc64/ieee1275/init.c because it contains _start.
20709 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
20710
e9211b5d 207112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20712
20713 * configure.ac: Add support for sparc64 host with ieee1275
20714 firmware.
20715 * configure: Generated from configure.ac.
20716 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20717 instead of int.
20718 (grub_ofdisk_read): Likewise.
20719 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20720 pointers as (void *) to remove a warning.
20721 (grub_ofdisk_close): Likewise.
20722 (grub_ofdisk_read): Likewise.
20723 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20724 returns, so make it return void to remove a warning.
20725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20726 Corresponding prototype change.
20727 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20728 values, and cast the pointers as (void *) to remove a warning.
20729 (grub_mm_dump): Likewise.
20730 * conf/sparc64-ieee1275.mk: New file.
20731 * conf/sparc64-ieee1275.rmk: Likewise.
20732 * include/grub/sparc64/setjmp.h: Likewise.
20733 * include/grub/sparc64/types.h: Likewise.
20734 * include/grub/sparc64/ieee1275/console.h: Likewise.
20735 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20736 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20737 * include/grub/sparc64/ieee1275/time.h: Likewise.
20738 * kern/sparc64/cache.c: Likewise.
20739 * kern/sparc64/dl.c: Likewise.
20740 * kern/sparc64/ieee1275/init.c: Likewise.
20741 * kern/sparc64/ieee1275/openfw.c: Likewise.
20742
385c6a92 207432005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20744
20745 * util/console.c (grub_ncurses_putchar): If C is greater than
20746 0x7f, set C to a question mark.
20747 (grub_ncurses_getcharwidth): New function.
20748 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20749 getcharwidth.
20750
20751 * normal/menu.c (print_entry): Made aware of Unicode. First,
20752 convert TITLE to UCS-4, and predict the cursor position by
20753 grub_getcharwidth.
20754
20755 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20756 const to SRC.
20757 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20758
16ccb8b1 207592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20760
20761 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20762 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20763 grub_strcat.
20764
20765 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20766 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20767 grub_strcpy and grub_strlen. Take it into account that a space
20768 character is inserted as a delimiter.
20769
6a85ce79 207702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20771
20772 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20773 invalid magic in the error.
6a85ce79 20774
20775 * commands/search.c: New file.
f19dbdb7 20776
6a85ce79 20777 * util/grub-emu.c (main): Call grub_search_init and
20778 grub_search_fini.
20779
20780 * kern/rescue.c (grub_rescue_print_disks): Removed.
20781 (grub_rescue_print_devices): New function.
20782 (grub_rescue_cmd_ls): Use grub_device_iterate with
20783 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20784 grub_rescue_print_disks.
20785
20786 * kern/partition.c (grub_partition_iterate): Return the result of
20787 PARTMAP->ITERATE instead of GRUB_ERRNO.
20788
20789 * kern/device.c: Include grub/partition.h.
20790 (grub_device_iterate): New function.
20791
20792 * include/grub/partition.h (grub_partition_iterate): Return int
20793 instead of grub_err_t.
20794
20795 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20796 prototype.
20797 [GRUB_UTIL] (grub_search_fini): Likewise.
20798
20799 * include/grub/device.h (grub_device_iterate): New prototype.
20800
20801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20802 commands/search.c.
20803 (pkgdata_MODULES): Added search.mod.
20804 (search_mod_SOURCES): New variable.
20805 (search_mod_CFLAGS): Likewise.
20806
20807 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
20808 (pkgdata_MODULES): Added search.mod.
20809 (search_mod_SOURCES): New variable.
20810 (search_mod_CFLAGS): Likewise.
20811
20812 * commands/ls.c (grub_ls_list_disks): Renamed to ...
20813 (grub_ls_list_devices): ... this, and use grub_device_iterate.
20814 All callers changed.
20815
20816 * DISTLIST: Added commands/search.c.
20817
ef095434 208182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20819
20820 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
20821 conversion.
20822 (grub_getcharwidth): New function.
20823
20824 * kern/misc.c (grub_utf8_to_ucs4): New function.
20825
20826 * include/grub/term.h (struct grub_term): Added a new member
20827 "getcharwidth".
20828 (grub_getcharwidth): New prototype.
20829
20830 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
20831
20832 * term/i386/pc/console.c (map_char): New function. Segregated from
20833 grub_console_putchar.
20834 (grub_console_putchar): Use map_char.
20835 (grub_console_getcharwidth): New function.
20836 (grub_console_term): Specified grub_console_getcharwidth as
20837 getcharwidth.
20838
20839 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
20840 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
20841
20842 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
20843 GRUB_ERRNO.
20844 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
20845 on grub_strtoul completely.
20846 (write_char): Declare local variables in the beginning of the
20847 function.
20848 (grub_vesafb_getcharwidth): New function.
20849 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
20850 getcharwidth.
20851
1f0a95e4 208522005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
20853
20854 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
20855 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
20856 commands/i386/pc/vbetest.c.
20857
20858 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
20859 call grub_vbe_get_controller_info again, because the returned
20860 information is volatile.
20861 (grub_vbe_set_video_mode): Mostly rewritten.
20862 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
20863 grub_vbe_status_t correctly.
20864 (grub_vbe_get_video_mode_info): Likewise.
20865 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
20866 several if statements.
20867
20868 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
20869 * commands/i386/pc/vbeinfo.c: ... this.
20870
20871 * commands/i386/pc/vbe_test.c: Renamed to ...
20872 * commands/i386/pc/vbetest.c: ... this.
20873
20874 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
20875 ...
20876 (grub_cmd_vbeinfo): ... this. Save video modes before
20877 iterating. Skip a video mode, if it is not available, not enough
20878 information is given or it is monochrome. Show the memory
20879 model. Leave the interpretation of MODEVAR to grub_strtoul
20880 completely.
20881 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
20882 (GRUB_MOD_FINI): Likewise.
20883
20884 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
20885 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
20886 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
20887 duplicated grub_env_get. Leave the interpretation of MODEVAR to
20888 grub_strtoul completely.
20889 (real2pm): Removed.
20890 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
20891 (GRUB_MOD_FINI): Likewise.
20892
20893 * normal/misc.c: Include grub/mm.h.
20894
20895 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
20896 vbe_list_modes with vbetest.mod and vbeinfo.mod.
20897 (vbe_list_modes_mod_SOURCES): Removed.
20898 (vbe_list_modes_mod_CFLAGS): Likewise.
20899 (vbe_test_mod_SOURCES): Likewise.
20900 (vbe_test_mod_CFLAGS): Likewise.
20901 (vbeinfo_mod_SOURCES): New variable.
20902 (vbeinfo_mod_CFLAGS): Likewise.
20903 (vbetest_mod_SOURCES): Likewise.
20904 (vbetest_mod_CFLAGS): Likewise.
20905
992ffbbe 209062005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
20907
20908 * normal/misc.c: New file.
20909
20910 * DISTLIST: Added normal/misc.c.
f19dbdb7 20911
992ffbbe 20912 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
20913 DISK to HOOK. Call HOOK with DISK.
20914 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20915 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20916 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20917
20918 * normal/menu_entry.c (struct screen): Added a new member
20919 "completion_shown".
20920 (completion_buffer): New global variable.
20921 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
20922 (store_completion): New function.
20923 (complete): Likewise.
20924 (clear_completions): Likewise.
20925 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
20926 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
20927 a tab, call complete.
20928
20929 * normal/completion.c (disk_dev): Removed.
20930 (print_simple_completion): Likewise.
20931 (print_partition_completion): Likewise.
20932 (print_func): New global variable.
20933 (add_completion): Do not take the arguments WHAT or PRINT any
20934 longer. Added a new argument TYPE. Instead of printing directly,
20935 call PRINT_FUNC if not NULL.
20936 All callers changed.
20937 (complete_device): Use a local variable DEV instead of
20938 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
20939 (grub_normal_do_completion): Take a new argument HOOK. Do not
20940 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
20941 empty string, return NULL instead.
20942 All callers changed.
20943
20944 * normal/cmdline.c (print_completion): New function.
20945
20946 * kern/partition.c (grub_partition_iterate): Add an argument DISK
20947 to HOOK.
20948 All callers changed.
20949
20950 * kern/disk.c (grub_print_partinfo): Removed.
20951
20952 * include/grub/partition.h (struct grub_partition_map): Add a new
20953 argument DISK into HOOK of ITERATE.
20954 (grub_partition_iterate): Add a new argument DISK to HOOK.
20955
20956 * include/grub/normal.h (enum grub_completion_type): New enum.
20957 (grub_completion_type_t): New type.
20958 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
20959 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
20960 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
20961 (GRUB_COMPLETION_TYPE_FILE): Likewise.
20962 (grub_normal_do_completion): Added a new argument HOOK.
20963 (grub_normal_print_device_info): New prototype.
20964
20965 * include/grub/disk.h (grub_print_partinfo): Removed.
20966
20967 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
20968 (normal_mod_SOURCES): Likewise.
20969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20970 (normal_mod_SOURCES): Likewise.
20971
20972 * commands/ls.c (grub_ls_list_disks): Use
20973 grub_normal_print_device_info instead of grub_print_partinfo. Free
20974 PNAME.
20975 (grub_ls_list_files): Use grub_normal_print_device_info instead of
20976 duplicating the code.
20977
0bd41162 209782005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20979
20980 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 20981 follow GCS more precisely.
20982 * commands/i386/pc/vbe_test.c: Likewise.
20983 * include/grub/i386/pc/vbe.h: Likewise.
20984 * term/i386/pc/vesafb.c: Likewise.
20985 * video/i386/pc/vbe.c: Likewise.
0bd41162 20986
6323696a 209872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
20988
20989 * DISTLIST: Added term/i386/pc/vesafb.c
20990 DISTLIST: Added video/i386/pc/vbe.c
20991 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
20992 DISTLIST: Added commands/i386/pc/vbe_test.c.
20993 * commands/i386/pc/vbe_list_modes.c: New file.
20994 * commands/i386/pc/vbe_test.c: Likewise.
20995 * term/i386/pc/vesafb.c: Likewise.
20996 * video/i386/pc/vbe.c: Likewise.
20997 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
20998 (grub_vbe_probe) Added prototype.
20999 (grub_vbe_set_video_mode) Likewise.
21000 (grub_vbe_get_video_mode) Likewise.
21001 (grub_vbe_get_video_mode_info) Likewise.
21002 (grub_vbe_set_pixel_rgb) Likewise.
21003 (grub_vbe_set_pixel_index) Likewise.
21004 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21005 (pkgdata_MODULES): Added vesafb.mod.
21006 (pkgdata_MODULES): Added vbe_list_modes.mod.
21007 (pkgdata_MODULES): Added vbe_test.mod.
21008 (vbe_mod_SOURCES): Added.
21009 (vbe_mod_CFLAGS): Likewise.
21010 (vesafb_mod_SOURCES): Likewise.
21011 (vesafb_mod_CFLAGS): Likewise.
21012 (vbe_list_modes_mod_SOURCES): Likewise.
21013 (vbe_list_modes_mod_CFLAGS): Likewise.
21014 (vbe_test_mod_SOURCES): Likewise.
21015 (vbe_test_mod_CFLAGS): Likewise.
21016
0a74e62f 210172005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21018
0a74e62f 21019 * normal/command.c (grub_command_execute): If INTERACTIVE is
21020 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21021 CMDLINE. Disable the pager if INTERACTIVE is true.
21022 All callers are changed.
21023
21024 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21025 before reading a config file.
21026 * normal/main.c (read_config_file): Even if a command is not
21027 found, register it if it is within an entry.
21028
21029 * util/grub-emu.c: Include sys/types.h and unistd.h.
21030 (options): Added --hold.
21031 (struct arguments): Added a new member "hold".
21032 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21033 missing.
21034 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21035 cleared by a debugger, if it is not zero.
21036
21037 * include/grub/normal.h (grub_command_execute): Add an argument
21038 INTERACTIVE.
21039
e51f85ae 210402005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21041
21042 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21043
e9c6f39b 210442005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21045
21046 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21047 program with another one, because the old one didn't detect a bug
21048 in gcc-3.4. Always use regparm 2, because the new test is still
21049 not enough for gcc-4.0. Someone must investigate a simple test
21050 case which detects a bug in gcc-4.0.
21051
8de3495c 210522005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21053
21054 * DISTLIST: Added normal/completion.c.
21055
21056 * normal/completion.c: New file.
f19dbdb7 21057
8de3495c 21058 * term/i386/pc/console.c (grub_console_getwh): New function.
21059 (grub_console_term): Assign grub_console_getwh to getwh.
21060
21061 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21062 function is defined in normal/completion.c as
21063 grub_normal_do_completion.
21064 (grub_cmdline_get): Use grub_normal_do_completion instead of
21065 grub_tab_complete.
21066
21067 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21068 returns non-zero, otherwise return 0.
21069 (grub_partition_iterate): First, probe the partition map. Then,
21070 call ITERATE only for this partition map.
21071
21072 * kern/misc.c (grub_strncmp): Rewritten.
21073
21074 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21075 returns non-zero. Otherwise return 0.
21076
21077 * include/grub/partition.h (grub_partition_map_iterate): Return
21078 int instead of void.
21079
21080 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21081
21082 * include/grub/misc.h (grub_strncmp): Change the type of N to
21083 grub_size_t.
21084
21085 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21086 of void.
21087
21088 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21089 unsigned explicitly before comparing it with I.
8de3495c 21090
21091 * kern/main.c (grub_env_write_root): Add the attribute unused into
21092 VAR.
21093
21094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21095 normal/completion.c.
21096 (normal_mod_SOURCES): Likewise.
21097 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21098 (normal_mod_SOURCES): Likewise.
21099
21100 * normal/command.c (grub_iterate_commands): If ITERATE returns
21101 non-zero, return one immediately.
21102
e85e144b 211032005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21104
21105 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21106 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21107 descriptions.
21108 (grub_vbe_get_controller_info): New function.
21109 (grub_vbe_get_mode_info): Likewise.
21110 (grub_vbe_set_mode): Likewise.
21111 (grub_vbe_get_mode): Likewise.
21112 (grub_vbe_set_memory_window): Likewise.
21113 (grub_vbe_get_memory_window): Likewise.
21114 (grub_vbe_set_scanline_length): Likewise.
21115 (grub_vbe_get_scanline_length): Likewise.
21116 (grub_vbe_set_display_start): Likewise.
21117 (grub_vbe_get_display_start): Likewise.
21118 (grub_vbe_set_palette_data): Likewise.
21119 * include/grub/i386/pc/vbe.h: New file.
21120
c46153d2 211212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21122
21123 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21124 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21125 * DISTLIST: Likewise.
21126 * kern/ieee1275/of.c: Moved to ...
21127 * kern/ieee1275/ieee1275.c: ... here.
21128
0cb90c45 211292005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21130
21131 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21132 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21133 Pass 0 as `end' parameter to grub_strtoul().
21134
a19fb360 211352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21136
21137 * include/grub/powerpc/ieee1275/console.h: Do not include
21138 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21139 ifdef.
21140 (grub_console_cur_color): Remove i386-specific prototype.
21141 (grub_console_real_putchar): Likewise.
21142 (grub_console_checkkey): Likewise.
21143 (grub_console_getkey): Likewise.
21144 (grub_console_getxy): Likewise.
21145 (grub_console_gotoxy): Likewise.
21146 (grub_console_cls): Likewise.
21147 (grub_console_setcursor): Likewise.
21148 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21149 Include <grub/machine/console.h>.
21150 * term/ieee1275/ofconsole.c: Likewise.
21151
4ac9bd04 211522005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21153
21154 * Makefile.in (LIBLZO): New variable.
21155
21156 * configure.ac: Check for LZO version 2.
21157
21158 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21159 lzo/lzo1x.h instead of lzo1x.h.
21160
21161 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21162 of -llzo.
21163
21164 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21165 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21166
21167 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21168 copying the data from PARTITION to P.
21169
f4917dfd 211702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21171
21172 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21173 negative, unload the module.
21174
21175 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21176 map is "pc_partition_map" but not "pc".
21177 (usage): Fix the description. The options are --boot-image and
21178 --core-image but not --boot-file or --core-file.
21179 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21180 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21181 DEFAULT_DIRECTORY.
21182
21183 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21184 --core-file. Specify INSTALL_DEVICE as an argument.
21185
21186 * util/console.c: Include config.h.
21187 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21188 [HAVE_NCURSES_H]: Include ncurses.h.
21189 [HAVE_CURSES_H]: Include curses.h.
21190 [!A_NORMAL] (A_NORMAL): Defined as zero.
21191 [!A_STANDOUT] (A_STANDOUT): Likewise.
21192
21193 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21194 -lncurses.
21195 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21196
21197 * configure.ac: Check for curses libraries and headers.
21198
21199 * Makefile.in (LIBCURSES): New variable.
21200
21201 * genmk.rb (Script::rule): Set the executable bits.
21202
21203 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21204 name of the PC partition map is "pc_partition_map" but not "pc".
21205
0e143073 212062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21207
21208 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21209 (modules): Likewise.
21210 (usage): Added descriptions for --modules and --grub-probefs.
21211 Handle --modules and --grub-probefs. Save the arguments in MODULES
21212 and GRUB_PROBEFS, respectively.
21213 Auto-detect a filesystem module against GRUBDIR. If the result is
21214 empty and modules are not specified explicitly, abort the
21215 installation. Add the result to MODULES.
21216
21217 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21218 disk/powerpc/ieee1275/ofdisk.c,
21219 include/grub/powerpc/ieee1275/init.h and
21220 term/powerpc/ieee1275/ofconsole.c.
21221 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21222 term/ieee1275/ofconsole.c.
21223
21224 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21225
21226 * COPYING: Upgraded to the latest version. Only the address of the
21227 FSF office has changed.
f19dbdb7 21228
efd6e6d5 212292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21230
21231 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21232 kern/ieee1275.c with kern/ieee1275/of.c.
21233
21234 * kern/ieee1275.c: Moved to ...
21235 * kern/ieee1275/of.c: ... here.
21236
8ceafda2 212372005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21238
21239 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21240 readability.
8ceafda2 21241
21242 * config.guess: Updated to the latest version from gnulib.
21243 * config.sub: Likewise.
21244 * install.sh: Likewise.
21245 * mkinstalldirs: Likewise.
21246
21247 * include/grub/console.h: Removed. This file is arch-specific. Do
21248 not put this in include/grub.
21249
21250 * include/grub/i386/pc/console.h: Resurrected.
21251
21252 * util/console.c: Include grub/machine/console.h instead of
21253 grub/console.h.
21254 * util/grub-emu.c: Likewise.
21255
267f6cd9 212562005-08-04 Marco Gerards <metgerards@student.han.nl>
21257
21258 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21259 hardcoded value.
f19dbdb7 21260
267f6cd9 21261 From Vincent Pelletier <subdino2004@yahoo.fr>
21262 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21263 Redefined to use grub_getwh.
21264 (grub_term): New member named getwh.
21265 (grub_getwh): New prototype.
21266 * kern/term.c (grub_getwh): New function.
21267 * term/i386/pc/console.c (grub_console_getwh): New function.
21268 (grub_console_term): New member `getwh'.
21269 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21270 (grub_vga_term): New member `getwh'.
0b5abe02 21271 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21272 grub_ssize_t.
21273 (grub_ofconsole_getw): New function.
21274 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21275 (grub_ofconsole_term): New field named getwh and new initial
21276 value.
21277
3be7266d 212782005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21279
21280 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21281 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21282 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21283 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21284 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21285 of <grub/machine/ieee1275.h>.
21286 * commands/ieee1275/reboot.c: Likewise.
21287 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21288 * kern/ieee1275.c: ... to here. All users updated. Change all
21289 parameter structs to use new type `grub_ieee1275_cell_t'.
21290 * term/powerpc/ieee1275/ofconsole.c: Move ...
21291 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21292 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21293 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21294 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21295 to return int.
21296 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21297 Remove unused prototypes. All users updated.
21298 * include/grub/powerpc/ieee1275/console.h: Removed.
21299 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21300 `grub_ieee1275_cell_t'.
21301 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21302 Cast comparisons with -1 to the correct type.
21303 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21304 type to match `grub_ieee1275_entry_fn'.
21305
8b5f3938 213062005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21307
21308 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21309
21310 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21311 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21312 partmap/sun.c.
21313 (grub_probefs_SOURCES): New variable.
21314
21315 * util/i386/pc/grub-probefs.c: New file.
21316
21317 * util/i386/pc/grub-setup.c (main): Call
21318 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21319 grub_hfs_init and grub_jfs_init to initialize the system. Call
21320 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21321 grub_pc_partition_map_fini to finish the system.
21322
ea409713 213232005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21324
21325 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21326 function.
21327 (grub_multiboot_load_elf32): Likewise.
21328 (grub_multiboot_is_elf64): Likewise.
21329 (grub_multiboot_load_elf64): Likewise.
21330 (grub_multiboot_load_elf): Likewise.
21331 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21332 an ELF32 or ELF64 file.
21333 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21334
21335 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21336 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21337 NULL before calling FS->LABEL.
21338 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21339 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21340 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
21341 before calling FS->LABEL.
21342
141a288b 213432005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
21344
21345 * util/i386/pc/grub-install.in (datadir): New variable.
21346 (libdir): Removed.
21347 (pkgdatadir): New variable.
21348 (pkglibdir): Removed.
21349
0d5f8a54 213502005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
21351
21352 * DISTLIST: Added util/i386/pc/grub-install.in.
21353
21354 * util/i386/pc/grub-install.in: New file.
21355
21356 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
21357 (grub_install_SOURCES): Likewise.
21358
21359 * genmk.rb: Added support for scripts.
21360 (Script): New class.
21361 (scripts): New variable.
21362
21363 * Makefile.in (install-local): Install sbin_SCRIPTS by
21364 INSTALL_SCRIPT.
21365 (uninstall): Remove sbin_SCRIPTS.
21366
21367 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
21368 device, try to get a GRUB device by
21369 grub_util_biosdisk_get_grub_dev.
21370 Free DEST_DEV.
21371
21372 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
21373 description for --device-map.
21374
5f968e1e 213752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21376
21377 Change the semantics of variable hooks. They now return strings
21378 instead of error values.
f19dbdb7 21379
5f968e1e 21380 * util/i386/pc/grub-setup.c: Include grub/env.h.
21381 (setup): Use grub_device_set_root instead of grub_env_set.
21382
21383 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
21384 grub_env_get instead of grub_device_set_root and
21385 grub_device_get_root, respectively.
21386
21387 * kern/main.c (grub_env_write_root): New function.
21388 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
21389 grub_env_set instead of grub_device_set_root.
21390
21391 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
21392 many variables.
21393 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
21394 rather than calling ENV->WRITE_HOOK afterwards.
21395 (grub_env_get): Return the result of ENV->READ_HOOK rather than
21396 passing a pointer of a pointer.
21397 (grub_register_variable_hook): Change the types of "read_hook" and
21398 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
21399 respectively.
21400 Allocate the default empty string on the heap, because this string
21401 may be freed later.
21402
21403 * kern/device.c: Include grub/env.h.
21404 (grub_device_set_root): Removed.
21405 (grub_device_get_root): Likewise.
21406 (grub_device_open): Use grub_env_get instead of
21407 grub_device_get_root.
21408
21409 * include/grub/env.h (grub_env_read_hook_t): New type.
21410 (grub_env_write_hook_t): Likewise.
21411 (grub_env_var): Change the types of "read_hook" and "write_hook"
21412 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
21413 (grub_register_variable_hook): Likewise.
21414
21415 * include/grub/device.h (grub_device_set_root): Removed.
21416 (grub_device_set_root): Likewise.
21417
21418 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
21419 make sure that DIRNAME terminates with '/', so that
21420 grub_fat_find_dir will fail if PATH is not a directory.
21421
21422 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
21423 from DIRNAME.
21424 Use the qualifier auto for print_files and print_files_long.
21425 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
21426 as a regular file.
21427 Put a newline only if there is no error.
21428 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
21429 used.
21430
896f0afd 214312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21432
21433 * kern/partition.c (grub_partition_probe): Initialize PART to
21434 NULL. Otherwise, when no partition map is registered, this returns
21435 a garbage.
21436
b28b81b2 214372005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
21438
21439 * partmap/apple.c (apple_partition_map_iterate): Check if POS
21440 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
21441 valid.
21442
5f3607e0 214432005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
21444
21445 * commands/ls.c (grub_ls_list_disks): Print the filesystem
21446 information on each device, if it does not have partitions. Print
21447 "Device" instead of "Disk", because this function is not specific
21448 to disk devices.
21449
21450 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
21451 static to ensure that it is put on the memory rather than a
21452 register.
21453
502c87e8 214542005-07-17 Yoshinori Okuji <okuji@enbug.org>
21455
21456 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
21457 (grub_cat_init): Likewise.
21458 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
21459 (options): Likewise.
21460 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21461 (grub_configfile_init): Likewise.
21462 * font/manager.c (GRUB_MOD_INIT): Likewise.
21463 * commands/help.c (GRUB_MOD_INIT): Likewise.
21464 (grub_help_init): Likewise.
21465 * normal/command.c (grub_command_init): Likewise.
21466 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
21467 * disk/loopback.c (grub_loop_init): Likewise.
21468 (GRUB_MOD_INIT): Likewise.
21469 * commands/ls.c (grub_ls_init): Likewise.
21470 (GRUB_MOD_INIT): Likewise.
21471 (options): Likewise.
21472 * commands/boot.c (grub_boot_init): Likewise.
21473 (GRUB_MOD_INIT): Likewise.
21474 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
21475 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
21476 (GRUB_MOD_INIT): Likewise.
21477 * commands/cmp.c (grub_cmp_init): Likewise.
21478 (GRUB_MOD_INIT): Likewise.
21479
21480 * normal/arg.c: Use <> instead of "" to include header files.
21481 (SHORT_ARG_HELP): New macro.
21482 (SHORT_ARG_USAGE): Likewise.
21483 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
21484 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
21485 descriptions.
21486 (find_short): Check if C is 'h' or 'u' explicitly.
21487 (grub_arg_show_help): Use space characters instead of tabs. Treat
21488 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
21489 are shown with --help and --usage only if they are not used for
21490 the command itself.
21491 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
21492 'h' and 'u'.
21493
21494 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
21495 const into "longarg". Change the type of "shortarg" to int.
21496
f806d18e 214972005-07-17 Yoshinori Okuji <okuji@enbug.org>
21498
21499 * boot/i386/pc/boot.S (boot_drive_check): New label.
21500
21501 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
21502 macro.
21503
21504 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
21505 which do not pass a boot drive correctly. Copied from GRUB Legacy.
21506
e293232b 215072005-07-17 Yoshinori Okuji <okuji@enbug.org>
21508
21509 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
21510 When turning off Gate A20, skip the check and return immediately,
21511 because this is not fatal usually.
21512
ebedfd00 215132005-07-17 Yoshinori Okuji <okuji@enbug.org>
21514
21515 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
21516 be 0x7C00 instead of 0x8000.
21517
21518 * boot/i386/pc/pxeboot.S: Rewritten.
21519
21520 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
21521 EXT_C.
21522 (gate_a20_check_state): Read a byte from 0x108000. Invert the
21523 result.
21524
654fc59f 215252005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
21526
21527 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
21528 robustness. This routine now supports a BIOS call and System
21529 Control Port A to modify the gate A20.
21530
21531 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21532 Increased to 0x440.
21533
09f9923f 215342005-07-12 Hollis Blanchard <hollis@penguinppc.org>
21535
21536 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
21537 device path and resulting ihandle.
21538 (grub_ofdisk_close): dprintf the ihandle being closed.
21539 (grub_ofdisk_read): dprintf function parameters.
21540 * kern/mm.c (grub_mm_init_region): Likewise.
21541 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
21542 (grub_linux_boot): dprintf the Linux entry point, initrd address and
21543 size, and boot arguments.
21544 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
21545 before loading into memory.
21546 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
21547 before loading into memory.
21548
7ef504d8 215492005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
21550
21551 * kern/mm.c: Added much documentation.
21552 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
21553 8, set to 5 instead of 8.
21554
e0f050c2 215552005-07-10 Yoshinori Okuji <okuji@enbug.org>
21556
21557 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
21558
21559 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
21560 (grub_mkdevicemap_SOURCES): New variable.
21561
21562 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
21563 lib/device.c of GRUB Legacy.
21564
7224189a 215652005-07-10 Yoshinori Okuji <okuji@enbug.org>
21566
21567 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
21568 instead of PATH is NULL.
21569
68c864eb 215702005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
21571
21572 * commands/cmp.c (BUFFER_SIZE): New macro.
21573 (grub_cmd_cmp): Close the right file at the right time. Compare
21574 only data just read. Don't report files of different size as
21575 identical. Dynamically allocate buffers. Move variable
21576 declarations at the beginning of function.
21577
e6f3e614 215782005-07-09 Yoshinori Okuji <okuji@enbug.org>
21579
21580 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
21581 reverse.
21582
f8f1559a 215832004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
21584
21585 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
21586 when backspace is pressed at beginning of line.
21587
39c9d41d 215882005-07-03 Yoshinori Okuji <okuji@enbug.org>
21589
21590 * DISTLIST: Added genfslist.sh.
21591
21592 * normal/main.c (fs_module_list): New variable.
21593 (autoload_fs_module): New function.
21594 (read_fs_list): Likewise.
21595 (grub_normal_execute): Call read_fs_list.
21596
21597 * kern/fs.c (grub_fs_autoload_hook): New variable.
21598 (grub_fs_probe): Added support for auto-loading.
21599
21600 * include/grub/normal.h (struct grub_fs_module_list): New struct.
21601 (grub_fs_module_list_t): New type.
21602
21603 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
21604 (grub_fs_autoload_hook): New prototype.
21605
21606 * genfslist.sh: New file.
f19dbdb7 21607
39c9d41d 21608 * genmk.rb: Added a rule to generate a filesystem list.
21609
121c1d83 216102005-06-30 Marco Gerards <metgerards@student.han.nl>
21611
21612 * configure.ac: Fix the test for cross-compiling.
21613
21614 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
21615 define GRUB_UTIL anymore.
21616
21617 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
21618 so this function works on other systems than just big endian.
21619 (load_modules): Likewise.
21620 (add_segments): Likewise.
21621
e75d76e1 216222005-06-23 Hollis Blanchard <hollis@penguinppc.org>
21623
21624 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
21625 contains `l' modifier, get a long from va_arg().
21626
50b5a0a7 216272005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
21628
21629 * kern/mm.c (grub_free): If the next free block which is being
21630 merged is the first free block, set the first block to the block
21631 being freed.
21632 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
21633
89371b20 216342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21635
21636 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
21637 `grub_ieee1275_chosen'.
21638
168d6e58 216392005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21640
21641 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
21642 (grub_ieee1275_chosen): New variable.
21643 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
21644 `chosen'.
21645 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
21646 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21647 Rename first argument to `phandle' for consistency.
21648 (grub_ieee1275_get_property_length): Likewise.
21649 (grub_ieee1275_next_property): Likewise. Change type of first argument
21650 to grub_ieee1275_phandle_t.
21651 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
21652 Move export next to declaration.
21653 (grub_ieee1275_chosen): New variable.
21654 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
21655 Correct cosmetic typo.
21656 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
21657 `grub_ieee1275_chosen'.
21658 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
21659 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
21660 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
21661 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
21662 `grub_ieee1275_chosen'.
21663
ca5baa3f 216642005-05-10 Hollis Blanchard <hollis@penguinppc.org>
21665
21666 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
21667 /chosen/bootargs.
21668 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
21669 /chosen/bootargs as "variable=value" pairs.
21670
708b345f 216712005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
21672
21673 * include/grub/misc.h (grub_dprintf): New macro.
21674 (grub_real_dprintf): New prototype.
21675 (grub_strword): Likewise.
21676 (grub_iswordseparator): Likewise.
21677 * kern/misc.c (grub_real_dprintf): New function.
21678 (grub_strword): Likewise.
21679 (grub_iswordseparator): Likewise.
21680
f4c5e67c 216812005-04-30 Hollis Blanchard <hollis@penguinppc.org>
21682
21683 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
21684 (roundup): Remove macro.
21685 (grub_ieee1275_flags): Make static.
21686 (grub_ieee1275_realmode): Remove.
21687 (grub_ieee1275_test_flag): New function.
21688 (grub_ieee1275_set_flag): Likewise.
21689 (find_options): Rename to `grub_ieee1275_find_options'; update
21690 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
21691 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
21692 (cmain): New prototype.
21693 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
21694 `grub_ieee1275_flags' directly.
21695 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
21696 machine/biosdisk.h.
21697 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
21698 Don't include grub/machine/init.h.
21699 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
21700 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21701 Remove prototype.
21702 (grub_ieee1275_realmode): Likewise.
21703 (grub_ieee1275_flag): New enum.
21704 (grub_ieee1275_test_flag): New prototype.
21705 (grub_ieee1275_set_flag): New prototype.
21706 * include/grub/powerpc/ieee1275/init.h: Remove file.
21707 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
21708 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
21709 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
21710 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
21711 comment.
21712 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
21713 `grub_ieee1275_test_flag'.
21714 (grub_ieee1275_encode_devname): Likewise.
21715
ed16607e 217162005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21717
21718 * include/grub/powerpc/ieee1275/ieee1275.h
21719 (grub_ieee1275_encode_devname): New prototype.
21720 (grub_ieee1275_get_filename): Likewise.
21721 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21722 function.
21723 (grub_set_prefix): Likewise.
21724 (grub_machine_init): Call grub_set_prefix.
21725 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21726 (grub_parse_type): New enum.
21727 (grub_ieee1275_get_devargs): New function.
21728 (grub_ieee1275_get_devname): Likewise.
21729 (grub_ieee1275_parse_args): Likewise.
21730 (grub_ieee1275_get_filename): Likewise.
21731 (grub_ieee1275_encode_devname): Likewise.
21732
be369920 217332005-03-30 Marco Gerards <metgerards@student.han.nl>
21734
21735 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21736 `grub_loader_unset'.
21737
a5ce3a4a 217382005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21739
21740 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21741 instead of grub_ieee1275_interpret.
21742 (grub_halt_init): New function.
21743 (grub_halt_fini): Likewise.
21744 (GRUB_MOD_INIT): Correct message grammar.
21745 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21746 instead of grub_ieee1275_interpret.
21747 (grub_reboot_init): New function.
21748 (grub_reboot_fini): Likewise.
21749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21750 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21751 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21752 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21753 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21754 function.
21755 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21756 Add prototype.
21757 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21758 prototype.
21759 (grub_halt): Likewise.
21760 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21761 (cmain): Remove __attribute__((unused)).
21762 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21763 (grub_heap_len): Likewise.
21764 (grub_machine_fini): New function.
21765 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21766 (grub_halt): Likewise.
21767 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21768 function.
21769 * util/powerpc/ieee1275/misc.c: New file.
21770
0058f771 217712005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21772
21773 * DISTLIST: New file.
21774 * gendistlist.sh: Likewise.
f19dbdb7 21775
0058f771 21776 * Makefile.in (COMMON_DISTFILES): Removed.
21777 (BOOT_DISTFILES): Likewise.
21778 (CONF_DISTFILES): Likewise.
21779 (DISK_DISTFILES): Likewise.
21780 (FS_DISTFILES): Likewise.
21781 (INCLUDE_DISTFILES): Likewise.
21782 (KERN_DISTFILES): Likewise.
21783 (LOADER_DISTFILES): Likewise.
21784 (TERM_DISTFILES): Likewise.
21785 (UTIL_DISTFILES): Likewise.
21786 (DISTFILES): Likewise.
21787 (uninstall): Uninstall files in $(pkgdata_DATA).
21788 (DISTLIST): New target.
21789 (distdir): Use the contents of the file DISTLIST to get a list of
21790 distributed files.
21791
46b3b8a5 217922005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21793
21794 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21795 descriptor. This is ported from GRUB Legacy.
21796
21797 * gencmdlist.sh: Added an extra semicolon to make it work with
21798 old sed versions. Reported by Robert Bihlmeyer
21799 <robbe@orcus.priv.at>.
21800
5822ff87 218012005-03-08 Yoshinori Okuji <okuji@enbug.org>
21802
21803 Automatic loading of commands is supported.
f19dbdb7 21804
5822ff87 21805 * normal/main.c (read_command_list): New function.
21806 (grub_normal_execute): Call read_command_list.
21807
21808 * normal/command.c (grub_register_command): Return zero or CMD.
21809 Allocate CMD->NAME from the heap.
21810 Initialize CMD->MODULE_NAME to zero.
21811 Find the same name as well. If the same command is found and it is
21812 a dummy command, overwrite members. If it is not a dummy command,
21813 return zero.
21814 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
21815 (grub_command_find): If a dummy command is found, load a module
21816 and retry to find a command only once.
21817
21818 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
21819 make sure that each command is loaded.
21820
21821 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
21822 macro.
21823 (struct grub_command): Remove const from the member `name'.
21824 Add a new member `module_name'.
21825 (grub_register_command): Return grub_command_t.
21826
21827 * commands/help.c (grub_cmd_help): Call grub_command_find to make
21828 sure that each command is loaded.
21829
21830 * genmk.rb (PModule::rule): Specify a module name without the
21831 suffix ".mod" to gencmdlist.sh.
21832
7b1f4b57 218332005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21834
21835 * gencmdlist.sh: New file.
f19dbdb7 21836
7b1f4b57 21837 * genmk.rb (PModule::rule): Generate a rule for a command list.
21838 Clean command.lst.
21839 Generate command.lst from $(COMMANDFILES).
21840
21841 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
21842 (DATA): Added $(pkgdata_DATA).
21843 (install-local): Install files in $(pkgdata_DATA).
21844
062aaf39 218452005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
21846
21847 * term/i386/pc/vga.c (debug_command): Removed.
21848 (GRUB_MOD_INIT): Do not register the command "debug".
21849
21850 From Hollis Blanchard:
21851 * commands/configfile.c: New file.
21852 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
21853 commands/configfile.c.
21854 (pkgdata_MODULES): Added configfile.mod.
21855 (configfile_mod_SOURCES): New variable.
21856 (configfile_mod_CFLAGS): Likewise.
21857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21858 commands/configfile.c.
21859 (pkgdata_MODULES): Added configfile.mod.
21860 (configfile_mod_SOURCES): New variable.
21861 (configfile_mod_CFLAGS): Likewise.
21862 * util/grub-emu.c (main): Call grub_configfile_init and
21863 grub_configfile_fini.
21864 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
21865 prototype.
21866 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 21867
cee01aa6 218682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21869
21870 * normal/arg.c (grub_arg_show_help): Do not show the bug report
21871 address.
21872
21873 * commands/help.c (grub_cmd_help): Do not print newlines after
21874 the last command in print_command_help.
21875
93f3a1d8 218762005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
21877
21878 * commands/default.h: New file.
21879 * commands/timeout.h: Likewise.
21880 * normal/context.c: Likewise.
f19dbdb7 21881
93f3a1d8 21882 * util/misc.c: Do not include sys/times.h.
21883 Include sys/time.h and grub/machine/time.h.
21884 (grub_get_rtc): Rewritten with gettimeofday.
21885
21886 * util/grub-emu.c (main): Call grub_default_init and
21887 grub_timeout_init before grub_normal_init, and call
21888 grub_timeout_fini and grub_default_fini after grub_main.
21889
21890 * util/console.c (grub_ncurses_checkkey): Return the read
21891 character or -1.
21892
21893 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
21894 timeouts.
21895
21896 * normal/main.c (read_config_file): Push MENU. If this fails,
21897 print an error and wait for a user input.
21898 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
21899 If a menu is empty or an error occurs, pop MENU.
21900 (grub_normal_execute): Pop and free MENU after grub_menu_run
21901 returns.
21902
21903 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
21904
21905 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
21906 include time.h.
21907 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21908 without GRUB_UTIL.
21909 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
21910 time.h.
21911 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
21912 without GRUB_UTIL.
21913
21914 * include/grub/normal.h (struct grub_menu_list): New struct.
21915 (grub_menu_list_t): New type.
21916 (struct grub_context): New struct.
21917 (grub_context_t): New type.
21918 (grub_register_command): Got rid of EXPORT_FUNC.
21919 (grub_unregister_command): Likewise.
21920 (grub_context_get): New prototype.
21921 (grub_context_get_current_menu): Likewise.
21922 (grub_context_push_menu): Likewise.
21923 (grub_context_pop_menu): Likewise.
21924 [GRUB_UTIL] (grub_default_init): Likewise.
21925 [GRUB_UTIL] (grub_default_fini): Likewise.
21926 [GRUB_UTIL] (grub_timeout_init): Likewise.
21927 [GRUB_UTIL] (grub_timeout_fini): Likewise.
21928
21929 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
21930 commands/timeout.c and normal/context.c.
21931 (pkgdata_MODULES): Added default.mod and timeout.mod.
21932 (normal_mod_SOURCES): Added normal/context.c.
21933 (default_mod_SOURCES): New variable.
21934 (default_mod_CFLAGS): Likewise.
21935 (timeout_mod_SOURCES): Likewise.
21936 (timeout_mod_CFLAGS): Likewise.
21937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
21938 conf/i386-pc.rmk.
21939 (pkgdata_MODULES): Added default.mod and timeout.mod.
21940 (normal_mod_SOURCES): Added normal/context.c.
21941 (default_mod_SOURCES): New variable.
21942 (default_mod_CFLAGS): Likewise.
21943 (timeout_mod_SOURCES): Likewise.
21944 (timeout_mod_CFLAGS): Likewise.
21945
21946 * Makefile.in (all-local): Added $(MKFILES).
21947
4ed2e1dd 219482005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
21949
21950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
21951 (grub_emu_SOURCES): Likewise.
21952 (pkgdata_MODULES): Add `sun.mod'.
21953 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21955 `partmap/sun.c'.
21956 (pkgdata_MODULES): Add `sun.mod'.
21957 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
21958 * include/grub/partition.h (grub_sun_partition_map_init): New
21959 prototype.
21960 (grub_sun_partition_map_fini): Likewise.
21961 * partmap/sun.c: New file.
21962 * util/grub-emu.c (main): Initialize and de-initialize the sun
21963 partitionmap support.
21964
4d4e372e 219652005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
21966
21967 This implements an Emacs-like menu entry editor.
f19dbdb7 21968
4d4e372e 21969 * normal/menu_entry.c: New file.
f19dbdb7 21970
4d4e372e 21971 * util/console.c (grub_ncurses_putchar): Translate some Unicode
21972 characters to ASCII.
21973 (saved_char): New variable.
21974 (grub_ncurses_checkkey): Rewritten completely.
21975 (grub_ncurses_getkey): Likewise.
21976 (grub_ncurses_init): Call raw instead of cbreak.
21977
21978 * normal/menu.c (print_entry): Do not put a space.
21979 (init_page): Renamed to ...
21980 (grub_menu_init_page): ... this. All callers changed.
21981 (edit_menu_entry): Removed.
21982 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
21983
21984 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
21985
21986 * kern/misc.c (grub_vprintf): Call grub_refresh.
21987
21988 * normal/menu.c (DISP_LEFT): Renamed to ...
21989 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
21990 * normal/menu.c (DISP_UP): Renamed to ...
21991 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
21992 * normal/menu.c (DISP_RIGHT): Renamed to ...
21993 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
21994 * normal/menu.c (DISP_DOWN): Renamed to ...
21995 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
21996 * normal/menu.c (DISP_HLINE): Renamed to ...
21997 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
21998 * normal/menu.c (DISP_VLINE): Renamed to ...
21999 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22000 * normal/menu.c (DISP_UL): Renamed to ...
22001 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22002 * normal/menu.c (DISP_UR): Renamed to ...
22003 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22004 * normal/menu.c (DISP_LL): Renamed to ...
22005 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22006 * normal/menu.c (DISP_LR): Renamed to ...
22007 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22008 * normal/menu.c (TERM_WIDTH): Renamed to ...
22009 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22010 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22011 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22012 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22013 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22014 * normal/menu.c (TERM_MARGIN): Renamed to ...
22015 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22016 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22017 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22018 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22019 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22020 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22021 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22022 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22023 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22024 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22025 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22026 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22027 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22028 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22029 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22030 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22031 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22032 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22033 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22034 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22035 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22036 All callers changed.
22037
22038 * include/grub/normal.h: New prototype.
22039
22040 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22041 normal/menu_entry.c.
22042 (normal_mod_SOURCES): Likewise.
22043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22044 (normal_mod_SOURCES): Likewise.
22045
e6b92c8a 220462005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22047
22048 * include/grub/normal.h (grub_halt_init): New prototype.
22049 (grub_halt_fini): Likewise.
22050 (grub_reboot_init): Likewise.
22051 (grub_reboot_fini): Likewise.
22052
22053 * util/grub-emu.c: Include signal.h.
22054 (main_env): New global variable.
22055 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22056 catch C-c.
22057 (grub_machine_fini): New function.
22058 (main): Call grub_halt_init and grub_reboot_init before
22059 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22060 Call setjmp with MAIN_ENV to go back afterwards.
22061 Call grub_machine_fini right before return.
22062
22063 * include/grub/util/misc.h: Include setjmp.h.
22064 (main_env): New prototype.
22065
22066 * include/grub/kernel.h (grub_machine_fini): New prototype.
22067 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22068 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22069
22070 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22071 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22072 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22073
e6b92c8a 22074 * util/i386/pc/misc.c: New file.
f19dbdb7 22075
e6b92c8a 22076 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22077 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22078 commands/i386/pc/reboot.c.
22079
c642636f 220802005-02-14 Guillem Jover <guillem@hadrons.org>
22081
22082 * include/grub/dl.h (grub_dl_check_header): New prototype.
22083 (grub_arch_dl_check_header): Change return type to grub_err_t,
22084 remove size parameter and export function. Update all callers.
22085 * kern/dl.c (grub_dl_check_header): New function.
22086 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22087 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22088 are inside the core.
22089 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22090 independent ELF header checks.
22091 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22092 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22093 `grub_dl_check_header' instead of explicit checks. Check for the
22094 ELF type.
22095 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22096 `grub_dl_check_header' instead of explicit checks. Remove arch
22097 specific ELF header checks.
22098
e6b92c8a 22099 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22100 argument SIZE.
22101
5eabe94b 221022005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22103
22104 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22105 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22106
1b14a681 221072005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22108
22109 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22110 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22111 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22112 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22113 * partmap/amiga.c (amiga_partition_map_iterate): Return
22114 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22115 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22116
aca108aa 221172005-02-01 Guillem Jover <guillem@hadrons.org>
22118
22119 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22120 help info.
22121
c9f9c556 221222005-01-31 Marco Gerards <metgerards@student.han.nl>
22123
22124 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22125 Removed prototype.
22126 (grub_rescue_cmd_linux): New prototype.
22127 (grub_rescue_cmd_initrd): Likewise.
22128 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22129 `bi_rec'.
22130 (grub_linux_release_mem): Release the memory for the initrd.
22131 (grub_load_linux): Renamed from this...
22132 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22133 Changed `entry' not to be static. Loop over memory regions to
22134 find another one when the default fails.
22135 (grub_rescue_cmd_initrd): New function.
22136 (grub_linux_init): Remove function.
22137 (grub_linux_fini): Likewise.
22138 (GRUB_MOD_INIT): Register `initrd'.
22139 (GRUB_MOD_FINI): Unregister `initrd'.
22140 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22141 Function removed.
22142 (grub_linux_normal_fini): Likewise.
22143 (GRUB_MOD_INIT): Register `initrd'.
22144 (GRUB_MOD_FINI): Unregister `initrd'.
22145
990cf3aa 221462005-01-31 Marco Gerards <metgerards@student.han.nl>
22147
22148 * commands/help.c: New file.
22149 * normal/arg.c (show_help): Renamed to...
22150 (grub_arg_show_help): ... this.
22151 * commands/i386/pc/halt.c: New file.
22152 * commands/i386/pc/reboot.c: Likewise.
22153 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22154 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22155 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22156 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22157 variables.
22158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22159 `commands/help.c'.
22160 (pkgdata_MODULES): Add `help.mod'.
22161 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22162 * grub/i386/pc/init.h (grub_reboot): New prototype.
22163 (grub_halt): Likewise.
22164 * include/grub/normal.h (grub_arg_show_help): New prototype.
22165 (grub_help_init): Likewise.
22166 (grub_help_fini): Likewise.
22167 * util/grub-emu.c (main): Initialize and deinitialize the help
22168 command.
22169
22170 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22171
22172 * normal/command.c (grub_command_init): Fixed the description of
22173 the `set' and `unset' commands.
22174
221752005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22176
22177 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22178 function.
22179 * commands/ieee1275/halt.c: New file.
22180 * commands/ieee1275/reboot.c: Likewise.
22181 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22182 `__attribute__ ((unused))'. Some GCS related fixed.
22183 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22184 (grub_suspend_fini): Likewise.
22185 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22186 and `halt.mod'.
22187 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22188 (halt_mod_CFLAGS): New variables.
22189 * include/grub/powerpc/ieee1275/ieee1275.h
22190 (grub_ieee1275_interpret): New prototype.
22191
1ab09cc7 221922005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22193
22194 * include/grub/misc.h (memmove): New prototype.
22195 (memcpy): Likewise.
22196
8b8cbdb2 221972005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22198
22199 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22200 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22201
e3741a27 222022005-01-22 Marco Gerards <metgerards@student.han.nl>
22203
22204 * kern/misc.c (grub_strndup): Function rewritten.
22205
776bd780 222062005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22207
22208 * normal/menu.c (TERM_WIDTH): Macro redefined.
22209 (TERM_TOP_BORDER_Y): Likewise.
22210 (draw_border): Replaced while-loop by a for-loop. Make the number
22211 of lines consistent with the number of lines displayed in
22212 print_entries. Added a margin below the rectangle.
22213 (print_entry): Make the entry fit in the rectangle.
22214 (print_entries): Display the scroll arrows next to the right
22215 border.
22216
78026bce 222172005-01-21 Marco Gerards <metgerards@student.han.nl>
22218
22219 * fs/minix.c (grub_minix_find_file): Reserve more space for
22220 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22221 `grub_strncpy' to copy `path' into it.
22222
67bbaf0f 222232005-01-21 Marco Gerards <metgerards@student.han.nl>
22224
22225 Add the loopback device, a device via which files can be accessed
22226 as devices.
f19dbdb7 22227
67bbaf0f 22228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22229 (pkgdata_MODULES): Add loopback.mod.
22230 (loopback_mod_SOURCES): New variable.
22231 (loopback_mod_CFLAGS): Likewise.
22232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22233 `disk/loopback.c'.
22234 (pkgdata_MODULES): Add loopback.mod.
22235 (loopback_mod_SOURCES): New variable.
22236 (loopback_mod_CFLAGS): Likewise.
22237 * disk/loopback.c: new file.
22238 * include/grub/normal.h (grub_loop_init): New prototype.
22239 (grub_loop_fini): New prototype.
22240 * util/grub-emu.c (main): Initialize and de-initialize loopback
22241 support.
22242 * include/grub/disk.h (grub_disk_dev_id): Add
22243 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22244
6f1c18bd 222452005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22246
22247 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22248 function.
22249 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22250 (suspend_mod_SOURCES): New variable.
22251 (suspend_mod_CFLAGS): Likewise.
22252 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22253 New prototype.
22254 * commands/ieee1275/suspend.c: New file.
22255
b38551da 222562005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22257
22258 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22259 ((unused))' to `__attribute__ ((used))'.
b38551da 22260 (GRUB_MOD_FINI): Likewise.
22261 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22262 * genmk.rb (PModule): Assign space to common symbols when linking
22263 modules.
22264
777aff39 222652005-01-20 Marco Gerards <metgerards@student.han.nl>
22266
22267 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22268 `unsigned' arguments to `grub_size_t'.
22269 (grub_malloc): Likewise.
22270 (grub_realloc): Likewise.
22271 (grub_memalign): Likewise.
22272 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22273 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22274 * util/misc.c (grub_malloc): Likewise.
22275 (grub_realloc): Likewise.
22276 * kern/mm.c (get_header_from_pointer): Change the casts to
22277 `unsigned' into a cast to `grub_size_t'.
22278
22279 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22280 point to `currnode' when `currnode' is changed.
22281
22282 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22283 Schottelius <nico-linux@schottelius.org>.
22284
d0ff18e1 222852005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22286
22287 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22288 (note_path): Remove variable.
22289 (GRUB_IEEE1275_NOTE_NAME): New macro.
22290 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22291 (grub_ieee1275_note_hdr): New structure.
22292 (grub_ieee1275_note_desc): Likewise.
22293 (grub_ieee1275_note): Likewise.
22294 (load_note): Remove `dir' argument. All callers updated. Remove
22295 `note_img' and `path'. Do not load a file from `note_path'.
22296 Initialize a struct grub_ieee1275_note and write that to `out'.
22297 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22298
4ca7004c 222992005-01-05 Marco Gerards <metgerards@student.han.nl>
22300
22301 * util/misc.c (grub_util_read_image): Revert last change. It
22302 called `grub_util_read_at', which seeks from the beginning of the
22303 file.
22304
0b412211 223052005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22306
22307 * TODO: Add note about endianness in grub-mkimage.
22308 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22309 section.
22310 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22311 (grub_mkimage_SOURCES): New target.
22312 * include/grub/kernel.h (grub_start_addr): Remove variable.
22313 (grub_end_addr): Likewise.
22314 (grub_total_module_size): Likewise.
22315 (grub_kernel_image_size): Likewise.
22316 (GRUB_MODULE_MAGIC): New constant.
22317 (grub_module_info): New structure.
22318 (grub_arch_modules_addr): New prototype.
22319 (grub_get_end_addr): Remove prototype.
22320 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22321 * include/grub/powerpc/ieee1275/kernel.h: New file.
22322 * include/grub/util/misc.h (grub_util_get_fp_size): New
22323 prototype.
22324 (grub_util_read_at): Likewise.
22325 (grub_util_write_image_at): Likewise.
22326 * kern/main.c (grub_get_end_addr): Remove function.
22327 (grub_load_modules): Call grub_arch_modules_addr instead of using
22328 grub_end_addr. Look for a grub_module_info struct in memory. Use
22329 the grub_module_info fields instead of calling grub_get_end_addr
22330 as loop conditions. Move grub_add_unused_region code here.
22331 (grub_add_unused_region): Remove function.
22332 * kern/i386/pc/init.c: Include grub/cache.h.
22333 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22334 one call to add_mem_region.
22335 (grub_arch_modules_addr): New function.
22336 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22337 (grub_total_module_size): Likewise.
22338 Include grub/machine/kernel.h.
22339 (grub_arch_modules_addr): New function.
22340 * util/grub-emu.c (grub_end_addr): Remove variable.
22341 (grub_total_module_size): Likewise.
22342 (grub_arch_modules_addr): New function.
22343 * util/misc.c: Include unistd.h.
22344 (grub_util_get_fp_size): New function.
22345 (grub_util_read_at): Likewise.
22346 (grub_util_write_image_at): Likewise.
22347 (grub_util_read_image): Call grub_util_read_at.
22348 (grub_util_write_image): Call grub_util_write_image_at.
22349 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
22350 additional memory in kernel_img for a struct grub_module_info.
22351 Fill in that grub_module_info.
22352 * util/powerpc/ieee1275/grub-mkimage.c: New file.
22353
458786f8 223542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22355
22356 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
22357 New function.
22358 * include/grub/powerpc/ieee1275/ieee1275.h
22359 (grub_ieee1275_milliseconds): New prototype.
22360 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
22361 Change to 1000.
22362 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
22363 grub_ieee1275_milliseconds.
22364
ac507d1b 223652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22366
22367 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
22368 variable.
22369 (find_options): New function.
22370 (cmain): Call find_options.
22371 * include/grub/powerpc/ieee1275/ieee1275.h
22372 (grub_ieee1275_realmode): New extern variable.
22373 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
22374 grub_map if grub_ieee1275_realmode is false.
22375
6b8fd1c4 223762004-12-29 Marco Gerards <metgerards@student.han.nl>
22377
22378 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
22379 lines are inserted and make it work like readline. Reported by
22380 Vincent Pelletier <subdino2004@yahoo.fr>.
22381
8514a1e0 223822004-12-28 Marco Gerards <metgerards@student.han.nl>
22383
22384 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
22385
22386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
22387 `kern/powerpc/cache.S'.
22388
924b6140 223892004-12-27 Marco Gerards <metgerards@student.han.nl>
22390
22391 * genmk.rb: Handle the `Program' class in the main loop. Written
22392 by Johan Rydberg <jrydberg@gnu.org>.
22393 (Program): New class.
22394 (programs): New variable.
22395 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
22396 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
22397 instead of "grub/kernel.h". Include <grub/machine/init.h>.
22398 (help_arch): Function removed.
22399 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
22400 `powerpc/libgcc.h' and `loader.h'.
22401 (pkgdata_PROGRAMS): New variable.
22402 (sbin_UTILITIES): Variable removed.
22403 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
22404 (grubof_SOURCES): Variable re-defined so it only includes the
22405 core functionality.
22406 (grubof_CFLAGS): Remove `-DGRUBOF'.
22407 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
22408 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
22409 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
22410 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
22411 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
22412 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
22413 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
22414 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
22415 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
22416 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
22417 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22418 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
22419 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
22420 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
22421 (pc_mod_CFLAGS): New variables.
22422 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
22423 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
22424 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
22425 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
22426 Moved from here...
22427 * include/grub/i386/pc/init.h (grub_os_area_addr)
22428 (rub_os_area_size): ... to here.
22429 * include/grub/powerpc/ieee1275/ieee1275.h
22430 (grub_ieee1275_entry_fn): Export symbol.
22431 * include/grub/powerpc/ieee1275/init.h: New file.
22432 * include/grub/powerpc/libgcc.h: Likewise.
22433 * include/grub/cache.h: Likewise.
22434 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
22435 <hollis@penguinppc.org>.
22436 * kern/dl.c: Include <grub/cache.h>.
22437 (grub_dl_flush_cache): New function.
22438 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
22439 for this module.
22440 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
22441 (grub_console_init): Removed prototypes.
22442 (grub_machine_init): Don't initialize the modules anymore.
22443 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
22444 static.
22445 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
22446 Macro undef removed.
22447 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
22448 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
22449 relocation `R_PPC_REL32'. Return an error when the relocation is
22450 unknown.
22451 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
22452 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
22453 * util/misc.c (grub_arch_sync_caches): Likewise.
22454
e4b47e0c 224552004-12-19 Marco Gerards <metgerards@student.han.nl>
22456
22457 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
22458 `symlist.c', add `grubof_symlist.c'.
22459 (symlist.c): Variable removed.
22460 (grubof_HEADERS): Variable added.
22461 (grubof_symlist.c): New target.
22462 (kernel_syms.lst): Use `grubof_HEADERS' instead of
22463 `kernel_img_HEADERS'.
22464 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
22465 * kern/powerpc/dl.c: New file.
22466 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
22467 Function removed.
22468 (grub_arch_dl_relocate_symbols): Likewise.
22469 (grub_register_exported_symbols): Likewise.
22470
4ceb3636 224712004-12-13 Marco Gerards <metgerards@student.han.nl>
22472
22473 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
22474 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
22475 to fail instead. Reported by Vincent Pelletier
22476 <subdino2004@yahoo.fr>.
22477
22478 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
22479 it is not allocated. Reported by Vincent Pelletier
22480 <subdino2004@yahoo.fr>.
22481
22482 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
22483 output so the output looks better.
f19dbdb7 22484
3f1578fe 224852004-12-04 Marco Gerards <metgerards@student.han.nl>
22486
22487 Modulize the partition map support and add support for the amiga
22488 partition map.
f19dbdb7 22489
3f1578fe 22490 * commands/ls.c: Include <grub/partition.h> instead of
22491 <grub/machine/partition.h>.
22492 * kern/disk.c: Likewise.
22493 * kern/rescue.c: Likewise.
22494 * loader/i386/pc/chainloader.c: Likewise.
22495 * normal/cmdline.c: Likewise.
22496 * kern/powerpc/ieee1275/init.c: Likewise.
22497 (grub_machine_init): Call `grub_pc_partition_map_init',
22498 `grub_amiga_partition_map_init' and
22499 `grub_apple_partition_map_init'.
22500 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
22501 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
22502 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
22503 `partition.h' and `pc_partition.h'.
22504 (grub_setup_SOURCES): Remove
22505 `disk/i386/pc/partition.c'. Add `kern/partition.c',
22506 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22507 (grub_emu_SOURCES): Likewise.
22508 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
22509 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
22510 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
22511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22512 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
22513 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22514 (grubof_SOURCES): Likewise.
22515 * disk/i386/pc/partition.c: File removed.
22516 * disk/powerpc/ieee1275/partition.c: Likewise.
22517 * include/grub/powerpc/ieee1275/partition.h: Likewise.
22518 * include/grub/i386/pc/partition.h: Likewise.
22519 * kern/partition.c: New file.
22520 * partmap/amiga.c: Likewise.
22521 * partmap/apple.c: Likewise.
22522 * partmap/pc.c: Likewise.
22523 * include/grub/partition.h: Likewise..
22524 * include/grub/pc_partition.h: Likewise.
22525 * util/grub-emu.c: Include <grub/partition.h> instead of
22526 <grub/machine/partition.h>.
22527 (main): Call `grub_pc_partition_map_init',
22528 `grub_amiga_partition_map_init' and
22529 `grub_apple_partition_map_init' and deinitialize afterwards.
22530 * util/i386/pc/biosdisk.c: Include `#include
22531 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22532 `<grub/machine/partition.h>'.
22533 * util/i386/pc/grub-setup.c: Likewise.
22534 * util/i386/pc/biosdisk.c: Likewise.
22535 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
22536 partition information in case of a PC partition.
22537 * util/i386/pc/grub-setup.c: Include `#include
22538 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22539 `<grub/machine/partition.h>'.
22540 (setup): Only access the PC specific partition information in case
22541 of a PC partition.
22542
0ef4ced9 225432004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22544
0ef4ced9 22545 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
22546 (grub_longjmp): Likewise.
22547 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
22548 20.
22549 * normal/powerpc/setjmp.S: New file.
22550 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22551 `normal/powerpc/setjmp.S'.
22552 (grubof_CFLAGS): Add `-DGRUBOF'.
22553 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
22554 [GRUB_UTIL && !GRUBOF].
f19dbdb7 22555
19950e29 225562004-11-16 Marco Gerards <metgerards@student.han.nl>
22557
22558 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
22559 property named `name'. Correctly handle the error returned by
22560 `grub_ieee1275_finddevice' if a device can not be opened.
22561
a2fea427 225622004-11-02 Hollis Blanchard <hollis@penguinppc.org>
22563
22564 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
22565 `actual' for negativity.
22566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22567 kern/fshelp.c.
22568
41ea0ea3 225692004-11-01 Marco Gerards <metgerards@student.han.nl>
22570
22571 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
22572 (PAGE_OFFSET): New macro.
22573 (CRTC_ADDR_PORT): Likewise.
22574 (CRTC_DATA_PORT): Likewise.
22575 (START_ADDR_HIGH_REGISTER): Likewise.
22576 (START_ADDR_LOW_REGISTER): Likewise.
22577 (GRAPHICS_ADDR_PORT): Likewise.
22578 (GRAPHICS_DATA_PORT): Likewise.
22579 (READ_MAP_REGISTER): Likewise.
22580 (INPUT_STATUS1_REGISTER): Likewise.
22581 (INPUT_STATUS1_VERTR_BIT): Likewise.
22582 (page): New variable.
22583 (wait_vretrace): New function.
22584 (set_read_map): Likewise.
22585 (set_start_address): Likewise.
22586 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
22587 the right page.
22588 (check_vga_mem): Take the page into account.
22589 (write_char): Likewise.
22590 (write_cursor): Likewise.
22591 (scroll_up): Likewise. Copy the page to the page that is not
22592 shown and switch between both pages.
22593 (grub_vga_putchar): Fix off by one error.
22594 (grub_vga_cls): Wait for the vertical retrace. Take the page into
22595 account.
22596
ad0bd20b 225972004-11-01 Marco Gerards <metgerards@student.han.nl>
22598
22599 Add support for iso9660 (including rockridge).
f19dbdb7 22600
ad0bd20b 22601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22602 (iso9660_mod_SOURCES): New variable.
22603 (iso9660_mod_CFLAGS): Likewise.
22604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22605 * include/grub/fs.h (grub_iso9660_init): New prototype.
22606 * util/grub-emu.c (main): Call `grub_iso9660_init'.
22607 * fs/iso9660.c: New file.
22608
22609 * include/grub/misc.h (grub_strncat): New prototype.
22610 * kern/misc.c (grub_strncat): New function.
f19dbdb7 22611
ad0bd20b 22612 * fs/hfs.c (grub_hfs_mount): Translate the error
22613 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
22614 * fs/jfs.c (grub_jfs_mount): Likewise.
22615 * fs/ufs.c (grub_ufs_mount): Likewise.
22616
a5477a59 226172004-10-28 Hollis Blanchard <hollis@penguinppc.org>
22618
22619 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
22620 which initialized BAT registers.
22621 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
22622 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22623 Move from here...
22624 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
22625 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22626 ... to here.
22627 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
22628 (grub_mapclaim): Likewise.
22629 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
22630 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
22631 hand.
22632
9304c1f8 226332004-10-19 Hollis Blanchard <hollis@penguinppc.org>
22634
22635 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
22636 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
22637 -ffreestanding and -msoft-float.
22638
86f4ae25 226392004-10-15 Hollis Blanchard <hollis@penguinppc.org>
22640
22641 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
22642 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
22643 set in grub_ieee1275_flags.
22644
38912228 226452004-10-14 Hollis Blanchard <hollis@penguinppc.org>
22646
22647 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
22648 prototype.
22649 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
22650 grub_console_init first.
22651 Change the memory range used for grub_ieee1275_claim and
22652 grub_mm_init_region.
22653 Print an error message if the claim fails.
22654 Include <grub/misc.h>.
22655
d1923dc8 226562004-10-13 Hollis Blanchard <hollis@penguinppc.org>
22657
22658 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
22659 Call grub_children_iterate for device nodes of type `scsi',
22660 `ide', or `ata'.
22661 (grub_ofdisk_open): Remove manual device alias resolution.
22662 Fix memory leak when device cannot be opened.
f19dbdb7 22663 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 22664 (grub_children_iterate): New prototype.
22665 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
22666 New function.
22667 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22668 Return -1 if args.size was -1.
22669
4512e4f3 226702004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22671
22672 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
22673 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
22674 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
22675 Open Firmware's memory for it; claim memory from _start to _end.
22676 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
22677 (_end): New extern.
22678 (_start): Zero BSS from __bss_start to _end.
22679 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22680 New extern.
22681 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
22682
4d61feb0 226832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22684
ad0bd20b 22685 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
22686 -1 if args.base was -1.
4d61feb0 22687
026fa2f9 226882004-10-08 Hollis Blanchard <hollis@penguinppc.org>
22689
22690 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
22691 escape sequence instead of a literal ^L. Also call
22692 grub_ofconsole_gotoxy.
22693
9f2220ef 226942004-10-03 Hollis Blanchard <hollis@penguinppc.org>
22695
22696 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
22697 void * arguments to grub_addr_t. All callers updated. Also make
22698 the `result' argument optional.
22699 (grub_ieee1275_release): change void * arguments to grub_addr_t.
22700 All callers updated.
22701
8a572cd7 227022004-09-22 Hollis Blanchard <hollis@penguinppc.org>
22703
22704 * commands/ls.c (grub_ls_list_files): Use the string following the
22705 initial ')', if present, as the filesystem path.
22706 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
22707
22708 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
22709
18aa81f2 227102004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
22711
22712 Make the source code of the menu interface more readable.
f19dbdb7 22713
18aa81f2 22714 * normal/menu.c: Include grub/mm.h.
22715 (TERM_WIDTH): New macro.
22716 (TERM_HEIGHT): Likewise.
22717 (TERM_INFO_HEIGHT): Likewise.
22718 (TERM_MARGIN): Likewise.
22719 (TERM_SCROLL_WIDTH): Likewise.
22720 (TERM_TOP_BORDER_Y): Likewise.
22721 (TERM_LEFT_BORDER_X): Likewise.
22722 (TERM_BORDER_WIDTH): Likewise.
22723 (TERM_MESSAGE_HEIGHT): Likewise.
22724 (TERM_BORDER_HEIGHT): Likewise.
22725 (TERM_NUM_ENTRIES): Likewise.
22726 (TERM_FIRST_ENTRY_Y): Likewise.
22727 (TERM_ENTRY_WIDTH): Likewise.
22728 (TERM_CURSOR_X): Likewise.
22729 (draw_border): Use macros instead of magic numbers.
22730 (print_entry): Likewise.
22731 (print_entries): Likewise.
22732 (run_menu): Likewise. Also, handle the key 'e'.
22733 (run_menu_entry): Ignore empty command lines.
22734 (print_message): Added a new argument EDIT. If EDIT is true,
22735 print a different message.
22736 (init_page): Likewise.
22737 (edit_menu_entry): New function. Not implemented yet.
22738
b47efe30 227392004-09-17 Marco Gerards <metgerards@student.han.nl>
22740
22741 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22742 can be loaded from normal mode.
f19dbdb7 22743
b47efe30 22744 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22745 `multiboot.mod'.
22746 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22747 (multiboot_mod_CFLAGS): New variables.
22748 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22749 * loader/i386/pc/multiboot_normal.c: Likewise.
22750
b47efe30 22751 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22752 attribute `unused'.
f19dbdb7 22753
b47efe30 22754 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22755 `fdiro' to read the mode information from instead of `diro'.
22756
22757 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22758 looking up a symlink.
22759
22760 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22761 macro.
22762 * normal/command.c (grub_command_execute): Don't parse the
22763 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22764 flags of the command.
22765
22766 * normal/menu.c (grub_menu_run): Fix typo.
22767
da75ac71 227682004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22769
22770 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22771
22772 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22773 `y + 1' instead of `y - 1'.
22774
22775 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22776
062b24c2 227772004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22778
22779 From Hollis Blanchard <hollis@penguinppc.org>:
22780 * kern/misc.c (memmove): New alias for grub_memmove.
22781 (memcmp): New alias for grub_memcmp.
22782 (memset): New alias for grub_memset.
f19dbdb7 22783 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22784 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22785 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22786 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22787
8ddad845 227882004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22789
22790 Added normal mode command `chainloader' as module chain.mod, which
22791 depends on normal.mod and _chain.mod.
f19dbdb7 22792
8ddad845 22793 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22794 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22795 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22796 Deleted prototype.
22797 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22798 but arguments parsing moved to ...
22799 (grub_chainloader_cmd): ... here. New function.
22800 * include/grub/i386/pc/chainloader.h: New file.
22801 * loader/i386/pc/chainloader_normal.c: Likewise.
22802
2c1f4ce3 228032004-09-11 Marco Gerards <metgerards@student.han.nl>
22804
22805 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
22806 (grub_mkimage_LDFLAGS): Likewise.
22807 (grub_emu_SOURCES): Likewise.
22808 (kernel_img_HEADERS): Added fshelp.h.
22809 * fs/ext2.c: Include <grub/fshelp.h>.
22810 (FILETYPE_REG): New macro.
22811 (FILETYPE_INO_REG): Likewise.
22812 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
22813 Changed all users.
22814 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
22815 all users.
22816 (grub_fshelp_node): New struct.
22817 (grub_ext2_data): Added member `diropen'. Changed member `inode'
22818 to a pointer.
22819 (grub_ext2_get_file_block): Removed function.
22820 (grub_ext2_read_block): New function.
22821 (grub_ext2_read_file): Replaced parameter `data' by `node'.
22822 This function was written.
22823 (grub_ext2_mount): Read the root inode. Create a diropen struct.
22824 (grub_ext2_find_file): Removed function.
22825 (grub_ext2_read_symlink): New function.
22826 (grub_ext2_iterate_dir): Likewise.
22827 (grub_ext2_open): Rewritten.
22828 (grub_ext2_dir): Rewritten.
22829 * include/grub/fshelp.h: New file.
22830 * fs/fshelp.c: Likewise.
22831
3c52136a 228322004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
22833
22834 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
22835 (print_message): Add a missing newline.
22836 (run_menu): Added timeout support.
22837 (run_menu_entry): New local function.
22838 (grub_menu_run): Added support for booting.
22839
22840 * kern/loader.c (grub_loader_is_loaded): New function.
22841
22842 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
22843 (grub_get_rtc): Exported.
22844
22845 * include/grub/i386/pc/time.h: Include grub/symbol.h.
22846 (grub_get_rtc): Exported.
22847
22848 * include/grub/normal.h (struct grub_command_list): Remove
22849 constant from the member `command'.
22850
22851 * include/grub/loader.h (grub_loader_is_loaded): Declared.
22852
22853 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
22854
22855 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
22856
aa033560 228572004-08-28 Marco Gerards <metgerards@student.han.nl>
22858
22859 Add support for the JFS filesystem.
22860
22861 * fs/jfs.c: New file.
22862 * include/grub/fs.h (grub_jfs_init): New prototype.
22863 (grub_jfs_fini): New prototype.
22864 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
22865 (grub_emu_SOURCES): Likewise.
22866 (pkgdata_MODULES): Add jfs.mod.
22867 (jfs_mod_SOURCES): New variable.
22868 (jfs_mod_CFLAGS): Likewise.
22869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
22870 (grubof_SOURCES): Likewise.
22871 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
22872
22873 * fs/fat.c (grub_fat_find_dir): Convert the filename little
22874 endian to the host endian.
22875 (grub_fat_utf16_to_utf8): Move function from there...
22876 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 22877 the endianness of the source string anymore.
aa033560 22878 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
22879
94bc45af 228802004-08-24 Marco Gerards <metgerards@student.han.nl>
22881
22882 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
22883 (grub_boot_fini) [GRUB_UTIL]: Likewise.
22884 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
22885 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 22886
94bc45af 22887 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
22888 (grub_hfs_iterate_dir): Make the function static. Add prototypes
22889 for `node_found' and `it_dir'.
22890 (grub_hfs_dir): Add prototype for `dir_hook'.
22891
22892 * fs/minix.c (grub_minix_get_file_block): Add prototype for
22893 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
22894 and `indir32' to silence a gcc warning.
22895
22896 * include/grub/fs.h (grub_hfs_init): New prototype.
22897 (grub_hfs_fini): Likewise.
f19dbdb7 22898
22899
97543f08 229002004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22901
22902 Each disk device has its own id now. This is useful to make use
22903 of multiple disk devices.
f19dbdb7 22904
97543f08 22905 * include/grub/disk.h (grub_disk_dev_id): New enum.
22906 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
22907 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
22908
22909 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
22910 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22911
22912 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
22913 GRUB_DISK_DEVICE_OFDISK_ID as an id.
22914
22915 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
22916 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
22917
22918 * include/grub/disk.h (struct grub_disk_dev): Added a new member
22919 "id" which is used by the cache manager.
22920
22921 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
22922 of just "GRUB".
22923
64372eb4 229242004-08-18 Marco Gerards <metgerards@student.han.nl>
22925
22926 * fs/hfs.c: New file.
22927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
22928 (grub_emu_SOURCES): Likewise.
22929 (pkgdata_MODULES): Add hfs.mod.
22930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
22931 (grubof_SOURCES): Likewise.
22932 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
22933
22934 * include/grub/misc.h (grub_strncasecmp): Add prototype.
22935 * kern/misc.c (grub_strncasecmp): Add function.
22936
cc61b58f 229372004-08-14 Marco Gerards <metgerards@student.han.nl>
22938
22939 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
22940 with parentheses.
22941
22942 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
22943 (grub_ext2_dir): In case the directory entry type is unknown, read
22944 it from the inode.
22945
0ef123f6 229462004-08-02 Peter Bruin <pjbruin@dds.nl>
22947
22948 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
22949 grub_load_linux instead of grub_rescue_cmd_linux as second
22950 argument of grub_rescue_register_command.
22951
22952 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
22953
a447c5df 229542004-07-27 Marco Gerards <metgerards@student.han.nl>
22955
22956 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
22957 function.
22958 * commands/boot.c: Remove the check for `GRUB_UTIL'.
22959 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22960 `loader/powerpc/ieee1275/linux.c',
22961 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
22962 * include/grub/powerpc/ieee1275/ieee1275.h
22963 (grub_ieee1275_release): New prototype.
22964 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
22965 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
22966 normal, boot, linux and linux_normal.
22967 * loader/powerpc/ieee1275/linux.c: New file.
22968 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22969
5a9e3546 229702004-07-12 Marco Gerards <metgerards@student.han.nl>
22971
22972 * normal/arg.c (grub_arg_parse): Correct error handling after
22973 reallocating the argumentlist (check if `argl' is not null instead
22974 of checking if `args' is not null).
22975 * kern/mm.c (grub_realloc): Return the same pointer when using the
22976 same region, instead of returning the header address.
22977
e15199cb 229782004-07-11 Marco Gerards <metgerards@student.han.nl>
22979
22980 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
22981 one block instead of two when looking for the initial partition.
22982 (grub_partition_probe): Initialize the local variable `p' with 0.
22983 Use base 10 for the grub_strtoul call.
22984 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
22985 need for one local variable.
22986 (grub_strtoul): Don't add the new value to `num', instead of that
22987 just assign it.
22988
020616c2 229892004-07-11 Marco Gerards <metgerards@student.han.nl>
22990
22991 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
22992 (pxeboot_img_SOURCES): New variable.
22993 (pxeboot_img_ASFLAGS): Likewise.
22994 (pxeboot_img_LDFLAGS): Likewise.
22995 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
22996 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
22997 <lode_leroy@hotmail.com>.
22998
6c51eb64 229992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23000
23001 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23002 there was no input.
23003
cfb12aff 230042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23005
23006 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23007 the history buffer logic.
23008
6eabba74 230092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23010
23011 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23012 (FILETYPE_INO_SYMLINK): New macros.
23013 (grub_ext2_find_file): Check if the node is a directory using the
23014 inode stat information instead of using the filetype in the
23015 dirent. Exclude the first character of an absolute symlink.
23016 (grub_ext2_dir): Mask out the filetype part of the mode member of
23017 the inode.
23018
66e19ef8 230192004-05-24 Marco Gerards <metgerards@student.han.nl>
23020
23021 Add support for UFS version 1 and 2. Add support for the minix
23022 filesystem version 1 and 2, both the variants with 14 and 30 long
23023 filenames.
f19dbdb7 23024
66e19ef8 23025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23026 fs/minix.c.
23027 (grub_emu_SOURCES): Likewise.
23028 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23029 (ufs_mod_SOURCES): New variable.
23030 (ufs_mod_CFLAGS): Likewise.
23031 (minix_mod_SOURCES): Likewise.
23032 (minix_mod_CFLAGS): Likewise.
23033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23034 fs/minix.c.
23035 (grubof_SOURCES): Likewise.
23036 * fs/ufs.c: New file.
23037 * fs/minix.c: New file.
23038 * include/grub/fs.h (grub_ufs_init): New prototype.
23039 (grub_ufs_fini): Likewise.
23040 (grub_minix_init): Likewise.
23041 (grub_minix_fini): Likewise.
23042 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23043 minix fs.
23044
cc2e748a 230452004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23046
23047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23048 commands/ls.c, commands/terminal.c, commands/boot.c,
23049 commands/cmp.c and commands/cat.c.
23050 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23051
23052 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23053 "env.h"
23054
4b13b216 230552004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23056
23057 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23058 and grub_, respectively. Because the conversion is trivial and
23059 mechanical, I omit the details here. Please refer to the CVS
23060 if you need more information.
23061
6a142551 230622004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23063
23064 * include/pupa: Renamed to ...
23065 * include/grub: ... this.
23066 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23067 * util/i386/pc/grub-mkimage.c: ... this.
23068 * util/i386/pc/pupa-setup.c: Renamed to ...
23069 * util/i386/pc/grub-setup.c: ... this.
23070 * util/pupa-emu.c: Renamed to ...
23071 * util/grub-emu.c: ... this.
23072
e56cdf21 230732004-03-29 Marco Gerards <metgerards@student.han.nl>
23074
23075 Add support for the newworld apple macintosh (PPC). This has been
23076 tested on the powerbook 2000 only. It only adds support for
23077 generic ieee1275 functions, console and disk support. This should
23078 be easy to port to other architectures with support for Open
23079 Firmware.
f19dbdb7 23080
e56cdf21 23081 * configure.ac: Accept the powerpc as host_cpu. In the case of
23082 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23083 specific tests are only executed while building for the i386.
23084 Inverse test for crosscompile.
23085 * genmk.rb (Utility): Allow assembler files.
23086 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23087 * conf/powerpc-ieee1275.rmk: New file.
23088 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23089 * disk/powerpc/ieee1275/partition.c: Likewise.
23090 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23091 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23092 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23093 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23094 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23095 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23096 * include/pupa/powerpc/ieee1275/loader.h
23097 * include/pupa/powerpc/setjmp.h: Likewise.
23098 * include/pupa/powerpc/types.h: Likewise.
23099 * kern/powerpc/ieee1275/init.c: Likewise.
23100 * kern/powerpc/ieee1275/openfw.c: Likewise.
23101 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23102
23103 These files were written by Johan Rydberg
23104 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23105
e56cdf21 23106 * boot/powerpc/ieee1275/cmain.c: New file.
23107 * boot/powerpc/ieee1275/crt0.S: Likewise.
23108 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23109 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23110
8c8cc205 231112004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23112
23113 * Makefile.in: Update copyright.
23114 * genmodsrc.sh: Likewise.
23115 * gensymlist.sh: Likewise.
23116 * term/i386/pc/vga.c: Indent correctly.
23117
23118 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23119 bugreporting address.
23120 * util/i386/pc/pupa-setup.c (usage): Likewise,
23121 (main): Call pupa_ext2_init and pupa_ext2_fini.
23122
f19dbdb7 23123 * fs/fat.c (log2): Renamed to ...
8c8cc205 23124 (fat_log2): ... this.
23125 All callers changed.
23126 * kern/misc.c (memcpy): Alias to pupa_memmove.
23127 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23128 lvalue cast.
23129 * util/console.c (pupa_ncurses_fini): Return 0.
23130
23131 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23132 Move fail label here.
23133 [__GNU__]: Don't warn when using stat.
23134 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23135 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23136 long int. Use strtol instead of strtoul.
f19dbdb7 23137
db1771cf 231382004-03-14 Marco Gerards <metgerards@student.han.nl>
23139
23140 * commands/boot.c: New file.
23141 * commands/cat.c: Likewise.
23142 * commands/cmp.c: Likewise.
23143 * commands/ls.c: Likewise.
23144 * commands/terminal.c: Likewise.
23145 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23146 (pupa_register_command): Changed interface to match the new
23147 argument parser.
23148 (pupa_command_execute): Changed (almost rewritten) so it uses
23149 pupa_split_command. Added support for setting variables using the
23150 syntax `foo=bar'.
23151 (rescue_command): Changed to work with the new argument parser.
23152 (terminal_command): Moved from here to commands/terminal.c.
23153 (set_command): New function.
23154 (unset_command): New function.
23155 (insmod_command): New function.
23156 (rmmod_command): New function.
23157 (lsmod_command): New function.
23158 (pupa_command_init): Don't initialize the command terminal
23159 anymore. Initialize the commands set, unset, insmod, rmmod and
23160 lsmod.
23161 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23162 (kernel_img_HEADERS): Add arg.h and env.h.
23163 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23164 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23165 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23166 normal/arg.c.
23167 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23168 terminal.mod.
23169 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23170 (boot_mod_SOURCES): New variable.
23171 (terminal_mod_SOURCES): Likewise.
23172 (ls_mod_SOURCES): Likewise.
23173 (cmp_mod_SOURCES): Likewise.
23174 (cat_mod_SOURCES): Likewise.
23175
23176 * normal/arg.c: New file.
23177 * kern/env.c: Likewise.
23178 * include/pupa/arg.h: Likewise.
23179 * include/pupa/env.h: Likewise.
23180 * font/manager.c (font_command): Changed to match argument parsing
23181 interface changes.
23182 (PUPA_MOD_INIT): Likewise.
23183 * hello/hello.c (pupa_cmd_hello): Likewise.
23184 (PUPA_MOD_INIT): Likewise.
23185 * include/pupa/disk.h: Include <pupa/device.h>.
23186 (pupa_print_partinfo): New prototype.
23187 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23188 (pupa_dl_get_prefix): Likewise.
23189 * include/pupa/misc.h: Include <pupa/err.h>.
23190 (pupa_isgraph): New prototype.
23191 (pupa_isdigit): Likewise.
23192 (pupa_split_cmdline): Likewise.
23193 * include/pupa/normal.h: Include <pupa/arg.h>.
23194 (pupa_command): Changed the prototype of the member `func' to
23195 match the argument parsing interface. Added member `options'.
23196 (pupa_register_command): Updated to match function.
23197 (pupa_arg_parse): New prototype.
23198 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23199 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23200 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23201 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23202 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23203 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23204 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23205 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23206 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23207 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23208 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23209 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23210 * kern/disk.c: Include <pupa/file.h>.
23211 (pupa_print_partinfo): New function.
23212 * kern/dl.c: Include <pupa/env.h>.
23213 (pupa_dl_dir): Variable removed.
23214 (pupa_dl_load): Use the environment variable `prefix' instead of
23215 the variable pupa_dl_dir.
23216 (pupa_dl_set_prefix): Function removed.
23217 (pupa_dl_get_prefix): Likewise.
23218 * kern/i386/pc/init.c: Include <pupa/env.h>.
23219 (pupa_machine_init): Use the environment variable `prefix' instead of
23220 using pupa_dl_set_prefix to set the prefix.
23221 * kern/main.c: Include <pupa/env.h>.
23222 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23223 using pupa_dl_get_prefix to get the prefix.
23224 * kern/misc.c: Include <pupa/env.h>.
23225 (pupa_isdigit): New function.
23226 (pupa_isgraph): Likewise.
23227 (pupa_ftoa): Likewise.
23228 (pupa_vsprintf): Added support for printing values of the type
23229 `double'. Make it possible to format variable output when using
23230 formatting like `%1.2%f'.
23231 (pupa_split_cmdline): New function.
23232 * kern/rescue.c: Include <pupa/env.h>.
23233 (next_word): Removed function.
23234 (pupa_rescue_cmd_prefix): Likewise.
23235 (pupa_rescue_cmd_set): New function.
23236 (pupa_rescue_cmd_unset): New function.
23237 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23238 split the command line instead of splitting it here. Added
23239 support for setting variables using the syntax `foo=bar'. Don't
23240 initialize the prefix command anymore. Initialized the set and
23241 unset commands.
23242 * normal/cmdline.c: Include <pupa/env.h>.
23243 (pupa_tab_complete): Added prototypes for print_simple_completion,
23244 print_partition_completion, add_completion, iterate_commands,
23245 iterate_dev, iterate_part and iterate_dir. Moved code to print
23246 partition information from here to kern/disk.c.
fe6b695a 23247 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23248 * normal/main.c: Include <pupa/env.h>.
23249 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23250 instead of using pupa_dl_get_prefix to get the prefix.
23251 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23252 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23253 warning.
23254 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23255 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23256 ((unused))' to silence a gcc warning.
23257 (pupa_vga_setcolor): Likewise.
23258 (debug_command): Changed to match argument parsing
23259 interface changes.
23260 * util/pupa-emu.c: Include <pupa/env.h>.
23261 (options): Added 0's for unused fields to silence a gcc warning.
23262 (argp): Likewise.
23263 (main): Use the environment variable `prefix' instead of using
23264 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23265 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23266 and terminal.
23267
23268 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23269 * util/misc.c: Include <malloc.h>.
23270 (pupa_malloc): Rewritten so errors are correctly reported.
23271 (pupa_realloc): Likewise.
23272 (pupa_memalign): Likewise.
23273 (pupa_mm_init_region): Declare unused variables with
23274 `__attribute__ ((unused))' to silence a gcc warning.
23275 * normal/i386/setjmp.S: Remove tab at the end of the file to
23276 silence a gcc warning.
23277 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23278 variables with `__attribute__ ((unused))' to silence a gcc
23279 warning.
23280 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23281 local variable i unsigned to silence a gcc warning.
23282
23283 * kern/term.c: Include <pupa/misc.h>.
23284 (pupa_more_lines): New variable.
23285 (pupa_more): Likewise.
23286 (pupa_putcode): When the pager is active pause at the end of every
23287 screen.
23288 (pupa_set_more): New function.
23289 * include/pupa/term.h (pupa_set_more): New prototype.
23290
23291
3b1139cb 232922004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23293
23294 Now this project is GRUB 2 rather than PUPA. The location of
23295 the CVS repository was moved to GRUB's.
f19dbdb7 23296
3b1139cb 23297 * configure.ac: Use bug-grub as the reporting address.
23298 Use GRUB instead of PUPA.
23299 Change the version number to 1.90.
23300
8367695c 233012004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23302
23303 * genkernsyms.sh: Updated copyright information.
23304 * genmk.rb: Likewise.
23305 * genmodsrc.sh: Likewise.
23306 * gensymlist.sh: Likewise.
23307 * boot/i386/pc/boot.S: Likewise.
23308 * boot/i386/pc/diskboot.S: Likewise.
23309 * disk/i386/pc/biosdisk.c: Likewise.
23310 * disk/i386/pc/partition.c: Likewise.
23311 * font/manager.c: Likewise.
23312 * fs/ext2.c: Likewise.
23313 * fs/fat.c: Likewise.
23314 * include/pupa/boot.h: Likewise.
23315 * include/pupa/device.h: Likewise.
23316 * include/pupa/disk.h: Likewise.
23317 * include/pupa/dl.h: Likewise.
23318 * include/pupa/elf.h: Likewise.
23319 * include/pupa/err.h: Likewise.
23320 * include/pupa/file.h: Likewise.
23321 * include/pupa/font.h: Likewise.
23322 * include/pupa/fs.h: Likewise.
23323 * include/pupa/kernel.h: Likewise.
23324 * include/pupa/loader.h: Likewise.
23325 * include/pupa/misc.h: Likewise.
23326 * include/pupa/mm.h: Likewise.
23327 * include/pupa/net.h: Likewise.
23328 * include/pupa/normal.h: Likewise.
23329 * include/pupa/rescue.h: Likewise.
23330 * include/pupa/setjmp.h: Likewise.
23331 * include/pupa/symbol.h: Likewise.
23332 * include/pupa/term.h: Likewise.
23333 * include/pupa/types.h: Likewise.
23334 * include/pupa/i386/setjmp.h: Likewise.
23335 * include/pupa/i386/types.h: Likewise.
23336 * include/pupa/i386/pc/biosdisk.h: Likewise.
23337 * include/pupa/i386/pc/boot.h: Likewise.
23338 * include/pupa/i386/pc/console.h: Likewise.
23339 * include/pupa/i386/pc/init.h: Likewise.
23340 * include/pupa/i386/pc/kernel.h: Likewise.
23341 * include/pupa/i386/pc/linux.h: Likewise.
23342 * include/pupa/i386/pc/loader.h: Likewise.
23343 * include/pupa/i386/pc/memory.h: Likewise.
23344 * include/pupa/i386/pc/multiboot.h: Likewise.
23345 * include/pupa/i386/pc/partition.h: Likewise.
23346 * include/pupa/i386/pc/time.h: Likewise.
23347 * include/pupa/i386/pc/vga.h: Likewise.
23348 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
23349 * include/pupa/util/getroot.h: Likewise.
23350 * include/pupa/util/misc.h: Likewise.
23351 * include/pupa/util/resolve.h: Likewise.
23352 * kern/device.c: Likewise.
23353 * kern/disk.c: Likewise.
23354 * kern/dl.c: Likewise.
23355 * kern/err.c: Likewise.
23356 * kern/file.c: Likewise.
23357 * kern/fs.c: Likewise.
23358 * kern/loader.c: Likewise.
23359 * kern/main.c: Likewise.
23360 * kern/misc.c: Likewise.
23361 * kern/mm.c: Likewise.
23362 * kern/rescue.c: Likewise.
23363 * kern/term.c: Likewise.
23364 * kern/i386/dl.c: Likewise.
23365 * kern/i386/pc/init.c: Likewise.
23366 * kern/i386/pc/lzo1x.S: Likewise.
23367 * kern/i386/pc/startup.S: Likewise.
23368 * loader/i386/pc/chainloader.c: Likewise.
23369 * loader/i386/pc/linux.c: Likewise.
23370 * loader/i386/pc/multiboot.c: Likewise.
23371 * normal/cmdline.c: Likewise.
23372 * normal/command.c: Likewise.
23373 * normal/main.c: Likewise.
23374 * normal/menu.c: Likewise.
23375 * normal/i386/setjmp.S: Likewise.
23376 * term/i386/pc/console.c: Likewise.
23377 * term/i386/pc/vga.c: Likewise.
23378 * util/console.c: Likewise.
23379 * util/genmoddep.c: Likewise.
23380 * util/misc.c: Likewise.
23381 * util/pupa-emu.c: Likewise.
23382 * util/resolve.c: Likewise.
23383 * util/unifont2pff.rb: Likewise.
23384 * util/i386/pc/biosdisk.c: Likewise.
23385 * util/i386/pc/getroot.c: Likewise.
23386 * util/i386/pc/pupa-mkimage.c: Likewise.
23387 * util/i386/pc/pupa-setup.c: Likewise.
23388
e6eced71 233892004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
23390
23391 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
23392 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
23393 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
23394 reading and reset it after reading.
23395 (pupa_ext2_close): Return PUPA_ERR_NONE.
23396
23397 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
23398 Correct value.
23399 (struct linux_kernel_header): Add kernel_version and
23400 initrd_addr_max.
23401 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
23402 pupa_file_read succeeds.
23403 (pupa_rescue_cmd_initrd): Implement.
23404
5aded270 234052003-12-03 Marco Gerards <metgerards@student.han.nl>
23406
23407 * fs/ext2.c (pupa_ext2_label): New function.
23408 (pupa_ext2_fs): Added label.
23409 * fs/fat.c (pupa_fat_label): New function.
23410 (pupa_fat_fs): Added label.
23411 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
23412
23413 * kern/misc.c (pupa_strndup): New function.
23414 * include/pupa/misc.h (pupa_strndup): New prototype.
23415
23416 * include/pupa/normal.h: Include <pupa/err.h>.
23417 (pupa_set_history): New prototype.
23418 (pupa_iterate_commands): New prototype.
23419 * normal/cmdline.c: Include <pupa/machine/partition.h>,
23420 <pupa/disk.h>, <pupa/file.h>.
23421 (hist_size): New variable.
23422 (hist_lines): Likewise.
23423 (hist_end): Likewise.
23424 (hist_used): Likewise.
23425 (pupa_set_history): New function.
23426 (pupa_history_get): Likewise.
23427 (pupa_history_add): Likewise.
23428 (pupa_history_replace): Likewise.
23429 (pupa_tab_complete): Likewise.
23430 (pupa_cmdline_run): Added tab completion and history buffer. Tab
23431 completion shows partitionnames while completing partitions, this
23432 feature was suggested by Jeff Bailey.
23433 * normal/command.c (pupa_iterate_commands): New function.
23434 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
23435 (pupa_normal_init): Initialize history buffer.
23436 (PUPA_MOD_INIT): Likewise.
23437 (pupa_normal_fini): Free the history buffer.
23438 (PUPA_MOD_FINI): Likewise.
23439
23440 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
23441 key.
23442
23443 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
23444 * configure.ac [i386]: Check for regparam bug.
23445 (NESTED_FUNC_ATTR) [! i386]: Defined.
23446
1f7315a3 234472003-11-17 Marco Gerards <metgerards@student.han.nl>
23448
23449 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
23450 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
23451 (pupa_emu_SOURCES): New variable.
23452 (pupa_emu_LDFLAGS): Likewise.
23453 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
23454 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
23455 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
23456 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23457 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
23458 (pupa_jmp_buf): New typedef.
23459 (pupa_setjmp) [PUPA_UTIL]: New macro.
23460 (pupa_longjmp) [PUPA_UTIL]: Likewise.
23461 * include/pupa/term.h (struct pupa_term): New member `refresh'.
23462 (pupa_refresh): New prototype.
23463 * include/pupa/util/getroot.h: New file.
23464 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
23465 it.
23466 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
23467 (pupa_rescue_cmd_cat): Likewise.
23468 (pupa_rescue_cmd_ls): Likewise.
23469 (pupa_rescue_cmd_testload): Likewise.
23470 (pupa_rescue_cmd_lsmod): Likewise.
23471 * normal/cmdline.c (pupa_cmdline_get): Likewise.
23472 * normal/menu.c (run_menu): Likewise.
23473 * kern/term.c (pupa_cls): Likewise.
23474 (pupa_refresh): New function.
23475 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
23476 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23477 * util/console.c: New file.
f19dbdb7 23478
1f7315a3 23479 * util/i386/pc/getroot.c: New file.
23480 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
23481 (pupa_putchar): New function.
23482 (pupa_refresh): Likewise.
23483 (xgetcwd): Function moved to ...
23484 (strip_extra_slashes): Likewise.
23485 (get_prefix): Likewise.
f19dbdb7 23486 * util/i386/pc/getroot.c: ... here.
1f7315a3 23487 (find_root_device): Function moved and renamed to...
23488 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
23489 Changed all callers.
23490 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
23491 and renamed to...
23492 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
23493 Changed all callers.
23494 * util/misc.c (pupa_memalign): New function.
23495 (pupa_mm_init_region): Likewise.
23496 (pupa_register_exported_symbols): Likewise.
23497 (pupa_putchar): Function removed.
23498 * util/pupa-emu.c: New file.
23499
9a5c1ade 235002003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
23501
23502 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
23503 (_multiboot_mod_SOURCES): New variable.
23504 (_multiboot_mod_CFLAGS): Likewise.
23505 * loader/i386/pc/multiboot.c: New file.
23506 * include/pupa/i386/pc/multiboot.h: Likewise.
23507 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
23508 (pupa_multiboot_real_boot): New function.
23509 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
23510 (pupa_multiboot_real_boot): New prototype.
23511 (pupa_rescue_cmd_multiboot): Likewise
23512 (pupa_rescue_cmd_module): Likewise.
23513
23514 * kern/loader.c (pupa_loader_set): Continue when
23515 pupa_loader_unload_func() fails.
23516 (pupa_loader_unset): New function.
23517 * include/pupa/loader.h (pupa_loader_unset): New prototype.
23518
23519 * kern/misc.c (pupa_stpcpy): New function.
23520 * include/pupa/misc.h (pupa_stpcpy): New prototype.
23521
8e72a9c0 235222003-11-12 Marco Gerards <metgerards@student.han.nl>
23523
23524 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
23525 for available extensions.
23526
23527 * include/pupa/i386/pc/time.h: New file.
23528 * kern/disk.c: Include <pupa/machine/time.h>.
23529 (PUPA_CACHE_TIMEOUT): New macro.
23530 (pupa_last_time): New variable.
23531 (pupa_disk_open): Flush the cache when there was a timeout.
23532 (pupa_disk_close): Reset the timer.
23533 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
23534 pupa_currticks.
23535 * util/misc.c: Include <sys/times.h>
23536 (pupa_get_rtc): New function.
23537
c4adbd32 235382003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23539
23540 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
23541 as blocks.
23542 (pupa_ext2_get_file_block): Use blocks member.
23543
23544 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
23545 first block. Return -1 instead of pupa_errno on error.
23546
bfd30f06 235472003-10-27 Marco Gerards <metgerards@student.han.nl>
23548
23549 * README: In the pupa-mkimage example use _chain instead of chain
23550 and ext2 instead of fat.
23551 * TODO: Replace ext2fs with jfs as an example. Add an item for
23552 adding journal playback for ext2fs.
23553 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
23554 (pkgdata_MODULES): Added ext2.mod.
23555 (ext2_mod_SOURCES): New variable.
23556 (ext2_mod_CFLAGS): Likewise.
23557 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
23558 * include/pupa/misc.h (pupa_strncpy): New prototype.
23559 (pupa_strcat): Likewise.
23560 (pupa_strncmp): Likewise.
23561 * kern/misc.c (pupa_strcat): Enable function.
23562 (pupa_strncpy): New function.
23563 (pupa_strncmp): Likewise.
23564 * fs/ext2.c: New file.
f19dbdb7 23565
bfd30f06 23566 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
23567 when the read failed before retrying.
23568 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
23569 (_FILE_OFFSET_BITS): Likewise.
23570 * configure.ac: Added AC_SYS_LARGEFILE.
23571
98d15063 235722003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23573
23574 * genmk.rb (PModule#rule): Make sure to get only symbol names
23575 from the output of nm.
23576 Reported by Robert Millan <zeratul2@wanadoo.es>.
23577
18d9c7cd 235782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23579
23580 I forgot to check in these changes for a long time. This adds
23581 incomplete support for VGA console, and this is still very
23582 buggy. Also, a lot of consideration is required for I18N,
23583 UNICODE, and VGA font issues. Therefore, assume that this is
23584 such that "better than nothing".
f19dbdb7 23585
18d9c7cd 23586 * font/manager.c: New file.
23587 * include/pupa/font.h: Likewise.
23588 * include/pupa/i386/pc/vga.h: Likewise.
23589 * term/i386/pc/vga.c: Likewise.
23590 * util/unifont2pff.rb: Likewise.
23591
23592 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
23593 (pkgdata_MODULES): Added vga.mod and font.mod.
23594 (vga_mod_SOURCES): New variables.
23595 (vga_mod_CFLAGS): Likewise.
23596 (font_mod_SOURCES): Likewise.
23597 (font_mod_CFLAGS): Likewise.
23598
23599 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
23600
23601 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 23602 (struct pupa_term): Added init and fini.
18d9c7cd 23603 Changed the argument of putchar to pupa_uint32_t.
23604
23605 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
23606 (pupa_console_real_putchar): New prototype.
23607 (pupa_console_putchar): Removed.
23608 (pupa_console_checkkey): Exported.
23609 (pupa_console_getkey): Likewise.
23610
23611 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
23612 characters.
23613
23614 * kern/term.c (pupa_term_set_current): Rewritten.
23615 (pupa_putchar): Likewise.
23616 (pupa_putcode): New function.
23617
23618 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
23619 (pupa_console_real_putchar): ... this.
23620 (pupa_vga_set_mode): New function.
23621 (pupa_vga_get_font): Likewise.
23622
23623 * normal/command.c: Include pupa/term.h.
23624 (terminal_command): New function.
23625 (pupa_command_init): Register the command "terminal".
23626
23627 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
23628 (DISP_UP): Likewise.
23629 (DISP_RIGHT): Likewise.
23630 (DISP_DOWN): Likewise.
23631 (DISP_HLINE): Likewise.
23632 (DISP_VLINE): Likewise.
23633 (DISP_UL): Likewise.
23634 (DISP_UR): Likewise.
23635 (DISP_LL): Likewise.
23636 (DISP_LR): Likewise.
23637
23638 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 23639
977329f5 236402003-02-08 NIIBE Yutaka <gniibe@m17n.org>
23641
23642 * util/resolve.c (pupa_util_resolve_dependencies): BUG
23643 FIX. Reverse the path_list.
23644
23645 * include/pupa/normal.h: Export pupa_register_command and
23646 pupa_unregister_command.
23647
23648 * hello/hello.c (pupa_cmd_hello): New module.
23649 * conf/i386-pc.rmk: Added hello.mod.
23650
1f5ab428 236512003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
23652
23653 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 23654
1f5ab428 23655 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
23656 (compress_kernel): New variable.
23657 (generate_image): Heavily modified to support compressing a
23658 large part of the core image.
23659
23660 * util/misc.c (pupa_util_read_image): Fix a file descriptor
23661 leak.
23662 (pupa_util_load_image): New function.
23663
23664 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
23665 (pupa_compressed_size): New variable.
23666 (codestart): Enable Gate A20 here.
23667 Decompress the compressed part of the core image.
23668 Rearrange the code to put functions and variables which are
23669 required for initialization in the non-compressed part.
23670 Include lzo1x.S.
23671
23672 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
23673 here.
23674
23675 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
23676
f19dbdb7 23677 * include/pupa/i386/pc/kernel.h
1f5ab428 23678 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
23679 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
23680 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23681 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23682 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
23683
23684 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
23685
23686 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
23687 (Utility#rule): Likewise.
23688
23689 * configure.ac: Check if LZO is available.
23690
ce5bf700 236912003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
23692
23693 * include/pupa/normal.h: New file.
23694 * include/pupa/setjmp.h: Likewise.
23695 * include/pupa/i386/setjmp.h: Likewise.
23696 * normal/cmdline.c: Likewise.
23697 * normal/command.c: Likewise.
23698 * normal/main.c: Likewise.
23699 * normal/menu.c: Likewise.
23700 * normal/i386/setjmp.S: Likewise.
f19dbdb7 23701
ce5bf700 23702 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
23703 (pupa_rescue_cmd_initrd): Likewise.
23704
23705 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
23706 Likewise.
23707
23708 * kern/i386/pc/startup.S (translation_table): New variable.
23709 (translate_keycode): New function.
23710 (pupa_console_getkey): Call translate_keycode.
23711
23712 * kern/rescue.c (attempt_normal_mode): New function.
23713 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
23714 it failed, print a message.
23715
23716 * kern/mm.c (pupa_real_malloc): Print more information when a
23717 free magic is broken.
23718 (pupa_free): If the first free header is not free actually, set
23719 it to P.
23720
23721 * kern/main.c (pupa_load_normal_mode): Just load the module
23722 "normal".
23723 (pupa_main): Don't print the message
23724 "Entering into rescue mode..." here.
23725
23726 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23727 Declared.
23728 (pupa_rescue_cmd_initrd): Likewise.
23729 (pupa_rescue_cmd_initrd): Likewise.
23730
23731 * include/pupa/symbol.h (FUNCTION): Specify the type.
23732 (VARIABLE): Likewise.
23733
23734 * include/pupa/err.h (pupa_err_t): Added
23735 PUPA_ERR_UNKNOWN_COMMAND.
23736
23737 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23738 (pupa_dl_get_prefix): Likewise.
23739
23740 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23741 Added _chain.mod and _linux.mod instead of chain.mod and
23742 linux.mod.
23743 (chain_mod_SOURCES): Renamed to ...
23744 (_chain_mod_SOURCES): ... this.
23745 (chain_mod_CFLAGS): Renamed to ...
23746 (_chain_mod_CFLAGS): ... this.
23747 (linux_mod_SOURCES): Renamed to ...
23748 (_linux_mod_SOURCES): ... this.
23749 (linux_mod_CFLAGS): Renamed to ...
23750 (_linux_mod_CFLAGS): ... this.
23751 (normal_mod_SOURCES): New variable.
23752 (normal_mod_CFLAGS): Likewise.
23753 (normal_mod_ASFLAGS): Likewise.
23754
237552003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23756
23757 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23758 possible.
23759
fe6b695a 23760 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23761 recursively.
23762 (pupa_dl_unref): Unrefer depending modules recursively.
23763 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23764 a module is unloaded before one depending on that module is
23765 unloaded.
23766 (pupa_dl_unload): Unload depending modules explicitly,
23767 if possible.
23768
c04da074 237692003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23770
23771 * include/pupa/i386/pc/linux.h: New file.
23772 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23773
c04da074 23774 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23775 Removed.
23776 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23777 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23778 of PUPA_CHAINLOADER_BOOT_SECTOR.
23779
23780 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23781 (pupa_linux_prot_size): New variable.
23782 (pupa_linux_tmp_addr): Likewise.
23783 (pupa_linux_real_addr): Likewise.
23784 (pupa_linux_boot_zimage): New function.
23785 (pupa_linux_boot_bzimage): Likewise.
23786
23787 * kern/i386/pc/init.c (struct mem_region): New structure.
23788 (MAX_REGIONS): New macro.
23789 (mem_regions): New variable.
23790 (num_regions): Likewise.
23791 (pupa_os_area_addr): Likewise.
23792 (pupa_os_area_size): Likewise.
23793 (pupa_lower_mem): Likewise.
23794 (pupa_upper_mem): Likewise.
23795 (add_mem_region): New function.
23796 (compact_mem_regions): Likewise.
23797 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23798 the size of the conventional memory and that of so-called upper
23799 memory (before the first memory hole).
23800 Instead of adding each found region to free memory, use
23801 add_mem_region and add them after removing overlaps.
23802 Also, add only 1/4 of the upper memory to free memory. The rest
23803 is used for loading OS images. Maybe this is ad hoc, but this
23804 makes it much easier to relocate OS images when booting.
23805
23806 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
23807 (pupa_enter_rescue_mode): Don't register initrd and module.
23808
23809 * kern/mm.c: Include pupa/dl.h.
23810
23811 * kern/main.c: Include pupa/file.h and pupa/device.h.
23812
23813 * kern/loader.c (pupa_loader_load_module_func): Removed.
23814 (pupa_loader_load_module): Likewise.
23815
23816 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
23817 ``.o''.
23818
23819 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
23820 (pupa_linux_tmp_addr): Likewise.
23821 (pupa_linux_real_addr): Likewise.
23822 (pupa_linux_boot_zimage): Likewise.
23823 (pupa_linux_boot_bzimage): Likewise.
23824
23825 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
23826 (pupa_upper_mem): Likewise.
23827 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
23828 module is too dangerous.
23829
23830 * include/pupa/loader.h (pupa_os_area_addr): Declared.
23831 (pupa_os_area_size): Likewise.
23832 (pupa_loader_set): Remove the first argument. Loader doesn't
23833 manage modules or initrd any longer.
23834 (pupa_loader_load_module): Removed.
23835
23836 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
23837 (linux_mod_SOURCES): New variable.
23838 (linux_mod_CFLAGS): Likewise.
23839
a13f9237 238402003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
23841
23842 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
23843 the length of a blocklist correctly.
23844
23845 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
23846 Use ioctl only if the OS file is a block device.
23847 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
23848 not very useful for normal files.
23849
23850 * kern/main.c (pupa_set_root_dev): New function.
23851 (pupa_load_normal_mode): Likewise.
23852 (pupa_main): Call those above.
23853
23854 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
23855 pupa_uint16_t.
23856
23857 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
23858
a5ffe966 238592003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
23860
23861 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
23862 (setup): Configure the installed partition information and the
23863 dl prefix.
23864
23865 * loader/i386/pc/chainloader.c (my_mod): New variable.
23866 (pupa_chainloader_unload): New function.
23867 (pupa_rescue_cmd_chainloader): Refer itself.
23868 (PUPA_MOD_INIT): Save its own module in MY_MOD.
23869
23870 * kern/i386/pc/startup.S (install_partition): Removed.
23871 (version_string): Likewise.
23872 (config_file): Likewise.
23873 (pupa_install_dos_part): New variable.
23874 (pupa_install_bsd_part): Likewise.
23875 (pupa_prefix): Likewise.
23876 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
23877
23878 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
23879 and pupa/misc.h.
23880 (make_install_device): New function.
23881 (pupa_machine_init): Set the dl prefix.
23882
23883 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
23884 (buf): Renamed to ...
23885 (linebuf): ... this.
23886 (pupa_rescue_cmd_prefix): New function.
23887 (pupa_rescue_cmd_insmod): Likewise.
23888 (pupa_rescue_cmd_rmmod): Likewise.
23889 (pupa_rescue_cmd_lsmod): Likewise.
23890 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
23891 rmmod and lsmod.
23892
23893 * kern/mm.c (pupa_memalign): If failed even after invalidating
23894 disk caches, unload unneeded modules and retry.
23895
23896 * kern/misc.c (pupa_memmove): New function.
23897 (pupa_memcpy): Removed.
23898 (pupa_strcpy): New function.
23899 (pupa_itoa): Made static.
23900
23901 * kern/dl.c (pupa_dl_iterate): New function.
23902 (pupa_dl_ref): Likewise.
23903 (pupa_dl_unref): Likewise.
23904 (pupa_dl_unload): Return if succeeded or not.
23905 (pupa_dl_unload_unneeded): New function.
23906 (pupa_dl_unload_all): Likewise.
23907 (pupa_dl_init): Renamed to ...
23908 (pupa_dl_set_prefix): ... this.
23909 (pupa_dl_get_prefix): New function.
23910
23911 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
23912 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
23913 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23914 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23915 (pupa_install_dos_part): Declared.
23916 (pupa_install_bsd_part): Likewise.
23917 (pupa_prefix): Likewise.
23918 (pupa_boot_drive): Likewise.
23919
23920 * include/pupa/types.h: Fix a typo.
23921
23922 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
23923 pupa_memmove.
23924 (pupa_memmove): Declared.
23925 (pupa_strcpy): Likewise.
23926
23927 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
23928 pupa_mod_init takes one argument, its own module.
23929 (pupa_dl_unload_unneeded): Declared.
23930 (pupa_dl_unload_all): Likewise.
23931 (pupa_dl_ref): Likewise.
23932 (pupa_dl_unref): Likewise.
23933 (pupa_dl_iterate): Likewise.
23934 (pupa_dl_init): Renamed to ...
23935 (pupa_dl_set_prefix): ... this.
23936 (pupa_dl_get_prefix): Declared.
23937
23938 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 23939 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 23940 unloaded.
23941 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
23942 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
23943
23944 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
23945 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
23946
012d7999 239472003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23948
23949 * util/i386/pc/pupa-setup.c (setup): Define the internal
23950 function find_first_partition_start at the top level, because GCC
23951 3.0.x cannot compile internal functions in deeper scopes
23952 correctly.
23953 (find_root_device): Use lstat instead of stat.
23954 Don't follow symbolic links.
23955 Fix the path-constructing code.
23956
23957 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
23958 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
23959 by a BLKGETSIZE ioctl first, because block devices don't fill
23960 the member st_mode of the structure stat on Linux.
23961 [__linux__] (linux_find_partition): Use a temporary buffer
23962 REAL_DEV for the working space. Copy it to DEV before returning.
23963 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
23964 buffer cache consistent.
23965 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
23966 strncmp. The previous value was merely wrong.
23967 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
23968
23969 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
23970 FAT size is 12. The previous value was merely wrong.
23971
23972 * kern/main.c (pupa_main): Don't split the starting message from
23973 newlines.
23974
23975 * kern/term.c (pupa_putchar): Put CR after LF instead of before
23976 LF, because BIOS goes crazy about character attributes in this
23977 case.
23978
1cc73a62 239792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
23980
23981 * include/i386/pc/util/biosdisk.h: New file.
23982 * util/i386/pc/biosdisk.c: Likewise.
23983 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 23984
1cc73a62 23985 * Makefile.in (INCLUDE_DISTFILES): Added
23986 include/pupa/i386/pc/util/biosdisk.h.
23987 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
23988 directory util/i386/pc.
23989 (install-local): Added a rule for sbin_UTILITIES.
23990 (uninstall): Likewise.
23991
23992 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
23993
23994 * util/misc.c (xrealloc): New function.
23995 (pupa_malloc): Likewise.
23996 (pupa_free): Likewise.
23997 (pupa_realloc): Likewise.
23998 (pupa_stop): Likewise.
23999 (pupa_putchar): Likewise.
24000
24001 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24002
24003 * include/pupa/util/misc.h (xrealloc): Declared.
24004
24005 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24006 macro.
24007 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24008 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24009
24010 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24011 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24012
24013 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24014 way should be implemented.
24015 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24016
24017 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24018 the size of NAME for safety.
24019 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24020 0x88.
24021
24022 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24023 (pupa_setup_SOURCES): Likewise.
24024
24025 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24026
08b70fe8 240272002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24028
24029 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24030 bunch of pushl's from pusha, because this destroys the return
24031 value.
24032
62ddcc8f 240332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24034
24035 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24036 This means that any missing prototypes could be fatal. Also, you
24037 must take care when writing assembly code. See the comments at
24038 the beginning of startup.S, for more details.
f19dbdb7 24039
62ddcc8f 24040 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24041 compilation mechanism.
24042 (pupa_chainloader_real_boot): Likewise.
24043 (pupa_biosdisk_rw_int13_extensions): Likewise.
24044 (pupa_biosdisk_rw_standard): Likewise.
24045 (pupa_biosdisk_check_int13_extensions): Likewise.
24046 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24047 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24048 (pupa_get_memsize): Likewise.
24049 (pupa_get_mmap_entry): Likewise.
24050 (pupa_console_putchar): Likewise.
24051 (pupa_console_setcursor): Likewise.
24052 (pupa_getrtsecs): Use pushl instead of push.
24053
24054 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24055 memory instead of the stack for a mmap entry, because some
24056 BIOSes may ignore the maximum size and overflow.
24057
24058 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24059
24060 * genmk.rb (PModule#rule): Compile automatically generated
24061 sources with module-specific CFLAGS as well as other sources.
24062
9962ed99 240632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24064
24065 * configure.ac: Check ld.
24066 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24067 respectively, before checking endianness and sizes.
24068
24069 * Makefile.in (LD): New variable.
f19dbdb7 24070
abdfc3c5 240712002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24072
24073 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24074
6a161fa9 240752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24076
24077 * Changelog: New file.
24078