]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-01-20 Felix Zielcke <fzielcke@z-51.de>
[grub2.git] / ChangeLog
CommitLineData
67eb1427
FZ
12010-01-20 Felix Zielcke <fzielcke@z-51.de>
2
3 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4 around for handling "/" to the correct fix. Fix a memory leak. Use
5 xstrdup instead of strdup.
6
a9ed4ff3
VS
72010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10
112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
12
13 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14
15 * font/font.c (struct grub_font): New member 'bmp_idx'.
16 (font_init): Initialise 'bmp_idx'.
17 (load_font_index): Fill 'bmp_idx'.
18 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19
48209f4f
VS
202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23 unnecessary calls.
24
9f0a4bb7
VS
252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Move context handling out of the kernel.
28
29 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
32 * conf/i386-efi.rmk: Likewise.
33 * conf/i386-ieee1275.rmk: Likewise.
34 * conf/i386-pc.rmk: Likewise.
35 * conf/powerpc-ieee1275.rmk: Likewise.
36 * conf/sparc64-ieee1275.rmk: Likewise.
37 * conf/x86_64-efi.rmk: Likewise.
38 * include/grub/env.h: Include grub/menu.h.
39 (grub_env_var_type): Removed.
40 (grub_env_var): Replaced field 'type' with 'global'.
41 (grub_env_find): New prototype.
42 (grub_env_context_open): Remove EXPORT_FUNC.
43 (grub_env_context_close): Likewise.
44 (grub_env_export): Likewise.
45 (grub_env_set_data_slot): Removed.
46 (grub_env_get_data_slot): Likewise.
47 (grub_env_unset_data_slot): Likewise.
48 (grub_env_unset_menu): New prototype.
49 (grub_env_set_menu): Likewise.
50 (grub_env_get_menu): Likewise.
51 * include/grub/env_private.h: New file.
52 * include/grub/normal.h (grub_context_init): New prototype.
53 (grub_context_fini): Likewise.
54 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
55 * normal/context.c (grub_cmd_export): ... to here.
56 * kern/env.c: Include env_private.h.
57 (HASHSZ): Moved to include/grub/env_private.h.
58 (grub_env_context): Likewise.
59 (grub_env_sorted_var): Likewise.
60 (current_context): Renamed from this ...
61 (grub_current_context): ...to this. 'static' removed. All users updated.
62 (grub_env_find): Removed 'static'.
63 (grub_env_context_open): Moved to normal/context.c.
64 (grub_env_context_close): Likewise.
65 (grub_env_export): Likewise.
66 (mangle_data_slot_name): Removed.
67 (grub_env_set_data_slot): Likewise.
68 (grub_env_get_data_slot): Likewise.
69 (grub_env_unset_data_slot): Likewise.
70 * kern/main.c (grub_set_root_dev): Don't export root.
71 It will be done later.
72 (grub_main): Don't export prefix.
73 It will be done later.
74 * normal/context.c: New file.
75 * normal/main.c (free_menu): Use grub_env_unset_menu.
76 (grub_normal_add_menu_entry): Use grub_env_get_menu.
77 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
78 (GRUB_MOD_INIT(normal)): Call grub_context_init.
79 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
80
8dd35b8c
VS
812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
82
83 setpci support.
84
85 * commands/setpci.c: New file.
86 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
87 (setpci_mod_SOURCES): New variable.
88 (setpci_mod_CFLAGS): Likewise.
89 (setpci_mod_LDFLAGS): Likewise.
90
449193d5
VS
912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Byte-addressable PCI configuration space.
94
95 * bus/pci.c (grub_pci_make_address): Use byte address instead of
96 dword address.
97 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
98 GRUB_PCI_REG_CACHELINE.
99 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
100 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
101 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
102 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
103 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
104 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
105 grub_pci_make_address.
106 (lock_rom_area): Likewise.
107 * commands/lspci.c (grub_lspci_iter): Use macroses
108 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
109 of grub_pci_make_address.
110 * disk/ata.c (grub_ata_pciinit): Likewise.
111 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
112 (GRUB_PCI_REG_VENDOR): Likewise.
113 (GRUB_PCI_REG_DEVICE): Likewise.
114 (GRUB_PCI_REG_COMMAND): Likewise.
115 (GRUB_PCI_REG_STATUS): Likewise.
116 (GRUB_PCI_REG_REVISION): Likewise.
117 (GRUB_PCI_REG_CLASS): Likewise.
118 (GRUB_PCI_REG_CACHELINE): Likewise.
119 (GRUB_PCI_REG_LAT_TIMER): Likewise.
120 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
121 (GRUB_PCI_REG_BIST): Likewise.
122 (GRUB_PCI_REG_ADDRESSES): Likewise.
123 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
124 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
125 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
126 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
127 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
128 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
129 (GRUB_PCI_REG_CIS_POINTER): Likewise.
130 (GRUB_PCI_REG_SUBVENDOR): Likewise.
131 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
132 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
133 (GRUB_PCI_REG_CAP_POINTER): Likewise.
134 (GRUB_PCI_REG_IRQ_LINE): Likewise.
135 (GRUB_PCI_REG_IRQ_PIN): Likewise.
136 (GRUB_PCI_REG_MIN_GNT): Likewise.
137 (GRUB_PCI_REG_MAX_LAT): Likewise.
138 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
139 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
140 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 141 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
142 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
143 space.
144
96d73208
RM
1452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
146
147 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
148 can be reliably determined to be supported.
149
d4484482
RM
1502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
151
152 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
153 that VESA is supported.
154 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
155 supported.
156
00308ecf
VS
1572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
160
f66924a4
RM
1612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
162
163 * util/misc.c (make_system_path_relative_to_its_root): Work around
164 special-casing of "/", as previous incarnation of this routine did.
165
cbca0ada
VS
1662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
167
168 Fix any-emu compilation.
169
170 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
171 * grub_bin2h_SOURCES: New variable.
172
34a66d99
RM
1732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
174
175 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
176
94fabf58
RM
1772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
178
179 * util/grub.d/00_header.in: Fix handling of locale_dir.
180
02cf98ca
VS
1812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
184 as possible unifont location (Gentoo).
185 Reported by: Alexander BrĂ¼ning
186
327dbcd7
VS
1872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Don't try to generate lists for kernel.img.
190
191 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
192 (pkglib_MODULES): Remove kernel.img.
193 (kernel_img_EXPORTS): Removed.
194 (kernel_img_RELOCATABLE): New variable.
195 * conf/x86_64-efi.rmk: Likewise.
196 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
197
ca467290
VS
1982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
201 grub_xasprintf or grub_snprintf.
202 (grub_vsprintf): Likewise.
203 (grub_snprintf): New proto.
204 (grub_vsnprintf): Likewise.
205 (grub_xasprintf): Likewise.
206 (grub_xvasprintf): Likewise.
207 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
208 (grub_sprintf): Removed.
209 (grub_vsnprintf): New function.
210 (grub_snprintf): Likewise.
211 (grub_xvasprintf): Likewise.
212 (grub_xasprintf): Likewise.
213 (grub_vsprintf): Renamed to ...
214 (grub_vsnprintf_real): ...this. New argument max_len.
215
aca655fd
BC
2162010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
217
218 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
219 fix grub-script-check warning.
220
7ee92c32
VS
2212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * include/grub/font.h (grub_font_load): Fix prototype.
224
f80927ca
VS
2252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
228
119c50ea
VS
2292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * include/grub/x86_64/at_keyboard.h: New file.
232
47d5f3c1
VS
2332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * loader/mips/linux.c: Include missing grub/i18n.h.
236
55ff5266
RM
2372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
238
239 * normal/menu.c (notify_execution_failure): Clarify error message.
240
c893cc87
RM
2412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
242
243 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
244 return value (and revert all return statements). Update users.
245
917dd370
CW
2462010-01-20 Dan Merillat <debian@dan.merillat.org>
247
248 * kern/device.c (grub_device_iterate): Allocate new part_ent
249 structure based on sizeof (*p) rather than sizeof (p->next), to
250 account for structure padding.
251
252 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
253 disk is NULL, which might happen for LVM physical volumes with no
254 LVM signature.
255
d4a4ee57
RM
2562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
257
258 * loader/mips/linux.c (grub_cmd_initrd)
259 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
260
2612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
262
263 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
264 (grub_video_video_init, grub_video_bitmap_init)
265 (grub_font_manager_init, grub_term_gfxterm_init)
266 (grub_at_keyboard_init): New extern declarations.
267 (grub_machine_init): Initialize gfxterm and at_keyboard.
268
269 * kern/main.c (grub_main): Revert grub_printf delay kludge.
270
271 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
272 `gfxterm.mod' into core image.
273
274 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
275 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
276 (kernel_img_FORMAT): Copy to ...
277
278 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
279 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
280 (kernel_img_FORMAT): ... here, and ...
281
282 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
283 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
284 (kernel_img_FORMAT): ... here.
285
286 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
287 and input (at_keyboard) terminals in kernel.
288 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
289
290 (pkglib_MODULES): Remove `pci.mod'.
291 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
292 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
293 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
294 (at_keyboard_mod_LDFLAGS): Remove variables.
295
2962010-01-11 Felix Zielcke <fzielcke@z-51.de>
297
298 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
299
3002009-12-10 Robert Millan <rmh.grub@aybabtu.com>
301
302 * include/grub/mips/libgcc.h: Only export symbols for functions
303 that libgcc provides.
304
3052009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
306
307 MIPS support.
308
309 * bus/bonito.c: New file.
310 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
311 GRUB_PCI_NUM_DEVICES.
312 * term/i386/pc/serial.c: Move to ...
313 * term/serial.c: ... here. All users updated.
314 * util/i386/pc/grub-mkimage.c: Move to ...
315 * util/grub-mkrawimage.c: ... here. All users updated.
316 * term/i386/pc/at_keyboard.c: Move to ...
317 * term/at_keyboard.c: ... here. All users updated.
318 * conf/mips-qemu-mips.rmk: New file.
319 * conf/mips-yeeloong.rmk: Likewise.
320 * conf/mips.rmk: Likewise.
321 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
322 mipsel-qemu-mips.
323 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
324 to port addresses.
325 (grub_ata_pciinit): Support CS5536.
326 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
327 * font/font_cmd.c (loadfont_command): Open file before passing it to
328 grub_font_load.
329 (pseudo_file_read): New function.
330 (pseudo_file_close): Likewise.
331 (pseudo_fs): New structure.
332 (load_font_module): New function.
333 (GRUB_MOD_INIT(font_manager)): Load embedded font.
334 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
335 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
336 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
337 * include/grub/i386/at_keyboard.h: Split into ...
338 * include/grub/at_keyboard.h: ... this ...
339 * include/grub/i386/at_keyboard.h: ... and this.
340 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
341 New prototype.
342 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
343 updated.
344 (grub_elf64_size): Likewise.
345 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
346 filename.
347 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
348 * include/grub/i386/coreboot/serial.h: Rewritten.
349 * include/grub/i386/ieee1275/serial.h: Include
350 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
351 * include/grub/i386/pc/serial.h: Moved from here ...
352 * include/grub/serial.h: ... to here. All users updated.
353 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
354 (GRUB_PCI_NUM_BUS): Likewise.
355 (GRUB_PCI_NUM_DEVICES): Likewise.
356 (grub_pci_device_map_range): Add missing volatile keyword.
357 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
358 * include/grub/mips/at_keyboard.h: New file.
359 * include/grub/mips/cache.h: Likewise.
360 * include/grub/mips/io.h: Likewise.
361 * include/grub/mips/kernel.h: Likewise.
362 * include/grub/mips/libgcc.h: Likewise.
363 * include/grub/mips/pci.h: Likewise.
364 * include/grub/mips/qemu-mips/boot.h: Likewise.
365 * include/grub/mips/qemu-mips/kernel.h: Likewise.
366 * include/grub/mips/qemu-mips/loader.h: Likewise.
367 * include/grub/mips/qemu-mips/memory.h: Likewise.
368 * include/grub/mips/qemu-mips/serial.h: Likewise.
369 * include/grub/mips/qemu-mips/time.h: Likewise.
370 * include/grub/mips/relocator.h: Likewise.
371 * include/grub/mips/time.h: Likewise.
372 * include/grub/mips/types.h: Likewise.
373 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
374 * include/grub/mips/yeeloong/boot.h: Likewise.
375 * include/grub/mips/yeeloong/kernel.h: Likewise.
376 * include/grub/mips/yeeloong/loader.h: Likewise.
377 * include/grub/mips/yeeloong/memory.h: Likewise.
378 * include/grub/mips/yeeloong/pci.h: Likewise.
379 * include/grub/mips/yeeloong/serial.h: Likewise.
380 * include/grub/mips/yeeloong/time.h: Likewise.
381 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
382 * kern/elf.c (grub_elf32_size): New parameter. All users
383 updated.
384 (grub_elf64_size): Likewise.
385 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
386 Load modules before saying "Welcome to GRUB!".
387 Call grub_refresh after saying "Welcome to GRUB!".
388 * kern/mips/cache.S: New file.
389 * kern/mips/cache_flush.S: Likewise.
390 * kern/mips/dl.c: Likewise.
391 * kern/mips/init.c: Likewise.
392 * kern/mips/qemu-mips/init.c: Likewise.
393 * kern/mips/startup.S: Likewise.
394 * kern/mips/yeeloong/init.c: Likewise.
395 * kern/term.c (grub_putcode): Handle NULL terminal.
396 (grub_getcharwidth): Likewise.
397 (grub_getkey): Likewise.
398 (grub_checkkey): Likewise.
399 (grub_getkeystatus): Likewise.
400 (grub_getxy): Likewise.
401 (grub_getwh): Likewise.
402 (grub_gotoxy): Likewise.
403 (grub_cls): Likewise.
404 (grub_setcolorstate): Likewise.
405 (grub_setcolor): Likewise.
406 (grub_getcolor): Likewise.
407 (grub_refresh): Likewise.
408 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
409 (write_jump): Add hatch nop.
410 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
411 * lib/mips/setjmp.S: New file.
412 * loader/mips/linux.c: Likewise.
413 * term/i386/pc/at_keyboard.c: Move from here ...
414 * term/at_keyboard.c: ... to here.
415 * term/i386/pc/serial.c: Moved from here ...
416 * term/serial.c: ... to here. All users updated.
417 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
418 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
419 (serial_translate_key_sequence): Avoid deadlock.
420 (grub_serial_getkey): Handle backspace.
421 (grub_serial_putchar): Fix newline handling.
422 * util/i386/pc/grub-mkimage.c: Move from here ...
423 * util/grub-mkrawimage.c: ... to here. All users updated.
424 (generate_image): New parameters 'font_path' and 'format'.
425 Support embedding font.
426 Use grub_host_to_target* instead of grub_cpu_to_le*.
427 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
428 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
429 (options): New option "--font".
430 (usage): Likewise.
431 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
432 (main): Handle "--font".
433 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
434 (grub_virtual_screen_setup): Set bg_color_display.
435 (redraw_screen_rect): Use bg_color_display instead of incorrect
436 bg_color.
437 (grub_gfxterm_cls): Likewise.
438 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
439 Support embedding config file.
440 (add_segments): Likewise.
441 (options): New option "--config".
442 (main): Handle "--config".
443 * video/sm712.c: New file.
444
25c2b5b3
RM
4452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
446
447 Fix parallel builds.
448
449 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
450 font.c depend on ascii.h).
451
4522010-01-12 Carles Pina i Estany <carles@pina.cat>
453
454 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
455
4562010-01-11 Carles Pina i Estany <carles@pina.cat>
457
458 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
459 By default: disabled.
460 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
461 parameter.
462
4632010-01-10 Carles Pina i Estany <carles@pina.cat>
464
465 * font/font.c: Update copyright years.
466 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
467
4682010-01-10 Carles Pina i Estany <carles@pina.cat>
469
470 * font/font.c: Include `ascii.h'.
471 (ASCII_BITMAP_SIZE): New macro.
472 (ascii_font_glyph): Define.
473 (ascii_glyph_lookup): New function.
474 (grub_font_get_string_width): Change comment. If glyph not found, use
475 ascii_glyph_lookup.
476 (grub_font_get_glyph_with_fallback): If glyph not available returns
477 ascii_glyph_lookup.
478 * util/grub-mkfont.c (file_formats): New enum.
479 (options): Add `ascii-bitmaps' new option.
480 (usage): Add `asii-bitmaps' new option.
481 (write_font_ascii_bitmap): New function.
482 (write_font): Rename to ...
483 (write_font_p2): ... this. Remove print_glyphs call.
484 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
485 used. Call print_glyphs.
486 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
487
4882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
489
490 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
491 (grub_bin2h_SOURCES): New variable.
492 * util/bin2h.c: New file.
493
915fc1b8
VS
4942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * include/multiboot.h: Resynced with spec.
497 * include/multiboot2.h: Likewise.
498 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
499 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
500
9444b678
RM
5012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
502
503 * include/grub/term.h (grub_term_register_input,
504 grub_term_register_output): Check return of terminal init()
505 routines, and abort if errors are raised.
506
507 * commands/terminal.c: Update copyright year.
508
cba98e8d
RM
5092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
510
511 * commands/terminal.c (grub_cmd_terminal_input)
512 (grub_cmd_terminal_output): Check return of terminal init()
513 routines, and abort if errors are raised.
514
6f7db5d6
VS
5152010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * include/grub/i386/bsd.h: Fix include pathes.
518
262bff8d
VS
5192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Add missing *BSD copyright headers.
522
523 * include/grub/aout.h: Add BSD licence.
524 * include/grub/i386/bsd.h: Parts under different licences moved to ...
525 * include/grub/i386/freebsd_linker.h: ... here,
526 * include/grub/i386/freebsd_reboot.h: ... here,
527 * include/grub/i386/netbsd_bootinfo.h: ... here,
528 * include/grub/i386/netbsd_reboot.h: ... here,
529 * include/grub/i386/openbsd_bootarg.h: ... here,
530 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
531 licence to each file.
532
b2cab848
RM
5332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
534
535 * acinclude.m4: Remove `nop' assembly instruction; it's not
536 implemented by all architectures.
537
2cb6be4b
RM
5382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
539
540 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
541 ELILO. This is no longer necessary.
542
a2eaee15
BC
5432010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
544
545 Added new tool, grub-scrit-check to verify grub.cfg syntax.
546
547 * util/grub-script-check.c: grub-script-check tool.
548 * conf/common.rmk: Make rules for grub-script-check.
549
88d17012
RM
5502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
551
552 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
553 spotting it back in 2008. Shame on me for forgetting he did.
554
555 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
556
8040619d
RM
5572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
558
559 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
560 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
561 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
562 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
563 (GRUB_VIDEO_TYPE_EFI): Rename to ...
564 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
565
a0c2a0f6
RM
5662010-01-17 Robert Millan <rmh.grub@aybabtu.com>
567
568 * include/grub/test.h: Add license header.
569 * tests/example_functional_test.c: Likewise.
570 * tests/example_unit_test.c: Likewise.
571 * tests/lib/functional_test.c: Likewise.
572 * tests/lib/test.c: Likewise.
573 * tests/lib/unit_test.c: Likewise.
574
b0b13907
VS
5752010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
576
577 Use flag-based instead of hook-based video mode selection and "auto"
578 keyword.
579
580 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
581 (grub_video_set_mode): Changed prototype. All users updated.
582 (grub_video_check_mode_flag): New inline function.
583 * video/video.c (parse_modespec): New function.
584 (grub_video_set_mode): Parse flags and keywords.
585
ea379330 5862010-01-17 Carles Pina i Estany <carles@pina.cat>
587
588 * util/misc.c (grub_util_info): Fix the order of the parameters in a
589 fprintf call.
590
e15c215e
FZ
5912010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
592
593 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
594
409ae1c9 5952010-01-16 Carles Pina i Estany <carles@pina.cat>
596
597 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
598 string.
599 * util/grub-emu.c (usage): Likewise.
600 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
601 * util/i386/efi/grub-mkimage.c (usage): Likewise.
602 * util/i386/pc/grub-mkimage.c (usage): Likewise.
603 * util/i386/pc/grub-setup.c (usage): Likewise.
604
70a14d3d 6052010-01-16 Carles Pina i Estany <carles@pina.cat>
606
607 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
608 the message.
609 (grub_util_info): Likewise.
610 (grub_util_error): Likewise.
611 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
612 and/or new lines in `grub_util_warna', `grub_util_info',
613 `grub_util_error' calls.
614 * util/getroot.c: Likewise.
615 * util/grub-editenv.c: Likewise.
616 * util/grub-emu.c: Likewise.
617 * util/grub-fstest.c: Likewise.
618 * util/grub-mkdevicemap.c: Likewise.
619 * util/grub-mkfont.c: Likewise.
620 * util/grub-mkpasswd-pbkdf2.c: Likewise.
621 * util/grub-mkrelpath.c: Likewise.
622 * util/grub-pe2elf.c: Likewise.
623 * util/grub-probe.c: Likewise.
624 * util/hostdisk.c: Likewise.
625 * util/i386/efi/grub-mkimage.c: Likewise.
626 * util/i386/pc/grub-mkimage.c: Likewise.
627 * util/i386/pc/grub-setup.c: Likewise.
628 * util/ieee1275/ofpath.c: Likewise.
629 * util/mkisofs/eltorito.c: Likewise.
630 * util/mkisofs/rock.c: Likewise.
631 * util/mkisofs/write.c: Likewise.
632 * util/raid.c: Likewise.
633 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
634 * util/sparc64/ieee1275/grub-setup.c: Likewise.
635
a0b766fc
VS
6362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
637
638 Enable multiboot on non-pc.
639
640 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
641 multiboot.mod and multiboot2.mod to ...
642 * conf/i386.rmk (pkglib_MODULES): ... here.
643 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
644 Moved to ...
645 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
646 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
647 Moved to ...
648 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
649 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
650 Moved to ...
651 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
652 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
653 Moved to ...
654 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
655 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
656 relocator.mod.
657 (ata_mod_SOURCES): Removed.
658 (ata_mod_CFLAGS): Likewise.
659 (ata_mod_LDFLAGS): Likewise.
660 (relocator_mod_SOURCES): Removed.
661 (relocator_mod_CFLAGS): Likewise.
662 (relocator_mod_ASFLAGS): Likewise.
663 (relocator_mod_LDFLAGS): Likewise.
664 Include i386.mk.
665 * include/grub/x86_64/multiboot.h: New file.
666 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
667 Terminate EFI.
668
884ade56
VS
6692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Video multiboot support.
672
673 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
674 New prototype.
675 * include/multiboot.h: Resynced with multiboot specification.
676 * include/multiboot2.h: Likewise.
677 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
678 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
679 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
680 (HAS_VGA_TEXT): Likewise.
681 (accepts_video): New variable.
682 (grub_multiboot_set_accepts_video): New function.
683 (grub_multiboot_get_mbi_size): Account for video structures.
684 (set_video_mode): New function.
685 (retrieve_video_parameters): Likewise.
686 (grub_multiboot_make_mbi): Fill video fields.
687
0d90e8a6
VS
6882010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Video driver ids.
691
692 * include/grub/video.h (grub_video_driver_id): New type.
693 (grub_video_adapter): New member 'id'. All users updated.
694 (grub_video_get_driver_id): New proto.
695 * video/video.c (grub_video_get_driver_id): New function.
696
5c71db1b 6972010-01-14 Carles Pina i Estany <carles@pina.cat>
698
699 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
700 `var=val'.
701
cca15b52 7022010-01-14 Carles Pina i Estany <carles@pina.cat>
703
704 * normal/cmdline.c (print_completion): Gettextizze.
705
c586fbb2 7062001-01-14 Carles Pina i Estany <carles@pina.cat>
707
708 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
709
ba2f6848 7102010-01-14 Carles Pina i Estany <carles@pina.cat>
711
712 * gettext/gettext.c (grub_gettext_translate): Push and pop
713 grub_errno.
714 (grub_gettext_delete_list): Change comment style.
715 * kern/err.c (grub_error): Gettextizze.
716 (grub_fatal): Gettextizze.
717
0a46429a
RM
7182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
719
720 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
721 (grub_linux16_real_boot): ... this.
722 * kern/i386/loader.S: Likewise.
723 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
724 (grub_linux16_boot): New function. Switches to text mode and calls
725 grub_linux16_real_boot().
726
727 * loader/i386/bsd.c: Include `<grub/video.h>'.
728 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
729 text mode before calling grub_unix_real_boot().
730
731 * loader/i386/multiboot.c: Include `<grub/video.h>'.
732 (grub_multiboot_boot): Switch to text mode before calling
733 grub_relocator32_boot().
734
735 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
736 (grub_chainloader_boot): Switch to text mode before calling
737 grub_chainloader_real_boot().
738
d6f93a66
RM
7392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7402010-01-05 Colin Watson <cjwatson@ubuntu.com>
741
742 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
743 non-empty value.
744
7452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7462010-01-05 Colin Watson <cjwatson@ubuntu.com>
747
748 * util/grub.d/00_header.in: Define a "savedefault" function for use
749 in menu entries.
750 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
751
7522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7532010-01-05 Colin Watson <cjwatson@ubuntu.com>
754
755 * util/grub-mkconfig_lib.in (save_default_entry): Only set
756 saved_entry if boot_once is unset.
757 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
758 previous saved entry (i.e. grub-reboot).
759
7602009-12-08 Colin Watson <cjwatson@ubuntu.com>
761
762 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
763
7642009-12-08 Colin Watson <cjwatson@ubuntu.com>
765
766 * util/grub.d/00_header.in: Use `set var=val' rather than plain
767 `var=val'.
768 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
769
7702009-12-08 Colin Watson <cjwatson@ubuntu.com>
771
772 * util/grub-reboot.in: Fix --version output.
773 * util/grub-set-default.in: Likewise.
774
7752009-12-08 Colin Watson <cjwatson@ubuntu.com>
776
777 * util/grub.d/00_header.in: Silently ignore zero-sized environment
778 blocks.
779
7802009-12-08 Colin Watson <cjwatson@ubuntu.com>
781
782 * util/grub.d/00_header.in: Quote the value assigned to `default',
783 in case it contains spaces.
784
7852009-12-08 Colin Watson <cjwatson@ubuntu.com>
786
787 * util/grub.d/30_os-prober.in: Fix merge error that moved a
788 `save_default_entry' call from the macosx case to the linux case.
789
7902009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7912009-10-25 Colin Watson <cjwatson@ubuntu.com>
792
793 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
794 in `chosen' environment variable.
795 * normal/menu_text.c (get_entry_number): Check if the variable
796 matches the title of a menu entry.
797 (run_menu): Pass menu to get_entry_number.
798
799 * util/grub-reboot.in: New file.
800 * util/grub-set-default.in: New file.
801 * conf/common.rmk (grub-reboot): New utility.
802 (grub-set-default): New utility.
803
804 * util/grub-mkconfig_lib.in (save_default_entry): New function.
805 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
806 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
807 move it to `saved_entry' for the next boot. Load environment on
808 initialisation.
809 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
810 * util/grub.d/10_hurd.in: Likewise.
811 * util/grub.d/10_linux.in (linux_entry): Likewise.
812 * util/grub.d/10_windows.in: Likewise.
813 * util/grub.d/30_os-prober.in: Likewise.
814
815 * util/grub-install.in: Create environment block.
816 * util/i386/efi/grub-install.in: Likewise.
817 * util/ieee1275/grub-install.in: Likewise.
818 * util/sparc64/ieee1275/grub-install.in: Likewise.
819
0934d184
BC
8202010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
821
822 Unit testing framework for GRUB.
823
824 * Makefile.in: Test framework build rules for 'make check'.
825 * conf/tests.rmk: Build rules for individual tests and framework.
826
827 * include/grub/test.h: Header file for whitebox tests.
828 * tests/lib/functional_test.c: Framework support for whitebox
829 functional tests.
830 * tests/lib/test.c: Common whitebox testing code for unit and
831 functional tests.
832 * tests/lib/unit_test.c: Framework support for whitebox unit
833 tests.
834
835 * tests/util/grub-shell-tester.in: Support utility for grub-script
836 tests.
837 * tests/util/grub-shell.in: Utility to execute grub-script
838 commands in a Qemu instance.
839
840 * tests/example_functional_test.c: Example whitebox functional
841 test.
842 * tests/example_grub_script_test.in: Example grub-script test.
843 * tests/example_scripted_test.in: Example scripted test.
844 * tests/example_unit_test.c: Example whitebox unit test.
845
9c4ffeeb
VS
8462010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
849 Add loader/i386/multiboot_mbi.c.
850 (multiboot2_mod_SOURCES): Likewise.
851 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
852 (multiboot2_mod_SOURCES): Likewise.
853 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
854 (grub_multiboot_make_mbi): Likewise.
855 (grub_multiboot_free_mbi): Likewise.
856 (grub_multiboot_init_mbi): Likewise.
857 (grub_multiboot_add_module): Likewise.
858 (grub_multiboot_set_bootdev): Likewise.
859 * loader/i386/multiboot.c (mbi): Removed.
860 (mbi_dest): Likewise.
861 (alloc_mbi): New variable.
862 (grub_multiboot_payload_size): Removed. All users updated.
863 (grub_multiboot_pure_size): New variable.
864 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
865 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
866 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
867 (grub_fill_multiboot_mmap): Likewise.
868 (grub_multiboot_get_bootdev): Likewise.
869 (grub_multiboot): Use multiboot_mbi functions.
870 * loader/i386/multiboot_mbi.c: New file.
871
17383dfe
VS
8722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
875 it would result in module crash.
876
c1f28820
VS
8772010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
880 (grub_ofconsole_getwh): Split to ...
881 (grub_ofconsole_getwh): ... this.
882 (grub_ofconsole_dimensions): ...and this.
883 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
884
58655a16
RM
8852010-01-13 Robert Millan <rmh.grub@aybabtu.com>
886
887 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
888
10891398
VS
8892010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * loader/i386/pc/multiboot2.c: Removed stalled file.
892
0b8a223c
VS
8932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
896 Reported by: Grégoire Sutre
897
92ab12b0
RM
8982010-01-11 Robert Millan <rmh.grub@aybabtu.com>
899
900 * util/misc.c (canonicalize_file_name): New function.
901 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
902 instead of realpath().
903
a788afb6
CW
9042010-01-11 Colin Watson <cjwatson@ubuntu.com>
905
906 * util/grub-install.in (usage): Clarify meaning of --root-directory,
907 and make it clearer that it's optional. Based on confusion
908 witnessed on IRC.
909
ffa8e3d2
VS
9102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
913 in premature implicit newline.
914
e9060a9d
VS
9152010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
918 which resulted in garbled command line at the end of screen.
919
f0d0c0b7
RM
9202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
921
922 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
923 initialization with similar approach as with other Linux loaders.
924
0e60bae7
RM
9252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
926
927 Fix i386-ieee1275 build.
928
929 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
930 and grub_term_height() for video_{width,height} initialization.
931
9322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
933
934 Fix grub-emu build.
935
936 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
937
cdb3f378
RM
9382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
940
941 Support for multiple terminals.
942
943 * Makefile.in (pkglib_DATA): terminal.lst.
944 (terminal.lst): New target.
945 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
946 (GRUB_MOD_INIT(handler)): Likewise.
947 (GRUB_MOD_FINI(handler)): Likewise.
948 * commands/help.c (grub_cmd_help): Handle multiple terminals.
949 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
950 * commands/sleep.c (do_print): Use grub_term_restore_pos.
951 (grub_cmd_sleep): Use grub_term_save_pos.
952 * commands/terminal.c: New file.
953 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
954 commands/terminal.c and lib/charset.c.
955 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
956 (pkglib_MODULES): Add terminal.mod.
957 (terminal_mod_SOURCES): New variable.
958 (terminal_mod_CFLAGS): Likewise.
959 (terminal_mod_LDFLAGS): Likewise.
960 * genhandlerlist.sh: Don't handle terminals.
961 * genmk.rb: Generate terminal-*.lst.
962 * genterminallist.sh: New file.
963 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
964 (grub_is_valid_utf8): Likewise.
965 (grub_utf8_to_ucs4_alloc): Likewise.
966 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
967 (grub_menu_register_viewer): Changed argument.
968 (grub_menu_try_text): New proto.
969 (grub_gfxmenu_try_hook): New declaration.
970 * include/grub/normal.h (grub_normal_exit_level): New declaration.
971 (grub_menu_init_page): Additional argument term.
972 (grub_normal_init_page): Likewise.
973 (grub_cmdline_get): Arguments simplified.
974 (grub_utf8_to_ucs4_alloc): Removed.
975 (grub_print_ucs4): Additional argument term.
976 (grub_getstringwidth): Likewise.
977 (grub_print_message_indented): Likewise.
978 (grub_menu_text_register_instances): New proto.
979 (grub_show_menu): Likewise.
980 (read_terminal_list): Likewise.
981 (grub_set_more): Likewise.
982 * include/grub/parser.h: Include handler.h.
983 * include/grub/reader.h: Rewritten.
984 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
985 (GRUB_TERM_WIDTH): Changed to function.
986 (GRUB_TERM_HEIGHT): Likewise.
987 (GRUB_TERM_BORDER_WIDTH): Likewise.
988 (GRUB_TERM_BORDER_HEIGHT): Likewise.
989 (GRUB_TERM_NUM_ENTRIES): Likewise.
990 (GRUB_TERM_ENTRY_WIDTH): Likewise.
991 (GRUB_TERM_CURSOR_X): Likewise.
992 (grub_term_input_class): Likewise.
993 (grub_term_output_class): Likewise.
994 (grub_term_outputs_disabled): New declaration.
995 (grub_term_inputs_disabled): Likewise.
996 (grub_term_outputs): Likewise.
997 (grub_term_inputs): Likewise.
998 (grub_term_register_input): Rewritten.
999 (grub_term_register_output): Likewise.
1000 (grub_term_unregister_input): Likewise.
1001 (grub_term_unregister_output): Likewise.
1002 (FOR_ACTIVE_TERM_INPUTS): New macro.
1003 (FOR_DISABLED_TERM_INPUTS): Likewise.
1004 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1005 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1006 * include/grub/terminfo.h: Add oterm argument to all protypes.
1007 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1008 Use grub_rescue_run.
1009 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1010 All users updated.
1011 * kern/reader.c: Removed. All users updated.
1012 * kern/rescue_reader.c (grub_rescue_init): Removed.
1013 (grub_rescue_reader): Likewise.
1014 (grub_register_rescue_reader): Likewise.
1015 (grub_rescue_run): New function based on kern/reader.c.
1016 * kern/term.c: Adapted for multiterm.
1017 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1018 (grub_is_valid_utf8): Likewise.
1019 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1020 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1021 right terminal.
1022 * loader/i386/linux.c (grub_linux_boot): Likewise.
1023 * normal/auth.c (grub_username_get): New function.
1024 (grub_auth_check_authentication): Use grub_username_get.
1025 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1026 * normal/color.c: Adapt for multiterm.
1027 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1028 (grub_normal_init_page): Additional argument term.
1029 (read_lists): Call read_terminal_lists.
1030 (grub_enter_normal_mode): Call grub_cmdline_run.
1031 Handle grub_normal_exit_level.
1032 (grub_cmd_normal): Make reentrant.
1033 (grub_cmd_normal_exit): New function.
1034 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1035 * normal/menu.c: Adapt for multiterm.
1036 * normal/menu_entry.c: Likewise.
1037 * normal/menu_text.c: Likewise.
1038 * normal/menu_viewer.c: Removed. All users updated.
1039 * normal/term.c: New file.
1040 * util/console.c: Change order of includes to workaround a bug in
1041 ncurses headers.
1042 * term/terminfo.c: New argument oterm on all exported functions.
1043 All users updated.
1044 * util/grub-editenv.c (grub_term_input_class): Removed.
1045 (grub_term_output_class): Likewise.
1046
1a064917
RM
10472010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1048
1049 Make loader output a bit more user-friendly.
1050
1051 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1052 is being loaded. Likewise for the Hurd.
1053
1054 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1055 that kernel of FreeBSD ${version} is being loaded.
1056
1057 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1058 grub_dprintf().
1059 (grub_cmd_initrd): Likewise.
1060 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1061 that Linux ${version} is being loaded. Likewise for initrd.
1062
5ce0a83a 10632010-01-09 Carles Pina i Estany <carles@pina.cat>
1064
1065 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1066
809bbfeb 10672010-01-08 Carles Pina i Estany <carles@pina.cat>
1068
1069 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1070 (GRUB_MOD_INIT): Gettextizze.
1071 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1072 (GRUB_MOD_INIT): Gettextizze.
1073 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1074 (grub_cmd_linux): Capitalise Linux.
1075 (GRUB_MOD_INIT): Gettextizze.
1076 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1077 (grub_cmd_linux): Capitalise Linux.
1078 (GRUB_MOD_INIT): Gettextizze.
1079 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1080 (grub_cmd_linux): Capitalise Linux.
1081 (GRUB_MOD_INIT): Gettextizze.
1082 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1083 (GRUB_MOD_INIT): Gettextizze.
1084 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1085 (grub_cmd_linux): Capitalise Linux.
1086 (GRUB_MOD_INIT): Gettextizze.
1087 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1088 (grub_cpu_xnu_init): Gettextizze.
1089 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1090 (GRUB_MOD_INIT): Gettextizze.
1091 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1092 (GRUB_MOD_INIT): Gettextizze.
1093 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1094 (grub_linux_load64): Capitalise Linux.
1095 (GRUB_MOD_INIT): Gettextizze.
1096 * loader/xnu.c: Include `<grub/i18n.h>'.
1097 (GRUB_MOD_INIT): Gettextizze.
1098 * po/POTFILES: Add `loader/efi/appleloader.c',
1099 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1100 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1101 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1102 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1103 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1104 and `loader/xnu.c'.
1105
b394b2ca
RM
11062010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1107
1108 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1109
11102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1111
1112 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1113 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1114 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1115
bc8b32b3
RM
11162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1117
1118 Reset Multiboot 2 support. New loader implements the draft in
1119 /branches/multiboot2 and shares as much code as possible with the
1120 production Multiboot 1 implementation.
1121
1122 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1123 * loader/multiboot2.c: Likewise.
1124 * loader/i386/multiboot_helper.S: Likewise.
1125 * include/multiboot2.h: Replace with latest version from the draft
1126 in /branches/multiboot2.
1127
1128 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1129 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1130 and `loader/multiboot2.c'.
1131 (pkglib_MODULES): Add `multiboot2.mod'.
1132 (multiboot2_mod_SOURCES): New variable.
1133 (multiboot2_mod_LDFLAGS): Likewise.
1134 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1135
1136 * conf/i386-pc.rmk: Likewise.
1137
1138 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1139 (multiboot_mod_SOURCES): Remove variable.
1140 (multiboot_mod_LDFLAGS): Likewise.
1141 (multiboot_mod_CFLAGS): Likewise.
1142
1143 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1144 `<multiboot2.h>' instead of `<multiboot.h>'.
1145 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1146 (MULTIBOOT_HEADER_MAGIC): New macros.
1147
1148 * loader/multiboot_loader.c (module_version_status): Remove variable.
1149 (find_multi_boot2_header): Remove function.
1150 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1151 logic. Always check for the Multiboot version we're compiling for.
1152 (grub_cmd_module_loader): Likewise.
1153 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1154 command instead of `multiboot'.
1155
5d2c52b8
RM
11562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1157
1158 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1159 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1160 all users.
1161
53108d92
RM
11622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 Fix breakage introduced with previous commit.
1166
1167 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1168 commands.
1169 * normal/handler.c (read_handler_list): Revert part of previous commit
1170 affecting this file.
1171 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1172 (grub_normal_execute): ... here.
1173
e2e936b2
RM
11742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1175
1176 Merge prefix-redefinition-fix branch.
1177
1178 * normal/autofs.c (read_fs_list): Make function capable of being
1179 run multiple times, gracefuly replacing the previous data
1180 structures.
1181 * normal/dyncmd.c (read_command_list): Likewise.
1182 * normal/handler.c (read_handler_list): Likewise.
1183 * normal/main.c (read_lists): New function. Calls all the
1184 list reading functions.
1185 (grub_normal_execute): Use read_lists() instead of calling all
1186 list reading functions explicitly. Register read_lists() as a
1187 variable hook attached to ${prefix}.
1188
607a3701
VS
11892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 Merge crypto branch.
1192
1193 * Makefile.in (pkglib_DATA): Add crypto.lst.
1194 (crypto.lst): New target.
1195 * commands/hashsum.c: New file.
1196 * commands/password.c (check_password): Use grub_crypto_memcmp.
1197 * commands/password_pbkdf2.c: New file.
1198 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1199 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1200 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1201 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1202 -I$(srcdir)/lib/libgcrypt_wrap.
1203 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1204 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1205 password_pbkdf2.mod.
1206 (crypto_mod_SOURCES): New variable.
1207 (crypto_mod_CFLAGS): Likewise.
1208 (crypto_mod_LDFLAGS): Likewise.
1209 (hashsum_mod_SOURCES): New variable.
1210 (hashsum_mod_CFLAGS): Likewise.
1211 (hashsum_mod_LDFLAGS): Likewise.
1212 (pbkdf2_mod_SOURCES): New variable.
1213 (pbkdf2_mod_CFLAGS): Likewise.
1214 (pbkdf2_mod_LDFLAGS): Likewise.
1215 (password_pbkdf2_mod_SOURCES): New variable.
1216 (password_pbkdf2_mod_CFLAGS): Likewise.
1217 (password_pbkdf2_mod_LDFLAGS): Likewise.
1218 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1219 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1220 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1221 Include conf/gcry.rmk.
1222 * include/grub/auth.h: Rewritten.
1223 * include/grub/crypto.h: New file.
1224 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1225 * include/grub/normal.h (read_crypto_list): New prototype.
1226 * lib/crypto.c: New file.
1227 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1228 * lib/pbkdf2.c: Likewise.
1229 * normal/auth.c (grub_auth_strcmp): Removed.
1230 (grub_iswordseparator): Likewise.
1231 (grub_auth_strword): Likewise.
1232 (is_authenticated): Use grub_strword.
1233 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1234 and grub_strword. Pass entered password to authentication callback.
1235 * normal/crypto.c: New file.
1236 * normal/main.c: Call read_crypto_list.
1237 * util/grub-mkpasswd-pbkdf2.c: New file.
1238 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1239
42841caa
VS
12402010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Fix descent and ascent calculation.
1243
1244 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1245 (options): New option "asce".
1246 (usage): Likewise.
1247 (add_char): Ignore invalid glyphs for descent calculation.
1248 Calculate ascent from actual content.
1249 (print_glyphs): Use 'asce'.
1250 (write_font): Likewise. Allow ascent override.
1251 (main): Handle "asce" option.
1252
e7730de7 12532010-01-06 Carles Pina i Estany <carles@pina.cat>
1254
1255 * kern/err.c: Include `<grub/i18n.h>'.
1256 (grub_print_error): Add full stop. Gettextizze.
1257 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1258 (grub_bsd_load_elf): Capitalise ELF.
1259 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1260 (grub_cmd_freebsd_module): Likewise.
1261 (grub_cmd_freebsd_module_elf): Likewise.
1262 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1263
40e3a41f 12642010-01-06 Carles Pina i Estany <carles@pina.cat>
1265
1266 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1267 * commands/search_file.c (HELP_MESSAGE): New macro.
1268 * commands/search_label.c (HELP_MESSAGE): Likewise.
1269 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1270 * po/POTFILES: Add `commands/search_file.c',
1271 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1272 `commands/search.c'.
1273
83507e68
RM
12742010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1275
1276 * config.rpath: Update from Gnulib.
1277
465c787b
YB
12782010-01-05 Yves Blusseau <blusseau@zetam.org>
1279
1280 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1281
6581dd3a
YB
12822010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1283
1284 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1285
3bff18c5
CW
12862010-01-05 Colin Watson <cjwatson@ubuntu.com>
1287
1288 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1289 arguments to fread so that we get a return value in bytes, rather
1290 than something that will normally be rounded down to 0.
1291 Adjust error handling to avoid producing garbage when size_t is not
1292 the same size as long long.
1293
a1368118
CW
12942010-01-05 Colin Watson <cjwatson@ubuntu.com>
1295
1296 * util/mkisofs/write.c (padblock_write): Check return value of
1297 fread.
1298
7c302978
RM
12992010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1300
1301 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1302 floppy images now.
1303
1304 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1305
e33ace06
RM
13062010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1307
1308 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1309 instead of manual alignment.
1310 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1311 verbose). Avoid attempts to read past end of the device
1312 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1313 but GRUB_DISK_CACHE_SIZE may exceed that).
1314
4b856776
RM
13152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1316
1317 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1318 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1319 it to upper layer.
1320
52c2d97f
VS
13212010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1324 New constant.
1325 (grub_efi_piwg_device_path): New structure
1326 (grub_efi_piwg_device_path_t): New type.
1327 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1328 (devpath_1): Transform to a structure. All users updated.
1329 (devpath_2): Likewise.
1330 (devpath_3): Likewise.
1331 (devpath_4): Likewise.
1332 (devpath_5): Likewise.
1333
98ff6a54
VS
13342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * loader/efi/appleloader.c: Restored. Update all users.
1337
3a73dcb6
RM
13382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1339
1340 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1341
1342 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1343 (struct boot_blocklist): Move from here ...
1344 * include/grub/i386/pc/boot.h [ASM_FILE]
1345 (struct grub_boot_blocklist): ... to here. Update all users.
1346 (setup): Only initialize `start' member of `first_block'
1347 structure. Add assert() calls to verify the other members.
1348
1349 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1350 (generate_image): Fix broken blocklist length initialization.
1351 Add assert() call to verify blocklist `segment' field.
1352
ab0eeb0c
RM
13532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1354
1355 * loader/efi/appleloader.c: Remove. Update all users.
1356
58bc8bd5
RM
13572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1358
1359 * boot/i386/pc/boot.S: Update copyright year.
1360 * boot/i386/pc/cdboot.S: Likewise.
1361 * boot/i386/pc/diskboot.S: Likewise.
1362 * boot/i386/pc/lnxboot.S: Likewise.
1363 * boot/i386/pc/pxeboot.S: Likewise.
1364 * bus/pci.c: Likewise.
1365 * commands/cmp.c: Likewise.
1366 * commands/help.c: Likewise.
1367 * commands/hexdump.c: Likewise.
1368 * commands/i386/pc/halt.c: Likewise.
1369 * commands/i386/pc/play.c: Likewise.
1370 * commands/i386/pc/vbeinfo.c: Likewise.
1371 * commands/ls.c: Likewise.
1372 * commands/test.c: Likewise.
1373 * disk/dmraid_nvidia.c: Likewise.
1374 * disk/i386/pc/biosdisk.c: Likewise.
1375 * disk/ieee1275/nand.c: Likewise.
1376 * disk/ieee1275/ofdisk.c: Likewise.
1377 * disk/lvm.c: Likewise.
1378 * disk/raid.c: Likewise.
1379 * disk/raid6_recover.c: Likewise.
1380 * disk/scsi.c: Likewise.
1381 * fs/affs.c: Likewise.
1382 * fs/cpio.c: Likewise.
1383 * fs/ext2.c: Likewise.
1384 * fs/hfs.c: Likewise.
1385 * fs/iso9660.c: Likewise.
1386 * fs/ntfs.c: Likewise.
1387 * fs/sfs.c: Likewise.
1388 * fs/udf.c: Likewise.
1389 * fs/ufs.c: Likewise.
1390 * fs/xfs.c: Likewise.
1391 * gencmdlist.sh: Likewise.
1392 * genmk.rb: Likewise.
1393 * include/grub/disk.h: Likewise.
1394 * include/grub/efi/api.h: Likewise.
1395 * include/grub/efi/efi.h: Likewise.
1396 * include/grub/efi/pe32.h: Likewise.
1397 * include/grub/elf.h: Likewise.
1398 * include/grub/fs.h: Likewise.
1399 * include/grub/i386/at_keyboard.h: Likewise.
1400 * include/grub/i386/pc/memory.h: Likewise.
1401 * include/grub/i386/pc/vbe.h: Likewise.
1402 * include/grub/i386/pci.h: Likewise.
1403 * include/grub/i386/tsc.h: Likewise.
1404 * include/grub/ieee1275/ieee1275.h: Likewise.
1405 * include/grub/ntfs.h: Likewise.
1406 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1407 * include/grub/sparc64/libgcc.h: Likewise.
1408 * include/grub/symbol.h: Likewise.
1409 * include/grub/types.h: Likewise.
1410 * include/multiboot2.h: Likewise.
1411 * io/gzio.c: Likewise.
1412 * kern/device.c: Likewise.
1413 * kern/disk.c: Likewise.
1414 * kern/efi/efi.c: Likewise.
1415 * kern/efi/mm.c: Likewise.
1416 * kern/elf.c: Likewise.
1417 * kern/file.c: Likewise.
1418 * kern/i386/dl.c: Likewise.
1419 * kern/i386/pc/init.c: Likewise.
1420 * kern/i386/pc/startup.S: Likewise.
1421 * kern/ieee1275/ieee1275.c: Likewise.
1422 * kern/ieee1275/init.c: Likewise.
1423 * kern/main.c: Likewise.
1424 * kern/mm.c: Likewise.
1425 * kern/powerpc/dl.c: Likewise.
1426 * kern/sparc64/dl.c: Likewise.
1427 * kern/x86_64/dl.c: Likewise.
1428 * lib/hexdump.c: Likewise.
1429 * loader/efi/appleloader.c: Likewise.
1430 * loader/i386/ieee1275/linux.c: Likewise.
1431 * loader/i386/pc/chainloader.c: Likewise.
1432 * loader/i386/pc/linux.c: Likewise.
1433 * loader/i386/pc/multiboot2.c: Likewise.
1434 * loader/ieee1275/multiboot2.c: Likewise.
1435 * loader/multiboot2.c: Likewise.
1436 * loader/multiboot_loader.c: Likewise.
1437 * loader/powerpc/ieee1275/linux.c: Likewise.
1438 * normal/completion.c: Likewise.
1439 * normal/menu_entry.c: Likewise.
1440 * partmap/apple.c: Likewise.
1441 * util/grub.d/10_hurd.in: Likewise.
1442 * util/hostfs.c: Likewise.
1443 * video/readers/png.c: Likewise.
1444
e2d70b5c
CW
14452010-01-03 Colin Watson <cjwatson@ubuntu.com>
1446
1447 * include/grub/misc.h (GNUC_PREREQ): New macro.
1448 (ATTRIBUTE_ERROR): New macro.
1449 * include/grub/list.h (grub_bad_type_cast_real): Use
1450 ATTRIBUTE_ERROR.
1451
a173283f 14522010-01-03 Carles Pina i Estany <carles@pina.cat>
1453
1454 * normal/menu_text.c (print_message): Change messages.
1455
7fa7ff74 14562010-01-03 Carles Pina i Estany <carles@pina.cat>
1457
1458 * normal/menu_entry.c (store_completion): Gettextizze.
1459
136d24f6 14602010-01-03 Carles Pina i Estany <carles@pina.cat>
1461
1462 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1463
f936862e 14642010-01-03 Carles Pina i Estany <carles@pina.cat>
1465
1466 * po/POTFILES: Sort correctly.
1467
29c44ad1 14682010-01-03 Carles Pina i Estany <carles@pina.cat>
1469
1470 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1471 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1472 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1473 full stop.
1474 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1475 summary. Gettextizze the strings.
1476 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1477 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1478 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1479 full stop.
1480 (GRUB_MOD_INIT): Remove command name from summary.
1481 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1482 summary.
1483 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1484 * term/i386/pc/serial.c (options): Add full stops.
1485 (GRUB_MOD_INIT): Remove command name from the summary.
1486
77a79592 14872010-01-03 Carles Pina i Estany <carles@pina.cat>
1488
1489 * commands/acpi.c: Gettextizze help strings and/or options. Include
1490 `grub/i18n.h' if needed.
1491 * commands/blocklist.c: Likewise.
1492 * commands/boot.c: Likewise.
1493 * commands/cat.c: Likewise.
1494 * commands/cmp.c: Likewise.
1495 * commands/configfile.c: Likewise.
1496 * commands/crc.c: Likewise.
1497 * commands/date.c: Likewise.
1498 * commands/echo.c: Likewise.
1499 * commands/efi/fixvideo.c: Likewise.
1500 * commands/efi/loadbios.c: Likewise.
1501 * commands/gptsync.c: Likewise.
1502 * commands/halt.c: Likewise.
1503 * commands/handler.c: Likewise.
1504 * commands/hdparm.c: Likewise.
1505 * commands/hexdump.c: Likewise.
1506 * commands/i386/cpuid.c: Likewise.
1507 * commands/i386/pc/drivemap.c: Likewise.
1508 * commands/i386/pc/halt.c: Likewise.
1509 * commands/i386/pc/pxecmd.c: Likewise.
1510 * commands/i386/pc/vbeinfo.c: Likewise.
1511 * commands/i386/pc/vbetest.c: Likewise.
1512 * commands/ieee1275/suspend.c: Likewise.
1513 * commands/keystatus.c: Likewise.
1514 * commands/loadenv.c: Likewise.
1515 * commands/ls.c: Likewise.
1516 * commands/lsmmap.c: Likewise.
1517 * commands/lspci.c: Likewise.
1518 * commands/memrw.c: Likewise.
1519 * commands/minicmd.c: Likewise.
1520 * commands/parttool.c: Likewise.
1521 * commands/password.c: Likewise.
1522 * commands/probe.c: Likewise.
1523 * commands/read.c: Likewise.
1524 * commands/reboot.c: Likewise.
1525 * commands/search.c: Likewise.
1526 * commands/sleep.c: Likewise.
1527 * commands/test.c: Likewise.
1528 * commands/true.c: Likewise.
1529 * commands/usbtest.c: Likewise.
1530 * commands/videotest.c: Likewise.
1531 * commands/xnu_uuid.c: Likewise.
1532 * disk/loopback.c: Likewise.
1533 * hello/hello.c: Likewise.
1534 * loader/i386/bsd.c: Likewise.
1535 * term/i386/pc/serial.c: Likewise.
1536 * po/POTFILES: Add new files.
1537
da8d5c53
CW
15382010-01-02 Colin Watson <cjwatson@ubuntu.com>
1539
1540 * term/i386/pc/at_keyboard.c
1541 (keyboard_controller_wait_untill_ready): Rename to ...
1542 (keyboard_controller_wait_until_ready): ... this. Update all users.
1543
33937904 15442010-01-01 Carles Pina i Estany <carles@pina.cat>
1545
1546 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
1547 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
1548 string using string width.
1549 * normal/menu_text.c (grub_print_message_indented): Use
1550 grub_print_spaces and not print_spaces.
1551 (print_timeout): Likewise.
1552 (print_spaces): Move to...
1553 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
1554
3fd3b8d8
RM
15552010-01-01 Robert Millan <rmh.grub@aybabtu.com>
1556
1557 Import from Gnulib.
1558
1559 * gnulib/getdelim.c: New file.
1560 * gnulib/getline.c: Likewise.
1561
33433555
VS
15622009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
1563
1564 * include/grub/list.h (grub_assert_fail): Removed.
1565 (grub_bad_type_cast_real): New function.
1566 (grub_bad_type_cast): New macro.
1567 (GRUB_AS_LIST): Use grub_bad_type_cast.
1568 (GRUB_AS_LIST_P): Likewise.
e44721e8 1569 (GRUB_AS_NAMED_LIST): Likewise.
33433555 1570 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 1571 (GRUB_AS_PRIO_LIST): Likewise.
33433555 1572 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 1573 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 1574
f5a51306
VS
15752009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
1578 Fix syntax error.
1579
90d1e879
RM
15802009-12-29 Robert Millan <rmh.grub@aybabtu.com>
1581
1582 * configure.ac: Check for TARGET_CFLAGS initialization before we
1583 initialize it ourselves (sigh).
1584 Move a few modifications to TARGET_CFLAGS to be unconditional
1585 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
1586 eh_frame)
1587
1588 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
1589 * term/i386/pc/at_keyboard.c
1590 (keyboard_controller_wait_untill_ready): Likewise.
1591 (keyboard_controller_led): Rename `led_status' paramter to avoid
1592 name conflict.
1593
465b5a81 15942009-12-28 Carles Pina i Estany <carles@pina.cat>
1595
1596 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
1597 quotes.
1598
c181849b
VS
15992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
1602
9c8739a4
VS
16032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * normal/menu_text.c (grub_print_message_indented): Prevent
1606 past-the-end-of-array dereference.
1607
3e74249c
VS
16082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
1611 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
1612
64fd18ed 16132009-12-27 Carles Pina i Estany <carles@pina.cat>
1614
1615 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
1616 * normal/main.c (grub_normal_read_line): Remove a space from the
1617 default prompt.
1618
714af9b9 16192009-12-27 Carles Pina i Estany <carles@pina.cat>
1620
1621 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
1622 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1623 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1624 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1625 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1626 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1627 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1628
82f3e412 16292009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 1630
1631 * video/readers/jpeg.c (cmd): Declare.
1632 (grub_cmd_jpegtest): Use `grub_command_t' type.
1633 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1634 Assign to `cmd'.
1635 (GRUB_MOD_FINI): Use `cmd' to unregister.
1636 * video/readers/png.c (cmd): Declare.
1637 (grub_cmd_pngtest): Use `grub_command_t' type.
1638 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1639 Assign to `cmd'.
1640 (GRUB_MOD_FINI): Use `cmd' to unregister.
1641 * video/readers/tga.c (cmd): Declare.
1642 (grub_cmd_tgatest): Use `grub_command_t' type.
1643 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1644 Assign to `cmd'.
1645 (GRUB_MOD_FINI): Use `cmd' to unregister.
1646
82f3e412 16472009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 1648
1649 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
1650 stops.
1651 * kern/corecmd.c (grub_register_core_commands): Likewise.
1652 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
1653 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1654 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
1655 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1656 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1657 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
1658 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1659 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
1660 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1661 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1662 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1663 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1664 * normal/handler.c (insert_handler): Likewise.
1665 * normal/main.c (GRUB_MOD_INIT): Likewise.
1666 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1667
fdcdbb66 16682009-12-26 Carles Pina i Estany <carles@pina.cat>
1669
1670 * commands/help.c (grub_cmd_help): Print the command name before the
1671 summary.
1672 (GRUB_MOD_INIT): Remove command name from the summary.
1673 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 1674 string as summary.
fdcdbb66 1675 * lib/arg.c (find_long): Print the command name before the summary.
1676 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
1677 summary.
1678 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
1679 * commands/cat.c (GRUB_MOD_INIT): Likewise.
1680 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
1681 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
1682 * commands/crc.c (GRUB_MOD_INIT): Likewise.
1683 * commands/date.c (GRUB_MOD_INIT): Likewise.
1684 * commands/echo.c (GRUB_MOD_INIT): Likewise.
1685 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
1686 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1687 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1688 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
1689 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
1690 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
1691 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
1692 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1693 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
1694 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
1695 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
1696 * commands/ls.c (GRUB_MOD_INIT): Likewise.
1697 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1698 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1699 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1700 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
1701 * commands/password.c (GRUB_MOD_INIT): Likewise.
1702 * commands/probe.c (GRUB_MOD_INIT): Likewise.
1703 * commands/read.c (GRUB_MOD_INIT): Likewise.
1704 * commands/search.c (GRUB_MOD_INIT): Likewise.
1705 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
1706 * commands/test.c (GRUB_MOD_INIT): Likewise.
1707 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
1708 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1709 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1710 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
1711 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1712 * lib/arg.c (GRUB_MOD_INIT): Likewise.
1713 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
1714 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1715 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1716 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1717 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1718 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
1719 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
1720 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
1721
9c288be2
VS
17222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Use search command for preliminar UUID search.
1725
1726 * commands/search.c: Split into ...
1727 * commands/search_wrap.c: ...this
1728 * commands/search.c: ...and this.
1729 * commands/search_file.c: New file.
1730 * commands/search_label.c: New file.
1731 * commands/search_uuid.c: New file.
1732 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
1733 Add commands/search_wrap.c, commands/search_file.c,
1734 commands/search_label.c and commands/search_uuid.c.
1735 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
1736 (search_mod_SOURCES): Set to commands/search_wrap.c.
1737 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
1738 search_label.mod.
1739 (search_fs_file_mod_SOURCES): New variable.
1740 (search_fs_file_mod_CFLAGS): Likewise.
1741 (search_fs_file_mod_LDFLAGS): Likewise.
1742 (search_label_mod_SOURCES): Likewise.
1743 (search_label_mod_CFLAGS): Likewise.
1744 (search_label_mod_LDFLAGS): Likewise.
1745 (search_fs_uuid_mod_SOURCES): New variable.
1746 (search_fs_uuid_mod_CFLAGS): Likewise.
1747 (search_fs_uuid_mod_LDFLAGS): Likewise.
1748 (fs_file_mod_SOURCES): Removed.
1749 (fs_file_mod_CFLAGS): Likewise.
1750 (fs_file_mod_LDFLAGS): Likewise.
1751 (fs_uuid_mod_SOURCES): Removed.
1752 (fs_uuid_mod_CFLAGS): Likewise.
1753 (fs_uuid_mod_LDFLAGS): Likewise.
1754 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
1755 Set to util/grub-install.in.
1756 * disk/fs_file.c: Removed.
1757 * disk/fs_uuid.c: Likewise.
1758 * include/grub/search.h: New file.
1759 * util/grub-install.in: Handle sparc64.
1760 Create and use load.cfg.
1761 * util/sparc64/ieee1275/grub-install.in: Removed.
1762
db943399
VS
17632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
1766 Ignore return status if CF is cleared.
1767 (grub_biosdisk_get_diskinfo_standard): Likewise.
1768
3fdae612
RM
17692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1770
1771 * term/i386/pc/at_keyboard.c
1772 (keyboard_controller_wait_untill_ready): New function.
1773 (grub_keyboard_controller_write, grub_keyboard_controller_read)
1774 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
1775 for keyboard polling, rather than duplicate the same loop. This
1776 saves a few bytes in code size.
1777
7ebaa2b4
VS
17782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Support for (pxe[:server[:gateway]]) syntax and
1781 use environment variable for PXE.
1782
1783 * commands/i386/pc/pxecmd.c (options): Removed.
1784 (print_ip): Removed.
1785 (grub_cmd_pxe): Removed
1786 (grub_cmd_pxe_unload): New function.
1787 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
1788 (grub_pxe_your_ip): Made static.
1789 (grub_pxe_default_server_ip): Likewise.
1790 (grub_pxe_default_gateway_ip): Likewise.
1791 (grub_pxe_blksize): Likewise.
1792 (parse_ip): New function.
1793 (grub_pxe_open): Support server and gateway specification.
1794 (grub_pxe_close): Free disk->data.
1795 (grub_pxefs_open): Use disk->data.
1796 (grub_pxefs_read): Likewise.
1797 (grub_env_write_readonly): New function.
1798 (set_mac_env): Likewise.
1799 (set_env_limn_ro): Likewise.
1800 (parse_dhcp_vendor): Likewise.
1801 (grub_pxe_detect): Set the environment variables.
1802 (set_ip_env): New function.
1803 (write_ip_env): Likewise.
1804 (grub_env_write_pxe_default_server): Likewise.
1805 (grub_env_write_pxe_default_gateway): Likewise.
1806 (grub_env_write_pxe_blocksize): Likewise.
1807 (GRUB_MOD_INIT(pxe)): Set environment variables.
1808 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
1809 (grub_pxe_mac_addr_t): ... this. All users updated.
1810 (grub_pxe_your_ip): Removed.
1811 (grub_pxe_server_ip): Likewise.
1812 (grub_pxe_gateway_ip): Likewise.
1813 (grub_pxe_blksize): Likewise.
1814
ec5f98ab 18152009-12-25 Carles Pina i Estany <carles@pina.cat>
1816
1817 * commands/help.c: Include `<grub/i18n.h>'.
1818 (grub_cmd_help): Gettextizze.
1819 (GRUB_MOD_INIT): Likewise.
1820 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
1821 (GRUB_MOD_INIT): Gettextizze.
1822 * commands/search.c: Include `<grub/i18n.h>'.
1823 (options): Gettextizze.
1824 (GRUB_MOD_INIT): Gettextizze.
1825 * lib/arg.c: Include `<grub/i18n.h>'.
1826 (help_options): Gettextizze.
1827 (find_long): Likewise.
1828 (grub_arg_show_help): Likewise.
1829 * normal/dyncmd.c: Include `<grub/i18n.h>'.
1830 (read_command_list): Gettextizze.
1831 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 1832 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 1833
22815526
RM
18342009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1835
1836 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
1837 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
1838 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
1839 (led_status): New variable.
1840 (keyboard_controller_led): New function.
1841 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
1842 update led status for caps lock, num lock and scroll lock.
1843
0ad46fd7
FZ
18442009-12-25 Felix Zielcke <fzielcke@z-51.de>
1845
1846 * util/hostdisk.c (open_device): Fix a comment.
1847
d0e158c2
RM
18482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1849
1850 * util/grub-install.in (host_os): New variable.
1851 * util/i386/efi/grub-install.in (host_os): Likewise.
1852
401c0ad6
RM
18532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1854
1855 * util/mkisofs/write.c (padblock_write): Abort when given an
1856 excedingly large embed image, instead of silently truncating it.
1857
d14d3370
RM
18582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1859
1860 * include/multiboot.h: Indentation fixes.
1861
eeed10b4
RM
18622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1863
1864 * include/multiboot.h (struct multiboot_aout_symbol_table)
1865 (struct multiboot_elf_section_header_table): New structure
1866 declarations (stolen from GRUB Legacy).
1867 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
1868 table information.
1869
1870 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
1871 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
1872 type aliases.
1873
681c70ab
RM
18742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1875
1876 * include/multiboot.h: Make comments src2texi-friendly.
1877
e4d47d8d
RM
18782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1879
1880 For consistency with [multiboot]/docs/boot.S.
1881
1882 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
1883 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
1884 (MULTIBOOT_MAGIC2): Rename from this ...
1885 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
1886
a0b70bda
RM
18872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1888
1889 * include/multiboot.h: Remove `<grub/types.h>'.
1890 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
1891 types. Update all users.
1892
61ba42be 18932009-12-25 Carles Pina i Estany <carles@pina.cat>
1894
1895 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
1896 `couldn't' and `can not' by `cannot'.
1897 * commands/i386/pc/drivemap.c: Likewise.
1898 * disk/ata.c: Likewise.
1899 * disk/ieee1275/nand.c: Likewise.
1900 * fs/affs.c: Likewise.
1901 * fs/fat.c: Likewise.
1902 * fs/hfs.c: Likewise.
1903 * fs/hfsplus.c: Likewise.
1904 * fs/iso9660.c: Likewise.
1905 * fs/jfs.c: Likewise.
1906 * fs/minix.c: Likewise.
1907 * fs/reiserfs.c: Likewise.
1908 * fs/sfs.c: Likewise.
1909 * fs/udf.c: Likewise.
1910 * fs/ufs.c: Likewise.
1911 * fs/xfs.c: Likewise.
1912 * loader/powerpc/ieee1275/linux.c: Likewise.
1913 * loader/sparc64/ieee1275/linux.c: Likewise.
1914 * util/grub-probe.c: Likewise.
1915 * util/misc.c: Likewise.
1916
7fd0baee 19172009-12-24 Carles Pina i Estany <carles@pina.cat>
1918
1919 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
1920 grub_errno calls.
1921 * commands/acpi.c: Likewise.
1922 * commands/blocklist.c: Likewise.
1923 * commands/efi/loadbios.c: Likewise.
1924 * commands/i386/pc/drivemap.c: Likewise.
1925 * commands/loadenv.c: Likewise.
1926 * commands/memrw.c: Likewise.
1927 * commands/password.c: Likewise.
1928 * commands/videotest.c: Likewise.
1929 * disk/ata.c: Likewise.
1930 * disk/ata_pthru.c: Likewise.
1931 * disk/dmraid_nvidia.c: Likewise.
1932 * disk/ieee1275/nand.c: Likewise.
1933 * disk/ieee1275/ofdisk.c: Likewise.
1934 * disk/loopback.c: Likewise.
1935 * disk/lvm.c: Likewise.
1936 * disk/mdraid_linux.c: Likewise.
1937 * disk/raid.c: Likewise.
1938 * disk/raid6_recover.c: Likewise.
1939 * disk/scsi.c: Likewise.
1940 * efiemu/main.c: Likewise.
1941 * efiemu/mm.c: Likewise.
1942 * efiemu/pnvram.c: Likewise.
1943 * efiemu/symbols.c: Likewise.
1944 * font/font.c: Likewise.
1945 * fs/cpio.c: Likewise.
1946 * fs/hfsplus.c: Likewise.
1947 * fs/iso9660.c: Likewise.
1948 * fs/jfs.c: Likewise.
1949 * fs/minix.c: Likewise.
1950 * fs/ntfs.c: Likewise.
1951 * fs/ntfscomp.c: Likewise.
1952 * fs/reiserfs.c: Likewise.
1953 * fs/ufs.c: Likewise.
1954 * fs/xfs.c: Likewise.
1955 * gettext/gettext.c: Likewise.
1956 * include/grub/auth.h: Likewise.
1957 * kern/elf.c: Likewise.
1958 * kern/file.c: Likewise.
1959 * kern/ieee1275/init.c: Likewise.
1960 * kern/ieee1275/mmap.c: Likewise.
1961 * kern/ieee1275/openfw.c: Likewise.
1962 * kern/powerpc/dl.c: Likewise.
1963 * kern/sparc64/dl.c: Likewise.
1964 * lib/arg.c: Likewise.
1965 * loader/i386/bsd.c: Likewise.
1966 * loader/i386/bsdXX.c: Likewise.
1967 * loader/i386/efi/linux.c: Likewise.
1968 * loader/i386/efi/xnu.c: Likewise.
1969 * loader/i386/ieee1275/linux.c: Likewise.
1970 * loader/i386/linux.c: Likewise.
1971 * loader/i386/multiboot.c: Likewise.
1972 * loader/i386/pc/linux.c: Likewise.
1973 * loader/i386/pc/multiboot2.c: Likewise.
1974 * loader/i386/xnu.c: Likewise.
1975 * loader/ieee1275/multiboot2.c: Likewise.
1976 * loader/macho.c: Likewise.
1977 * loader/machoXX.c: Likewise.
1978 * loader/multiboot2.c: Likewise.
1979 * loader/multiboot_loader.c: Likewise.
1980 * loader/powerpc/ieee1275/linux.c: Likewise.
1981 * loader/sparc64/ieee1275/linux.c: Likewise.
1982 * loader/xnu.c: Likewise.
1983 * loader/xnu_resume.c: Likewise.
1984 * mmap/i386/pc/mmap.c: Likewise.
1985 * normal/menu_viewer.c: Likewise.
1986 * partmap/acorn.c: Likewise.
1987 * partmap/amiga.c: Likewise.
1988 * partmap/apple.c: Likewise.
1989 * script/lexer.c: Likewise.
1990 * term/gfxterm.c: Likewise.
1991 * term/i386/pc/serial.c: Likewise.
1992 * term/i386/pc/vga.c: Likewise.
1993 * term/ieee1275/ofconsole.c: Likewise.
1994 * term/terminfo.c: Likewise.
1995 * video/bitmap.c: Likewise.
1996 * video/efi_gop.c: Likewise.
1997 * video/efi_uga.c: Likewise.
1998 * video/fb/video_fb.c: Likewise.
1999 * video/i386/pc/vbe.c: Likewise.
2000 * video/readers/tga.c: Likewise.
2001 * video/video.c: Likewise.
2002
0ad46fd7 20032009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2004
2005 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2006 * commands/lspci.c: Likewise.
2007 * commands/probe.c: Likewise.
2008 * commands/xnu_uuid.c: Likewise.
2009 * conf/i386-coreboot.rmk: Likewise.
2010 * conf/i386-efi.rmk: Likewise.
2011 * conf/i386-ieee1275.rmk: Likewise.
2012 * conf/i386-pc.rmk: Likewise.
2013 * conf/powerpc-ieee1275.rmk: Likewise.
2014 * conf/sparc64-ieee1275.rmk: Likewise.
2015 * conf/x86_64-efi.rmk: Likewise.
2016 * fs/i386/pc/pxe.c: Likewise.
2017 * gettext/gettext.c: Likewise.
2018 * include/grub/efi/graphics_output.h: Likewise.
2019 * include/grub/i386/pc/memory.h: Likewise.
2020 * kern/env.c: Likewise.
2021 * kern/i386/qemu/startup.S: Likewise.
2022 * lib/i386/pc/biosnum.c: Likewise.
2023 * lib/i386/relocator.c: Likewise.
2024 * lib/i386/relocator_asm.S: Likewise.
2025 * lib/relocator.c: Likewise.
2026 * loader/i386/bsd.c: Likewise.
2027 * loader/i386/multiboot.c: Likewise.
2028 * loader/i386/pc/chainloader.c: Likewise.
2029 * loader/i386/xnu.c: Likewise.
2030 * loader/xnu.c: Likewise.
2031 * normal/main.c: Likewise.
2032 * normal/menu_text.c: Likewise.
2033 * util/getroot.c: Likewise.
2034 * util/grub-mkconfig_lib.in: Likewise.
2035 * util/grub.d/00_header.in: Likewise.
2036 * util/i386/pc/grub-mkimage.c: Likewise.
2037 * util/mkisofs/eltorito.c: Likewise.
2038 * util/mkisofs/exclude.h: Likewise.
2039 * util/mkisofs/hash.c: Likewise.
2040 * util/mkisofs/iso9660.h: Likewise.
2041 * util/mkisofs/joliet.c: Likewise.
2042 * util/mkisofs/mkisofs.c: Likewise.
2043 * util/mkisofs/mkisofs.h: Likewise.
2044 * util/mkisofs/multi.c: Likewise.
2045 * util/mkisofs/name.c: Likewise.
2046 * util/mkisofs/rock.c: Likewise.
2047 * util/mkisofs/tree.c: Likewise.
2048 * util/mkisofs/write.c: Likewise.
2049 * video/efi_gop.c: Likewise.
2050
009ec743
VS
20512009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2054 size counting.
2055
0ad46fd7 20562009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2057
2058 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2059 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2060
d3d30ea0
VS
20612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2064 (GRUB_MOD_INIT(memrw)): Update help line.
2065
a34f5c70
VS
20662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2069 Use grub_extcmd_t. All users updated.
2070 (options): New variable.
2071 (grub_cmd_read): Restructure for readability. Support "-v" option.
2072 (grub_cmd_write): Restructure for readability.
2073
0ad46fd7 20742009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2075
2076 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2077
0ad46fd7 20782009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2079
2080 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2081 with the actual contents of the correspondending make variable.
2082 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2083 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2084 specifying `*.lst' and `efiemu??.o'
2085
0ad46fd7 20862009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2087
2088 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2089 after function name.
2090 Noticed by Rene Engelhard <rene@debian.org>.
2091
dc77a799
VS
20922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2095 (options): New variable.
2096 (iospace): Likewise.
2097 (grub_lspci_iter): List IO spaces if "-i" was given.
2098 (grub_cmd_lspci): Parse options.
2099 (GRUB_MOD_INIT(lspci)): Use extcmd.
2100 (GRUB_MOD_FINI(lspci)): Likewise.
2101
0ad46fd7 21022009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2103
2104 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2105 `function' keyword.
2106 Patch by Tony Mancill <tmancill@debian.org>.
2107
b5d5993b
VS
21082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2111 (grub_uhci_portstatus): Likewise.
2112 (grub_uhci_portstatus): Add necessary delay.
11d18281 2113 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2114
941903f2 21152009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2116
941903f2 2117 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2118 (GRUB_MOD_INIT): Likewise.
2119 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2120 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2121 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2122 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2123 (enable_rom_area): Likewise.
2124 (GRUB_MOD_INIT): Likewise.
2125 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2126 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2127 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2128 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2129 * commands/hexdump.c (options): Likewise.
2130 * commands/i386/cpuid.c (options): Likewise.
2131 (GRUB_MOD_INIT): Likewise.
2132 * commands/i386/pc/drivemap.c (options): Likewise.
2133 (GRUB_MOD_INIT): Likewise.
2134 * commands/i386/pc/halt (options): Likewise.
2135 (GRUB_MOD_INIT): Likewise.
2136 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2137 * commands/i386/pc/pxecmd.c (options): Likewise.
2138 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2139 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2140 * commands/keystatus.c (options): Likewise.
2141 (GRUB_MOD_INIT): Likewise.
2142 * commands/loadenv.c (options): Likewise.
2143 * commands/ls.c (options): Likewise.
2144 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2145 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2146 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2147 * commands/parttool.c (helpmsg): Likewise.
2148 * commands/probe.c (options): Likewise.
2149 * commands/read.c (GRUB_MOD_INIT): Likewise.
2150 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2151 * commands/search.c (options): Likewise.
2152 * commands/sleep.c (options): Likewise.
2153 * commands/test.c (GRUB_MOD_INIT): Likewise.
2154 * commands/true.c (GRUB_MOD_INIT): Likewise.
2155 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2156 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2157 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2158 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2159 `$(XGETTEXT)'.
98a50553 2160 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2161
0ad46fd7 21622009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2163
ef3c2c3a 2164 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2165 instead of specifying them explicit.
2166
7922f68b
RM
21672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2168
2169 * NEWS: Add grub-probe support for GNU/Hurd.
2170
537ce47f
RM
21712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2172
2173 * NEWS: gettext was added after 1.97.
2174
9b214e3a
RM
21752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2176
2177 * util/mkisofs/msdos_partition.h: New file (based on
2178 include/grub/msdos_partition.h).
2179 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2180 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2181 (ld_options, main): Recognize --protective-msdos-label.
2182 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2183 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2184 (padblock_write): If `use_protective_msdos_label' is set, patch a
2185 protective DOS-style label in the output image.
2186
2187 * util/grub-mkrescue.in: Use --protective-msdos-label.
2188
e9309813
RM
21892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2190
2191 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2192 boot.
2193
0ae56929
RM
21942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2195
2196 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2197 variables.
2198 (ld_options, main): Recognize `--embedded-boot'.
2199 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2200 declarations.
2201 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2202 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2203 (padblock_write): Likewise. Rewrite to support embedded boot image.
2204
2205 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2206 for BIOS-based disk boot instead of only ElTorito.
2207
b15937b1
RM
22082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2209
2210 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2211 build (not needed for bootstrap).
2212
52cc3ce0
RM
22132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2214
2215 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2216 from i386-pc build (not needed for bootstrap).
2217 Rewrite a pair of strings.
2218
36f5ff04
RM
22192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2220
2221 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2222
973c6c85 22232009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2224
2225 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2226
05d21547
AB
22272009-12-21 Andreas Born <futur.andy@googlemail.com>
2228
2229 * kern/env.c (grub_env_context_open): Mark exported variable for
2230 reexport.
2231
0175d51f
AB
22322009-12-21 Andreas Born <futur.andy@googlemail.com>
2233
2234 * kern/env.c (grub_env_export): Create nonexistent variables before
2235 exporting.
2236
7f39d92f 22372009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2238
7f39d92f 2239 * include/grub/auth.h: Include `<grub/i18n.h>'.
2240 (GRUB_GET_PASSWORD): Gettextizze string.
2241 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2242 menu_text.c.
2243 (grub_utf8_to_ucs4_alloc): Fix indentation.
2244 (grub_print_ucs4): Likewise.
2245 (grub_getstringwidth): Likewise.
2246 (print_message_indented): New declaration.
2247 * normal/auth.c: Include `<grub/i18n.h>'.
2248 (grub_auth_check_authentication): Gettexttize string.
2249 * normal/cmdline.c: Include `<grub/i18n.h>'.
2250 (grub_cmdline_get): Gettextizze.
2251 * normal/color.c: Include `<grub/i18n.h>'.
2252 (grub_parse_color_name_pair): Gettexttize strings.
2253 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2254 string (use `print_message_indented').
2255 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2256 `include/grub/normal.h'.
2257 (print_message_indented): Renamed to ...
2258 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2259 used in normal/main.c).
2260 (print_message): Use `grub_print_message_indented' instead of
2261 `print_message_indented'.
2262 (print_timeout): Likewise.
2263 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2264 (grub_normal_print_device_info): Gettexttize strings.
2265 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2266
3041d898
VS
22672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2270 of arguments. Return number of tokens and not arguments. All users
2271 updated.
2272
de15bf8e
VS
22732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2276 non-MSDOS paritions.
2277
e0a6ca52
VS
22782009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * include/grub/types.h (UNUSED): Removed since it conflicts with
2281 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2282 Reported by Grégoire Sutre.
2283
b99518d1 22842009-12-19 Carles Pina i Estany <carles@pina.cat>
2285
2286 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2287 (grub_print_ucs4_alloc): Likewise.
2288 (grub_getstringwidth): Likewise.
2289 * normal/main.c (grub_normal_init_page): Gettextize version string.
2290 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2291 (getstringwidth): Renamed to ...
2292 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2293 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2294 (grub_print_ucs4): Remove `static' qualifer (now used in
2295 normal/main.c).
2296 * po/POTFILES: Add normal/main.c.
2297
bfd5e52b 22982009-12-19 Carles Pina i Estany <carles@pina.cat>
2299
2300 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2301 (print_message_indented): Add `margin_left' and `margin_right'
2302 parameters.
2303 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2304 strings.
2305 (print_timeout): Use `print_message_indented' to print the message.
2306 Deletes `second_stage' parameter.
2307 (run_menu): Update `print_timeout' calls.
2308
5a1ad2b9
VS
23092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Fix console palette on OpenFirmware.
2312
2313 * term/ieee1275/ofconsole.c (MAX): Removed.
2314 (colors): Redone based on VGA palette.
2315 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2316 colors are supported.
2317 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2318
b045f00a
VS
23192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 Fix potential EfiEmu double prepare.
2322
2323 * efiemu/main.c (prepared): New variable
2324 (grub_efiemu_unload): Set prepare to '0'.
2325 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2326
2327 set_virtual_address_map support.
2328
2329 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2330 prototype.
2331 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2332 prototype.
2333 (grub_efiemu_crc32): Likewise.
2334 (grub_efiemu_crc64): Likewise.
2335 (grub_efiemu_set_virtual_address_map): Likewise.
2336 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2337 New definition.
2338 (grub_autoefi_set_virtual_address_map): Likewise.
2339 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2340 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2341 Restructure flow to accomodate it.
2342 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2343 (grub_efiemu_crc): Recompute CRC32.
2344 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2345 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2346 * efiemu/symbols.c (relocated_handle): New variable.
2347 (grub_efiemu_free_syms): Free relocated_handle.
2348 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2349 (grub_efiemu_write_sym_markers): New function.
2350 (grub_efiemu_set_virtual_address_map): Likewise.
2351
2352 Newer XNU parameters.
2353
2354 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2355 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2356 (grub_xnu_fill_devicetree): New prototype.
2357 (grub_xnu_heap_real_start): New variable.
2358 * loader/xnu.c (get_name_ptr): New function.
2359 (grub_xnu_load_driver): Fill namelen and name.
2360
2361 64-bit xnu support.
2362
2363 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2364 and 'loader/macho64.c'.
2365 * conf/i386-pc.rmk: Likewise.
2366 * conf/x86_64-efi.rmk: Likewise.
2367 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2368 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2369 * include/grub/macho.h (grub_macho_segment64): New structure.
2370 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2371 (grub_macho_size32): ... to this.
2372 (grub_macho32_get_entry_point): Renamed from ...
2373 (grub_macho_get_entry_point32): ... to this.
2374 (grub_macho_contains_macho64): New prototype.
2375 (grub_macho_size64): Likewise.
2376 (grub_macho_get_entry_point64): Likewise.
2377 (grub_macho32_load): Renamed from ...
2378 (grub_macho_load32): ... to this.
2379 (grub_macho32_filesize): Renamed from ...
2380 (grub_macho_filesize32): ... to this.
2381 (grub_macho32_readfile): Renamed from ...
2382 (grub_macho_readfile32): ... to this.
2383 (grub_macho_filesize64): New prototype.
2384 (grub_macho_readfile64): Likewise.
2385 (grub_macho_parse32): Likewise.
2386 (grub_macho_parse64): Likewise.
2387 * loader/macho.c: Split into ...
2388 * loader/machoXX.c: ... and this. Replace 32 with XX.
2389 * loader/macho32.c: New file.
2390 * loader/macho64.c: Likewise.
2391 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2392 (grub_cmd_xnu_kernel): Make 32-bit only.
2393 (grub_cmd_xnu_kernel64): New function.
2394 (grub_xnu_load_driver): Support Mach-O 64.
2395 (grub_cmd_xnu_mkext): Likewise.
2396 * util/grub.d/30_os-prober.in (osx_entry): New function.
2397 Generate entries for 64-bit boot too.
2398
2399 Eliminate ad-hoc tree format in XNU and EfiEmu.
2400
2401 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2402 * efiemu/pnvram.c: Rewritten to use environment variables.
2403 All users updated.
2404
2405 Inline utf16_to_utf8.
2406
2407 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2408 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2409 All users updated.
2410 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2411
2412 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2413 * commands/usbtest.c (grub_usb_get_string): ... move here.
2414 (usb_print_str): Fix error handling.
2415 * include/grub/usb.h (grub_usb_get_string): Remove.
2416
2417 UTF-8 to UTF-16 transformation.
2418
2419 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2420 (charset_mod_SOURCES): New variable.
2421 (charset_mod_CFLAGS): Likewise.
2422 (charset_mod_LDFLAGS): Likewise.
2423 * include/grub/utf.h: New file.
2424 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2425
2426 Support for device properties.
2427
2428 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2429 (grub_xnu_devprop_device_header): Likewise.
2430 (grub_xnu_devprop_device_descriptor): Likewise.
2431 (grub_xnu_devprop_add_device): New prototype.
2432 (grub_xnu_devprop_remove_device): Likewise.
2433 (grub_xnu_devprop_remove_property): Likewise.
2434 (grub_xnu_devprop_add_property_utf8): Likewise.
2435 (grub_xnu_devprop_add_property_utf16): Likewise.
2436 (grub_cpu_xnu_init): Likewise.
2437 (grub_cpu_xnu_fini): Likewise.
2438 (grub_cpu_xnu_unload): Likewise.
2439 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2440 (property_descriptor): Likewise.
2441 (devices): New variable.
2442 (grub_xnu_devprop_remove_property): New function.
2443 (grub_xnu_devprop_add_device): Likewise.
2444 (grub_xnu_devprop_remove_device): Likewise.
2445 (grub_xnu_devprop_add_property): Likewise.
2446 (grub_xnu_devprop_add_property_utf8): Likewise.
2447 (grub_xnu_devprop_add_property_utf16): Likewise.
2448 (hextoval): Likewise.
2449 (grub_cpu_xnu_fill_devprop): Likewise.
2450 (grub_cmd_devprop_load): Likewise.
2451 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2452 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2453 (cmd_devprop_load): New variable.
2454 (grub_cpu_xnu_init): New function.
2455 (grub_cpu_xnu_fini): Likewise.
2456 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2457 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2458 (grub_cmd_xnu_devtree): Likewise.
2459 (hextoval): New function.
2460 (unescape): Likewise.
2461 (grub_xnu_fill_devicetree): Likewise.
2462
2463 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2464 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2465
0945f181
VS
24662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Workaround for broken ATI VBE.
2469
2470 * video/i386/pc/vbe.c (last_set_mode): New variable.
2471 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2472 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2473 (grub_video_vbe_setup): Don't check for reserved flag.
2474
0ad46fd7 24752009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2476
2477 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2478 the `find' command.
2479
c179ebe4
VS
24802009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 UUID support for HFS.
2483
2484 * fs/hfs.c (grub_hfs_uuid): New function.
2485 (grub_hfs_fs): New value .uuid.
2486 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2487
0ad46fd7 24882009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2489
2490 Fix a segfault with parsing unknown long options.
2491
2492 * util/grub-mkrelpath.c (options): Zero terminate it.
2493
c4a3e41a
CPE
24942009-12-13 Carles Pina i Estany <carles@pina.cat>
2495
2496 * include/grub/misc.h (grub_puts): New declaration.
2497 (grub_puts_): Likewise.
a22008a6 2498 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2499 (grub_puts_): Likewise.
2500
2e8a7602
RM
25012009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2502
2503 * util/grub-probe.c (probe): Improve error message.
2504
b50b77b9
RM
25052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2506
2507 * loader/i386/multiboot_elfxx.c
2508 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2509 initialization.
2510
25112009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Relocator framework
2514
2515 * loader/i386/xnu_helper.S: Removed. All users updated.
2516 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2517 (relocator_mod_SOURCES): New variable.
2518 (relocator_mod_CFLAGS): Likewise.
2519 (relocator_mod_LDFLAGS): Likewise.
2520 (relocator_mod_ASFLAGS): Likewise.
2521 * conf/x86_64.rmk: Likewise.
2522 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2523 (grub_multiboot_payload_entry_offset): Likewise.
2524 (grub_multiboot_forward_relocator): Likewise.
2525 (grub_multiboot_forward_relocator_end): Likewise.
2526 (grub_multiboot_backward_relocator): Likewise.
2527 (grub_multiboot_backward_relocator_end): Likewise.
2528 (grub_multiboot_payload_eip): New variable.
2529 (grub_multiboot_payload_orig): Likewise.
2530 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2531 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2532 * include/grub/i386/memory.h
2533 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2534 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2535 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2536 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2537 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
2538 * include/grub/i386/relocator.h: New file.
2539 * include/grub/x86_64/relocator.h: Likewise.
2540 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
2541 (XNU_RELOCATOR): New macro.
2542 (grub_xnu_launcher_start): Remove.
2543 (grub_xnu_launcher_end): Likewise.
2544 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
2545 (grub_xnu_heap_real_start): Remove.
2546 (grub_xnu_heap_start): Change to void *. All users updated.
2547 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
2548 * lib/i386/relocator.c: New file.
2549 * lib/i386/relocator_asm.S: Likewise.
2550 * lib/i386/relocator_backward.S: Likewise.
2551 * lib/mips/relocator.c: Likewise.
2552 * lib/mips/relocator_asm.S: Likewise.
2553 * lib/relocator.c: Likewise.
2554 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
2555 (entry): Removed.
2556 (playground): Likewise.
2557 (grub_multiboot_payload_orig): New variable.
2558 (grub_multiboot_payload_dest): Likewise.
2559 (grub_multiboot_payload_size): Likewise.
2560 (grub_multiboot_payload_eip): Likewise.
2561 (grub_multiboot_payload_esp): Likewise.
2562 (grub_multiboot_boot): Use grub_relocator32_boot.
2563 (grub_multiboot_unload): Free relocators.
2564 (grub_multiboot): Setup stack. Use relocators.
2565 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
2566 (grub_multiboot_load_elfXX): Use relocators.
2567 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
2568 (grub_multiboot_payload_size): Likewise.
2569 (grub_multiboot_payload_dest): Likewise.
2570 (grub_multiboot_payload_entry_offset): Likewise.
2571 (grub_multiboot_forward_relocator): Likewise.
2572 (grub_multiboot_backward_relocator): Likewise.
2573 (grub_multiboot_real_boot): Likewise.
2574 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
2575 (grub_xnu_entry_point): Likewise.
2576 (grub_xnu_arg1): Likewise.
2577 (grub_xnu_stack): Likewise.
2578 (grub_xnu_launch): Removed.
2579 (grub_xnu_boot_resume): New function.
2580 (grub_xnu_boot): Use relocators.
2581 * loader/i386/xnu_helper.S: Removed.
2582 * loader/xnu.c (grub_xnu_heap_start): New variable.
2583 (grub_xnu_heap_size): Likewise.
2584 (grub_xnu_heap_malloc): Use relocators.
2585 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
2586
29eb90c6
VS
25872009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
2590 anything.
2591
31027430
CPE
25922009-12-13 Carles Pina i Estany <carles@pina.cat>
2593
2594 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
2595 GRUB_ERR_NONE before calling grub_env_set.
2596
dc0c71d9
RM
25972009-12-12 Robert Millan <rmh@aybabtu.com>
2598
2599 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
2600 * genmk.rb (video): New variable.
2601 (CLEANFILES, VIDEOFILES): Add #{video}.
2602 (#{video}): New target rule.
2603 * genvideolist.sh: New file.
2604 * Makefile.in (pkglib_DATA): Add video.lst.
2605 (video.lst): New target rule.
2606 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
2607 `video.lst'.
2608 * util/grub.d/30_os-prober.in: Replace `vbe' with
2609 ${GRUB_VIDEO_BACKEND}.
2610
2a4bfcf0
RM
26112009-12-11 Robert Millan <rmh.grub@aybabtu.com>
2612
2613 * THANKS: Add David Miller.
2614
2a3aa4d5
RM
26152009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 libpciaccess support.
2618
2619 * Makefile.in (LIBPCIACCESS): New variable.
2620 (enable_grub_emu_pci): Likewise.
2621 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
2622 util/pci.c and commands/lspci.c.
2623 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
2624 * configure.ac (grub-emu-pci): New option.
2625 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
2626 (grub_pci_device_unmap_range): Likewise.
2627 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
2628 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
2629 (grub_pci_address_t) [!GRUB_UTIL]: New type.
2630 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
2631 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
2632 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
2633 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
2634 * include/grub/pciutils.h: New file.
2635 * util/pci.c: Likewise.
2636
0ad46fd7 26372009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
2638
2639 * util/misc.c: Don't include <errno.h> twice.
2640
0ad46fd7 26412009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
2642
2643 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
2644 name in an error message.
2645 (grub_biosdisk_rw): Likewise.
2646
2e59983c
VS
26472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Eliminate NTFS 4Gib barrier.
2650
2651 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
2652 (read_run_data): Likewise.
2653 (grub_ntfs_read_run_list): Likewise.
2654 (grub_ntfs_read_block): Likewise.
2655 (grub_ntfs_iterate_dir): Likewise.
2656 (read_mft): Likewise.
2657 (read_data): Likewise.
2658 Use COM_LOG_LEN.
2659 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
2660 to avoid 64-bit division
2661 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
2662 (grub_ntfs_rlst): Use grub_disk_addr_t.
2663
71ee178a
VS
26642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Eliminate grub-fstest 4Gib barrier.
2667
2668 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
2669 (read_file): Fix error reporting.
2670
2520d4b8
VS
26712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Eliminate hexdump 4Gib barrier.
2674
2675 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
2676 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
2677
e1f27065
VS
26782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
2681 Fixes amarsh bug.
2682
1a0f7f45
RM
26832009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
2684
2685 Remove miscellaneous files in distclean target.
2686
2687 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2688
c631d9fb
CW
26892009-12-09 Colin Watson <cjwatson@ubuntu.com>
2690
2691 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
2692 if they're already set. This resolves the conflict between my
2693 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
2694 fixing the --grub-probe option again.
2695 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
2696 change on 2009-10-06, so that we now once again source
2697 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2698
7c7b6106
RM
26992009-12-08 Robert Millan <rmh.grub@aybabtu.com>
2700
2701 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
2702 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
2703 `util/devicemap.c'.
2704
e3069ec1
CPE
27052009-12-08 Carles Pina i Estany <carles@pina.cat>
2706
2707 * include/grub/misc.h (grub_printf_): New declaration.
2708 * kern/misc.c (grub_printf_): New definition.
2709 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
2710 instead of `grub_printf' and `_'.
2711 * normal/menu_entry.c (store_completion): Likewise.
2712 (run): Likewise.
2713 (grub_menu_entry_run): Likewise.
2714 * normal/menu_text.c (grub_wait_after_message): Likewise.
2715 (notify_booting): Likewise.
2716 (notify_fallback): Likewise.
2717 (notify_execution_failure): Likewise.
2718
d6ceebf1
CW
27192009-12-07 Colin Watson <cjwatson@ubuntu.com>
2720
2721 * configure.ac: Check for vasprintf.
2722 * util/misc.c (asprintf): Move allocation from here ...
2723 (vasprintf): ... to here. New function.
2724 (xasprintf): New function.
2725 * include/grub/util/misc.h (vasprintf, xasprintf): Add
2726 prototypes.
2727 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2728 * util/grub-mkfont.c (write_font): Likewise.
2729 * util/grub-probe.c (probe): Likewise.
2730 * util/hostdisk.c (make_device_name): Likewise.
2731
de6daa8b
DM
27322009-12-06 David S. Miller <davem@sunset.davemloft.net>
2733
2734 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
2735 anything even prefixed with 'cdrom' as a cdrom.
2736
0ad46fd7 27372009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
2738
2739 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
2740 mount points.
2741
98d3dc02
CPE
27422009-12-05 Carles Pina i Estany <carles@pina.cat>
2743
2744 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
2745 grub_gettext_msg_list.
2746 (grub_gettext_gettranslation_from_position): Return const char *
2747 and not char *.
a2c1332b 2748 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
2749 returns from the list if existing there.
2750 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
2751 (grub_gettext_delete_list): Delete the list.
2752 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
2753 lang environment variable is changed.
2754 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
2755
b283f108
VS
27562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 Rename kernel.mod to kernel.img.
2759
2760 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
2761 (kernel_mod_EXPORTS): Rename to ...
2762 (kernel_img_EXPORTS): ... this.
2763 (kernel_mod_SOURCES): Rename to ...
2764 (kernel_img_SOURCES): ... this.
2765 (kernel_mod_HEADERS): Rename to ...
2766 (kernel_img_HEADERS): ... this. All users updated.
2767 (kernel_mod_CFLAGS): Rename to ...
2768 (kernel_img_CFLAGS): ... this.
2769 (kernel_mod_ASFLAGS): Rename to ...
2770 (kernel_img_ASFLAGS): ... this.
2771 (kernel_mod_LDFLAGS): Rename to ...
2772 (kernel_img_LDFLAGS): ... this.
2773 * conf/x86_64-efi.rmk: Likewise.
2774 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
2775 (read_kernel_image): ... this. All users updated.
2776 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
2777
69055f8a
CPE
27782009-12-05 Carles Pina i Estany <carles@pina.cat>
2779
2780 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
2781 (print_spaces): New function.
2782 (grub_print_ucs4): New function.
2783 (getstringwidth): New function.
2784 (print_message_indented): New function.
2785 (print_message): Gettexttize strings using print_message_indented.
2786 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
2787 width.
2788 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 2789 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
2790 Gettextize.
2791 * normal/menu_entry.c (store_completion): Cleanup the gettextized
2792 string.
2793 (run): Likewise.
2794 (grub_menu_entry_run): Likewise.
2795 * PO/POTFILES: Add normal/menu_entry.c.
2796
f616f51c
VS
27972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
2800
57bbe3be
CPE
28012009-12-05 Carles Pina i Estany <carles@pina.cat>
2802
2803 * util/grub-install.in: Install gettext .mo files.
2804 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
2805
013d67a1
CPE
28062009-12-05 Carles Pina i Estany <carles@pina.cat>
2807
2808 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
2809 grub_dprintf.
2810
fb954db0
RM
28112009-12-05 Robert Millan <rmh.grub@aybabtu.com>
2812
2813 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
2814 non-firmware-dependant one in realmode.S takes precedence.
2815
6b8474f8
RM
28162009-12-04 Robert Millan <rmh.grub@aybabtu.com>
2817
2818 * commands/halt.c: Replace misc arch-specific headers with
2819 `<grub/misc.h>'.
2820 * commands/reboot.c: Likewise.
2821 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
2822 `<grub/misc.h>'.
2823 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
2824 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
2825 (kernel_img_SOURCES): ... to here.
2826
2827 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
2828 * include/grub/i386/pc/init.h: Likewise.
2829 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2830 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2831
2832 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
2833
2834 * include/grub/i386/halt.h: Remove.
2835 * include/grub/i386/reboot.h: Likewise.
2836
2837 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2838
4b2e6ca2
DM
28392009-12-03 David S. Miller <davem@sunset.davemloft.net>
2840
2841 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
2842 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
2843 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
2844 "progname.h"
2845 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2846 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2847 (usage): Add missing comma in printf.
2848
5239348f
RM
28492009-12-02 Robert Millan <rmh.grub@aybabtu.com>
2850
2851 Use the same reboot approach on i386 coreboot and qemu as we do on
2852 BIOS.
2853
2854 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
2855 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
2856 * kern/i386/reboot.c: Remove.
2857 * include/grub/i386/reboot.h (grub_reboot): Export function.
2858 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
2859 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
2860 0xf000:0xfff0 instead of 0xffff:0x0000.
2861 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
2862 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
2863
ef34cbd4
RM
28642009-11-30 Robert Millan <rmh.grub@aybabtu.com>
2865
2866 Fix $srcdir != $objdir build.
2867
2868 * Makefile.in (po/%.po): Rewrite as ...
2869 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
2870
dc9837ea
ST
28712009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
2872
2873 Fix GNU/Hurd grub-install crash.
2874 * util/grub-probe.c (probe): Try to access `path' only when it is not
2875 NULL.
2876
2f857f98
VS
28772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 Correct module naming.
2880
2881 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2882 (GRUB_MOD_INIT(efi_uga)): ... to this
2883 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2884 (GRUB_MOD_FINI(efi_uga)): ... to this
2885 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
2886 (GRUB_MOD_INIT(efi_gop)): ... to this
2887 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
2888 (GRUB_MOD_FINI(efi_gop)): ... to this
2889
c5448046
RM
28902009-11-28 Robert Millan <rmh.grub@aybabtu.com>
2891
2892 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
2893 translatable.
2894 (usage): Translate `arg' strings using gettext().
2895 Thanks to Jordi Mallach for the suggestion.
2896
c85184ad
VS
28972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 GOP support. Based on patch from Bean
2900 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
2901
2902 * video/efi_gop.c: New file.
2903 * include/grub/efi/graphics_output.h: Likewise.
2904 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
2905 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
2906 variables.
2907 * conf/x86_64-efi.rmk: Likewise.
2908
8a4c48d8
VS
29092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Rename efi_fb to efi_uga.
2912
2913 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2914 'efi_uga.mod'.
2915 (efi_fb_mod_SOURCES): Rename this ...
2916 (efi_uga_mod_SOURCES): ... to this.
2917 (efi_fb_mod_CFLAGS): Rename this ...
2918 (efi_uga_mod_CFLAGS): ... to this.
2919 (efi_fb_mod_LDFLAGS): Rename this ...
2920 (efi_uga_mod_LDFLAGS): ... to this.
2921 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
2922 'efi_uga.mod'.
2923 (efi_fb_mod_SOURCES): Rename this ...
2924 (efi_uga_mod_SOURCES): ... to this.
2925 (efi_fb_mod_CFLAGS): Rename this ...
2926 (efi_uga_mod_CFLAGS): ... to this.
2927 (efi_fb_mod_LDFLAGS): Rename this ...
2928 (efi_uga_mod_LDFLAGS): ... to this.
2929 * video/efi_fb.c: Move this ...
2930 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
2931
fb6c1a7b
RM
29322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2933
2934 * po/README: New file. Explain our PO file workflow.
2935
3bc7896c
RM
29362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2937
2938 * po/ChangeLog: Remove. Move relevant entries back to ...
2939 * ChangeLog: ... here.
2940 * po/ca.po: Remove (now handled by TLP).
2941 * po/id.po: Likewise.
2942 * po/zh_CN.po: Likewise.
2943 * Makefile.in (LINGUAS): Initialize in a way that supports
2944 empty set.
2945
9ed4841d
RM
29462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
2947
2948 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
2949 reliing on po/LINGUAS.
2950 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
2951 (po/%.po): ... this.
2952
0ad46fd7 29532009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
2954
2955 * util/i386/efi/grub-mkimage.c: Include "progname.h".
2956 (main): Use `program_name' instead of nonexistent `progname'.
2957
e30dd392
FZ
29582009-11-26 Felix Zielcke <fzielcke@z-51.de>
2959
2960 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
2961 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
2962
7656de4f
RM
29632009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2964
2965 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
2966 commit.
2967 * conf/i386-efi.rmk: Likewise.
2968 * conf/i386-ieee1275.rmk: Likewise.
2969 * conf/powerpc-ieee1275.rmk: Likewise.
2970 * conf/sparc64-ieee1275.rmk: Likewise.
2971 * conf/x86_64-efi.rmk: Likewise.
2972
db77c4d4
FZ
29732009-11-26 Felix Zielcke <fzielcke@z-51.de>
2974
2975 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
2976
a755bb04
FZ
29772009-11-26 Felix Zielcke <fzielcke@z-51.de>
2978
2979 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
2980
8a4c07fd
RM
29812009-11-26 Robert Millan <rmh.grub@aybabtu.com>
2982
2983 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
2984 (grub_mkdevicemap_SOURCES): New variable.
2985 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
2986 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
2987 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
2988 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
2989 (grub_mkdevicemap_SOURCES): Remove.
2990 * conf/i386-efi.rmk: Likewise.
2991 * conf/i386-ieee1275.rmk: Likewise.
2992 * conf/i386-pc.rmk: Likewise.
2993 * conf/powerpc-ieee1275.rmk: Likewise.
2994 * conf/sparc64-ieee1275.rmk: Likewise.
2995 * conf/x86_64-efi.rmk: Likewise.
2996 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
2997 (usage): Fix strings to use `program_name'.
2998 (main): Initialize gettext.
2999 * util/grub-editenv.c: Likewise.
3000 * util/grub-emu.c: Likewise.
3001 * util/grub-fstest.c: Likewise.
3002 * util/grub-mkdevicemap.c: Likewise.
3003 * util/grub-mkfont.c: Likewise.
3004 * util/grub-mkrelpath.c: Likewise.
3005 * util/grub-pe2elf.c: Likewise.
3006 * util/grub-probe.c: Likewise.
3007 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3008 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3009 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3010
3011 * util/misc.c: Include `"progname.h"'.
3012 (progname): Remove variable.
3013 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3014
6f61ed55
FZ
30152009-11-25 Felix Zielcke <fzielcke@z-51.de>
3016
3017 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3018 printf and print a newline after the menuentry header line.
3019 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3020
f022876b
FZ
30212009-11-25 Felix Zielcke <fzielcke@z-51.de>
3022
3023 autoconf >= 2.60 support $(localedir).
3024
3025 * INSTALL: Note that autoconf 2.60 is required.
3026 * configure.ac (AC_PREREQ): Bump to 2.60.
3027 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3028 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3029
6717926e
YB
30302009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3031
3032 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3033 aclocal is run.
3034
08806a54
RM
30352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3036
3037 * normal/main.c (grub_normal_read_line): Fix off-by-one
3038 buffer overflow.
3039
13b33fba
RM
30402009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3041
3042 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3043 "parser.grub" in grub_command_execute() call.
3044
4a8572e9
CPE
30452009-11-24 Carles Pina i Estany <carles@pina.cat>
3046
3047 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3048 * conf/i386-efi.rmk: Likewise.
3049 * conf/i386-ieee1275.rmk: Likewise.
3050 * conf/i386-pc.rmk: Likewise.
3051 * conf/powerpc-ieee1275.rmk: Likewise.
3052 * conf/sparc64-ieee1275.rmk: Likewise.
3053 * conf/x86_64-efi.rmk: Likewise.
3054 * gettext/gettex.c: Include <grub/i18n.h>.
3055 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3056 here ...
3057 * include/grub/i18n.h: ... to here
3058 * include/grub/i18n.h: ... to here.
3059 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3060 (grub_gettext_dummy): Move above user.
4a8572e9 3061
bee48093
FZ
30622009-11-24 Felix Zielcke <fzielcke@z-51.de>
3063
3064 * util/Makefile.in (install-local): Convert a `for' into a normal
3065 shell expansion.
3066
a031e91c
RM
30672009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3068
3069 * autogen.sh: Add automake call.
3070 * config.guess: Remove.
3071 * config.sub: Likewise.
3072 * install-sh: Likewise.
3073
26bec39d
FZ
30742009-11-24 Felix Zielcke <fzielcke@z-51.de>
3075
3076 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3077
8e2532fd
FZ
30782009-11-24 Felix Zielcke <fzielcke@z-51.de>
3079
3080 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3081 function to a normal shell `for'.
3082
fefa1b7d
FZ
30832009-11-24 Felix Zielcke <fzielcke@z-51.de>
3084
3085 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3086
4501250b
FZ
30872009-11-24 Felix Zielcke <fzielcke@z-51.de>
3088
3089 * util/grub-mkrelpath.c: New file.
3090 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3091 (grub_mkrelpath_SOURCES): New variable.
3092 * include/grub/util/misc.h: New function prototype.
3093 * util/misc.c (make_system_path_relative_to_its_root): New function.
3094
3095 * util/grub-mkconfig_lib.in (bindir): New variable.
3096 (grub_mkrelpath): Likewise.
3097 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3098
3099 * util/probe.c (probe): Make the file path relative to its root.
3100 Change a info message to use the GRUB path. Enable again the
3101 check if we can read the file with GRUB facilities.
3102
3103 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3104 to its root.
3105
11d9778b
FZ
31062009-11-24 Felix Zielcke <fzielcke@z-51.de>
3107
3108 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3109 platform.
3110
4465287d
FZ
31112009-11-24 Felix Zielcke <fzielcke@z-51.de>
3112
3113 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3114 strncmp().
3115
62b47f22
FZ
31162009-11-24 Felix Zielcke <fzielcke@z-51.de>
3117
3118 * util/getroot.c (grub_util_is_dmraid): New function.
3119 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3120 devices as normal ones, not as LVM.
3121
1eafb9b9 31222009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3123
3124 * conf/common.rmk: Add grub-gettext_lib target and updates
3125 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3126 LDFLAGS.
3127 * gettext/gettext.c: New file. (Reads mo files).
3128 * include/grub/file.h (grub_file_pread): New prototype.
3129 * include/grub/i18n.h (_): New prototype.
3130 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3131 prototypes.
3132 * kern/misc.c (grub_gettext_dummy): New function.
3133 * normal/menu_text.c: Include <grub/i18n.h>.
3134 * normal/menu_text.c (print_timeout): Gettexttize string.
3135 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3136 * po/POTFILES: Add `normal/menu_text.c'.
3137 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3138 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3139 gettext module and defines locale_dir and lang in grub.cfg.
3140 * NEWS: Add gettext support.
3141
0fdb2568
RM
31422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3143
3144 * util/hostdisk.c: Include `<grub/i18n.h>'.
3145 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3146 (make_device_name): Rewrite using asprintf.
3147 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3148 (find_system_device): If a device is not found, generate one just
3149 by reusing the OS path name.
3150 (read_device_map): Make it permissible for device.map not to exist.
3151
f515aa62
RM
31522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3153
3154 * script/sh/execute.c: Move from here ...
3155 * script/execute.c: ... to here. Update all users.
3156 * script/sh/function.c: Move from here ...
3157 * script/function.c: ... to here. Update all users.
3158 * script/sh/lexer.c: Move from here ...
3159 * script/lexer.c: ... to here. Update all users.
3160 * script/sh/main.c: Move from here ...
3161 * script/main.c: ... to here. Update all users.
3162 * script/sh/parser.y: Move from here ...
3163 * script/parser.y: ... to here. Update all users.
3164 * script/sh/script.c: Move from here ...
3165 * script/script.c: ... to here. Update all users.
3166
f84b481b
RM
31672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3168
3169 * configure.ac: Detect all `emu' platforms. Define
3170 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3171 --enable-grub-emu logic. Disable include/grub/machine
3172 symlink on `emu' platforms.
3173
3174 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3175 * gensymlist.sh.in: Likewise.
3176
3177 * include/grub/i386/coreboot/machine.h: Remove file.
3178 * include/grub/i386/efi/machine.h: Likewise.
3179 * include/grub/i386/ieee1275/machine.h: Likewise.
3180 * include/grub/i386/pc/machine.h: Likewise.
3181 * include/grub/i386/qemu/machine.h: Likewise.
3182 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3183 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3184 * include/grub/x86_64/efi/machine.h: Likewise.
3185
3186 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3187 * commands/halt.c: Likewise.
3188 * commands/reboot.c: Likewise.
3189 * include/grub/autoefi.h: Likewise.
3190 * include/grub/i386/at_keyboard.h: Likewise.
3191 * include/grub/i386/kernel.h: Likewise.
3192 * include/grub/i386/loader.h: Likewise.
3193 * include/grub/i386/pc/memory.h: Likewise.
3194 * kern/dl.c: Likewise.
3195 * kern/i386/coreboot/init.c: Likewise.
3196 * loader/i386/bsd.c: Likewise.
3197 * loader/i386/linux.c: Likewise.
3198 * loader/multiboot_loader.c: Likewise.
3199 * term/i386/pc/serial.c: Likewise.
3200 * term/usb_keyboard.c: Likewise.
3201
3202 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3203 `<grub/machine/machine.h>'
3204 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3205 * util/misc.c: Remove `<grub/machine/machine.h>' and
3206 `<grub/machine/time.h>'.
3207
3208 * Makefile.in (enable_grub_emu): Remove variable.
3209 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3210
3211 * conf/any-emu.rmk: New file.
3212 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3213 (grub_emu_init.c): Move from here ...
3214 * conf/any-emu.rmk: ... to here.
3215
3216 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3217 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3218 * conf/any-emu.rmk: ... to here.
3219
4efeab03
RM
32202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3221
3222 * include/grub/parser.h (grub_parser_register): Document need
3223 of `name' parameter.
3224 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3225 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3226 "sh" to "grub".
3227
ea1dd8bf
RM
32282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3229
3230 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3231 `$(XGETTEXT)'.
3232 * include/grub/i18n.h (N_): New macro.
3233 * util/mkisofs/mkisofs.h: Likewise.
3234 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3235 around N_().
3236 (usage): Use gettext() to translate help strings when printing them.
3237
0c140626
RM
32382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3239
3240 Based on patch from Bean
3241 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3242
3243 * video/efi_fb.c: New file.
3244 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3245 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3246 variables.
3247 * conf/x86_64-efi.rmk: Likewise.
3248
87d58298
RM
32492009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3250
3251 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3252 * util/i386/pc/grub-setup.c: Likewise.
3253
994cc3a3
ST
32542009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3255
3256 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3257 <hurd/fs.h>
3258 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3259 file_get_storage_info to implement grub_guess_root_device.
3260
26a61d6a
FZ
32612009-11-21 Felix Zielcke <fzielcke@z-51.de>
3262
3263 * Makefile.in (target): Use make's builtin $(shell) function
3264 instead of calling directly $(SHELL) to create the locale directories,
3265 inside the $(foreach) function.
3266
74ff1dd5
FZ
32672009-11-21 Felix Zielcke <fzielcke@z-51.de>
3268
3269 * util/grub-mkrescue.in: Print an error and usage if output option
3270 has not been given.
3271
0b787d0e
FZ
32722009-11-21 Felix Zielcke <fzielcke@z-51.de>
3273
3274 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
3275 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3276 root and /boot are on different devices.
3277
1164b270
RM
32782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3279
3280 Fix build for srcdir != objdir.
3281
3282 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3283 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3284 $(srcdir).
3285 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3286 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3287 reference for input.
3288
13774a2f
RM
32892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3290
3291 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3292 or hardlinking it). Remove -J option, Joliet is not compatible with
3293 multiple source directories.
3294
efda854e
RM
32952009-11-21 Carles Pina i Estany <carles@pina.cat>
32962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3297
3298 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3299 (process_input_dir): New function. Process an arbitrary input
3300 directory.
3301 Misc adjustments to support both "override mode" and system-wide mode.
3302
6c09890c
FZ
33032009-11-20 Felix Zielcke <fzielcke@z-51.de>
3304
3305 * configure.ac (UNIFONT_BDF): Rename to ...
3306 (FONT_SOURCE): ... this. Update all users.
3307
a797824f
FZ
33082009-11-20 Felix Zielcke <fzielcke@z-51.de>
3309
3310 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3311 to the list of unifont files to look for.
3312
cd4f42b0
RM
33132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3314
3315 Patch from Joe Auricchio <jauricchio@gmail.com>
3316 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3317 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3318 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3319
393c783d
FZ
33202009-11-19 Felix Zielcke <fzielcke@z-51.de>
3321
3322 * Makefile.in (install-local): Add a missing backslash.
3323
b2f1e327
FZ
33242009-11-19 Felix Zielcke <fzielcke@z-51.de>
3325
3326 * include/grub/x86_64/io.h: New file.
3327
f577f7a0
RM
33282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3329
3330 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3331 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3332 Include `"progname.h"'.
3333 (main): Initialize gettext.
3334 * util/i386/pc/grub-setup.c: Gettexttize.
3335 * util/i386/pc/grub-mkimage.c: Likewise.
3336
3337 * Makefile.in (po/*.po): Redefine as ...
3338 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3339
3bc7896c
RM
3340 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3341
c37943b6
RM
33422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3343
3344 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3345 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3346 (program_name): Remove.
3347 (main): Initialize gettext support.
6323f705
RM
3348 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3349 Include `<libintl.h>'.
3350 (_): New macro.
c37943b6
RM
3351
3352 * util/mkisofs/eltorito.c: Gettexttize.
3353 * util/mkisofs/joliet.c: Likewise.
3354 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3355 * util/mkisofs/multi.c: Likewise.
3356 * util/mkisofs/rock.c: Likewise.
3357 * util/mkisofs/tree.c: Likewise.
3358 * util/mkisofs/write.c: Likewise.
3359
3bc7896c
RM
3360 * po/POTFILES: Update with new files.
3361
5ce77c6e
RM
33622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3363
3364 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3365 * util/mkisofs/iso9660.h: Likewise.
3366 * util/mkisofs/joliet.c: Likewise.
3367 * util/mkisofs/mkisofs.c: Likewise.
3368 * util/mkisofs/mkisofs.h: Likewise.
3369 * util/mkisofs/rock.c: Likewise.
3370 * util/mkisofs/tree.c: Likewise.
3371 * util/mkisofs/write.c: Likewise.
3372
3373 * util/mkisofs/eltorito.c (rcsid): Remove.
3374 * util/mkisofs/hash.c: Likewise.
3375 * util/mkisofs/joliet.c: Likewise.
3376 * util/mkisofs/name.c: Likewise.
3377 * util/mkisofs/rock.c: Likewise.
3378 * util/mkisofs/tree.c: Likewise.
3379 * util/mkisofs/write.c: Likewise.
3380
1dabbc77
RM
33812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3382
3383 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3384 instead of static allocation.
3385 * util/mkisofs/match.h: Likewise.
3386
633877cb
RM
33872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3388
3bc7896c
RM
3389 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3390 and `util/grub.d/10_linux.in'.
633877cb
RM
3391 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3392 translatable Shell files.
3393
af1c0c85
RM
33942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3395
3396 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3397
769ae37b
RM
33982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3399
3400 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3401 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3402 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3403 Add gettext initialization.
3404 (kfreebsd_entry): Make menuentry output translatable.
3405
34062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3407
3408 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3409 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3410 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3411 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3412 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3413 * po/LINGUAS: New file.
769ae37b
RM
3414
34152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3416
3417 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3418 other things).
3419 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3420 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3421 bindtextdomain() calls for gettext initialization.
3422
34232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3424
3425 * gnulib/progname.c: New file (imported from Gnulib).
3426 * gnulib/progname.h: Likewise.
3427 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3428 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3429 (usage): Replace `progname' with `program_name'.
3430 (main): Use set_program_name() for program name initialization.
3431
34322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3433
3434 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3435 from here ...
3436 * Makefile.in (CPPFLAGS): ... to here.
3437
34382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3439
3440 * aclocal.m4: Move from here ...
3441 * acinclude.m4: ... to here.
3442 * autogen.sh: Add call to `aclocal'.
3443 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3444
34452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3446
3447 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3448 (LINGUAS): New variable.
3449 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3450 (install-local): Install MO files.
3451 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3452 * include/grub/i18n.h: New file.
3bc7896c
RM
3453 * po/POTFILES: New file.
3454 * po/ca.po: New file.
769ae37b
RM
3455 * util/grub.d/10_linux.in (bindir): New variable.
3456 Add gettext initialization.
3457 (linux_entry): Make menuentry output translatable.
3458 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3459 (usage): Make --help output translatable.
3460 (main): Initialize gettext.
3461
02c0a6ad
RM
34622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3463
3464 * import_gcry.py: New file (written by Vladimir with minor
3465 adjustments).
3466 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3467 ciphers.
3468 * INSTALL: Document that Python is required for bootstrap.
3469
34702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3471
3472 Import ciphers from libgcrypt 1.4.4.
3473
3474 * lib/libgcrypt/cipher/ChangeLog
3475 * lib/libgcrypt/cipher/ac.c
3476 * lib/libgcrypt/cipher/arcfour.c
3477 * lib/libgcrypt/cipher/bithelp.h
3478 * lib/libgcrypt/cipher/blowfish.c
3479 * lib/libgcrypt/cipher/camellia-glue.c
3480 * lib/libgcrypt/cipher/camellia.c
3481 * lib/libgcrypt/cipher/camellia.h
3482 * lib/libgcrypt/cipher/cast5.c
3483 * lib/libgcrypt/cipher/cipher.c
3484 * lib/libgcrypt/cipher/crc.c
3485 * lib/libgcrypt/cipher/des.c
3486 * lib/libgcrypt/cipher/dsa.c
3487 * lib/libgcrypt/cipher/ecc.c
3488 * lib/libgcrypt/cipher/elgamal.c
3489 * lib/libgcrypt/cipher/hash-common.c
3490 * lib/libgcrypt/cipher/hash-common.h
3491 * lib/libgcrypt/cipher/hmac-tests.c
3492 * lib/libgcrypt/cipher/md.c
3493 * lib/libgcrypt/cipher/md4.c
3494 * lib/libgcrypt/cipher/md5.c
3495 * lib/libgcrypt/cipher/primegen.c
3496 * lib/libgcrypt/cipher/pubkey.c
3497 * lib/libgcrypt/cipher/rfc2268.c
3498 * lib/libgcrypt/cipher/rijndael-tables.h
3499 * lib/libgcrypt/cipher/rijndael.c
3500 * lib/libgcrypt/cipher/rmd.h
3501 * lib/libgcrypt/cipher/rmd160.c
3502 * lib/libgcrypt/cipher/rsa.c
3503 * lib/libgcrypt/cipher/seed.c
3504 * lib/libgcrypt/cipher/serpent.c
3505 * lib/libgcrypt/cipher/sha1.c
3506 * lib/libgcrypt/cipher/sha256.c
3507 * lib/libgcrypt/cipher/sha512.c
3508 * lib/libgcrypt/cipher/tiger.c
3509 * lib/libgcrypt/cipher/twofish.c
3510 * lib/libgcrypt/cipher/whirlpool.c
3511
af2f93ac
RM
35122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3513
3514 Fix build for systems without error().
3515
3516 * gnulib/error.c: New file (imported from Gnulib).
3517 * gnulib/error.h: Likewise.
3518 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3519 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3520 (this variable is now used by error()).
3521
73fb3dd5
FZ
35222009-11-16 Felix Zielcke <fzielcke@z-51.de>
3523
814f5e96
FZ
3524 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3525 instead of relying that char is signed.
73fb3dd5 3526
a691ca33
VS
35272009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3530 blocksize different from specified.
3531 (grub_pxefs_read): Likewise.
3532
2af8f0f4
FZ
35332009-11-16 Felix Zielcke <fzielcke@z-51.de>
3534
3535 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3536
3537 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
3538 (grub_ata_readwrite): Likewise. Update 2 format strings.
3539 (grub_atapi_read): Likewise.
3540
3541 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
3542 * conf/i386.rmk (pkglib_MODULES): ... to here ...
3543 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
3544 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
3545 (ata_mod_LDFLAGS): Move from here ...
3546 * conf/i386.rmk: ... to here ...
3547 * conf/x86_64-efi.rmk: ... and here.
3548 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
3549 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
3550
83bdecaf
RM
35512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3552
3553 Relicense multiboot.h, with RMS' blessing.
3554
3555 * include/multiboot.h: Change to X11 license.
3556
fd6fd3d7
RM
35572009-11-15 Robert Millan <rmh.grub@aybabtu.com>
3558
3559 Support --version in grub-mkisofs.
3560
3561 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
3562 (OPTION_VERSION): New macro.
3563 (ld_options): Recognize --version.
3564 (usage): Move `program_name' from here ...
3565 (program_name): ... to here. Add `static' qualifier.
3566 (main): Recognize `OPTION_VERSION'.
3567
16a88c49
FZ
35682009-11-15 Felix Zielcke <fzielcke@z-51.de>
3569
3570 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
3571 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
3572
a4158476
RM
35732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3574
3575 Fix help2man generation for mkisofs.
3576
3577 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
3578 (usage): Send output to stdout (rather than stderr).
3579
fc2208b0
RM
35802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3581
3582 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
3583 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3584 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
3585 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3586 (bin_SCRIPTS): Add `grub-mkfloppy'.
3587 (grub_mkfloppy_SOURCES): New variable.
3588
3589 * util/grub-mkrescue.in: New file.
3590 * util/i386/pc/grub-mkfloppy.in: New file.
3591
3592 * util/i386/coreboot/grub-mkrescue.in: Remove.
3593 * util/i386/pc/grub-mkrescue.in: Remove.
3594
8d0edf4a
RM
35952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3596
3597 * include/grub/multiboot.h (struct grub_multiboot_header): Move
3598 from here ...
3599 * include/multiboot.h (struct multiboot_header): ... to here. Update
3600 all users.
3601 * include/grub/multiboot.h (struct grub_multiboot_info): Move
3602 from here ...
3603 * include/multiboot.h (struct multiboot_info): ... to here. Update
3604 all users.
3605 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
3606 from here ...
3607 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
3608 Update all users.
3609 * include/grub/multiboot.h (struct grub_mod_list): Move
3610 from here ...
3611 * include/multiboot.h (struct multiboot_mod_list): ... to here.
3612 Update all users.
3613
a73f5969
RM
36142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3615
3616 * include/multiboot2.h (multiboot_word): Rename from this ...
3617 (multiboot2_word): ... to this. Update all users.
3618 (multiboot_header): Rename from this ...
3619 (multiboot2_header): ... to this. Update all users.
3620 (multiboot_tag_header): Rename from this ...
3621 (multiboot2_tag_header): ... to this. Update all users.
3622 (multiboot_tag_start): Rename from this ...
3623 (multiboot2_tag_start): ... to this. Update all users.
3624 (multiboot_tag_name): Rename from this ...
3625 (multiboot2_tag_name): ... to this. Update all users.
3626 (multiboot_tag_module): Rename from this ...
3627 (multiboot2_tag_module): ... to this. Update all users.
3628 (multiboot_tag_memory): Rename from this ...
3629 (multiboot2_tag_memory): ... to this. Update all users.
3630 (multiboot_tag_unused): Rename from this ...
3631 (multiboot2_tag_unused): ... to this. Update all users.
3632 (multiboot_tag_end): Rename from this ...
3633 (multiboot2_tag_end): ... to this. Update all users.
3634
1c8927f0
RM
36352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3636
3637 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
3638 this platform we should support Multiboot1 first.
3639
3640 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3641 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
3642 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
3643
6e1e0d89
RM
36442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3645
3646 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
3647 of write calls (converting them to fwrite() if they aren't already).
3648 (get_torito_desc): Likewise.
3649 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
3650
7f2b34d8
RM
36512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3652
3653 * util/i386/pc/grub-install.in: Move from here ...
3654 * util/grub-install.in: ... to here. Update all users.
3655
c0ef3311
CW
36562009-11-11 Colin Watson <cjwatson@ubuntu.com>
3657
3658 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
3659
e1f240ff
RM
36602009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3661
3662 Support for El Torito without floppy emulation.
3663
3664 * util/mkisofs/eltorito.c: Include `<errno.h>'.
3665 (init_boot_catalog): Improve error handling.
3666 (get_torito_desc): Don't use floppy emulation unless requested by
3667 user. Patch boot information table when requested via
3668 `-boot-info-table'.
3669 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
3670 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
3671 (use_boot_info_table): New variables.
3672 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
3673 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
3674 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
3675 `--eltorito-emul-floppy'.
3676 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
3677 and `OPTION_ELTORITO_EMUL_FLOPPY'.
3678 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
3679 (use_boot_info_table, get_731): New prototypes.
3680 * util/mkisofs/write.c (get_731): New function.
3681
af7d4de5
FZ
36822009-11-11 Felix Zielcke <fzielcke@z-51.de>
3683
3684 Fix the generation of the man page.
3685
3686 * util/pc/i386/grub-install.in: Source
3687 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3688
2c55dbc0
RM
36892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3690
3691 Large file support for grub-mkisofs.
3692
3693 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
3694 * util/mkisofs/mkisofs.c (next_extent, last_extent)
3695 (session_start): Upgrade type to `uint64_t'. Update all users.
3696 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
3697 (struct directory_entry): Upgrade type of `starting_block' and
3698 `size' to `uint64_t'. Update all users.
3699 (struct deferred): Remove unused structure.
3700 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
3701 Update all users.
3702 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
3703 file is larger than `UINT32_MAX'.
3704 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
3705 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
3706 return value.
3707 (struct deferred_write): Upgrade type of `extent' and `size' to
3708 `uint64_t'. Update all users.
3709 (last_extent_written): Upgrade type to `uint64_t'. Update all
3710 users.
3711 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
3712 Update all users. Upgrade type of `remain' to `int64_t' and
3713 `use' to `size_t'. Use error() to handle fread() errors.
3714 (write_files): Rely on write_one_file() rather than calling
3715 xfwrite() directly.
3716
6a9cead5
FZ
37172009-11-09 Felix Zielcke <fzielcke@z-51.de>
3718
3719 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
3720
4825d790
RM
37212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3722
3723 * util/mkisofs/fnmatch.c: Remove.
3724 * util/mkisofs/getopt1.c: Likewise.
3725 * util/mkisofs/getopt.c: Likewise.
3726 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
3727 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
3728 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
3729 `gnulib/getopt1.c' and `gnulib/getopt.c'.
3730 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
3731
3732 * configure.ac: Detect `mingw32msvc' host_os.
3733 Check for lstat(), getuid() and getgid().
3734
3735 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
3736 instances of `u_char' with `uint8_t'.
3737
3738 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
3739 [!HAVE_GETUID] (getuid): New function (stub).
3740 [!HAVE_GETGID] (getgid): Likewise.
3741 [!HAVE_LSTAT] (lstat): Likewise.
3742 [!S_IROTH] (S_IROTH): New macro (dummy).
3743 [!S_IRGRP] (S_IRGRP): Likewise.
3744
84b860d8
RM
37452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3746
3747 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
3748 conditional expression).
3749
66e9b712
RM
37502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3751
3752 Import from Gnulib.
3753
3754 * gnulib/fnmatch.c: New file.
3755 * gnulib/fnmatch.h: Likewise.
3756 * gnulib/fnmatch_loop.c: Likewise.
3757 * gnulib/getopt.c: Likewise.
3758 * gnulib/getopt.h: Likewise.
3759 * gnulib/getopt1.c: Likewise.
3760 * gnulib/getopt_int.h: Likewise.
3761 * gnulib/gettext.h: Likewise.
3762
34f4a5b0
RM
37632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3764
3765 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
3766 * normal/handler.c (read_handler_list): Likewise.
3767
ac451143
RM
37682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3769
3770 Misc cleanup.
3771
3772 * kern/command.c (grub_register_command_prio): Use
3773 grub_zalloc() instead of explicitly zeroing data.
3774 * kern/list.c: Include `<grub/mm.h>'.
3775 (grub_named_list_find): Replace `0' with `NULL'.
3776 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
3777 (fs_module_list): Change type to `grub_named_list_t'. Update all
3778 users.
3779 * normal/dyncmd.c (read_command_list): Add space between function
3780 call and parenthesis.
3781 * normal/handler.c (read_handler_list): Likewise.
3782
4089b167
RM
37832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3784
3785 * normal/auth.c (punishment_delay): Moved from here ...
3786 (grub_auth_strcmp): ... to here (inside function).
3787
325f5037
RM
37882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3789
3790 * include/grub/list.h (struct grub_named_list): Remove `const'
3791 qualifier from `name'.
3792 (struct grub_prio_list): Likewise.
3793
7aea29a3
RM
37942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3795
3796 * normal/auth.c: Include `<grub/time.h>'.
3797 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
3798
3fd6f044
RM
37992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3800
3801 * normal/auth.c (punishment_delay): New variable.
3802 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
3803 (grub_auth_check_authentication): Punish failed login attempts with
3804 an incremental (2^N) delay.
3805
a4cd68e4
RM
38062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3807
3808 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
3809 path with $(srcdir).
3810
7ad12f43
VS
38112009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
3814
c1129f03
RM
38152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3816
3817 * util/i386/coreboot/grub-mkrescue.in: New file.
3818 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
3819 variables.
3820
3821 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
3822 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
3823 * configure.ac: Add header and function checks to satisfy grub-mkisofs
3824 requirements.
3825 * util/mkisofs/defaults.h: New file.
3826 * util/mkisofs/eltorito.c: Likewise.
3827 * util/mkisofs/exclude.h: Likewise.
3828 * util/mkisofs/fnmatch.c: Likewise.
3829 * util/mkisofs/getopt.c: Likewise.
3830 * util/mkisofs/getopt1.c: Likewise.
3831 * util/mkisofs/hash.c: Likewise.
3832 * util/mkisofs/include/fctldefs.h: Likewise.
3833 * util/mkisofs/include/mconfig.h: Likewise.
3834 * util/mkisofs/include/prototyp.h: Likewise.
3835 * util/mkisofs/include/statdefs.h: Likewise.
3836 * util/mkisofs/iso9660.h: Likewise.
3837 * util/mkisofs/joliet.c: Likewise.
3838 * util/mkisofs/match.c: Likewise.
3839 * util/mkisofs/match.h: Likewise.
3840 * util/mkisofs/mkisofs.c: Likewise.
3841 * util/mkisofs/mkisofs.h: Likewise.
3842 * util/mkisofs/multi.c: Likewise.
3843 * util/mkisofs/name.c: Likewise.
3844 * util/mkisofs/rock.c: Likewise.
3845 * util/mkisofs/tree.c: Likewise.
3846 * util/mkisofs/write.c: Likewise.
3847
ec8bb77d
VS
38482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
3851 being insecure.
3852
3716b12c
RM
38532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3854
3855 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
3856 `grub-mkimage' (and use $0 when possible).
3857
b97b7b91
RM
38582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3859
3860 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
3861 error message for excessively large memory map.
3862
04114812
RM
38632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3864
3865 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
3866 executable bit.
3867
e4eb2373
RM
38682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
3869
3870 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
3871 message for coreboot users.
3872
c926e1d5 38732009-11-07 Robert Millan <rmh.grub@aybabtu.com>
3874
3875 Fix build with GNU gold.
3876
3877 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
3878 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
3879 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
3880 link addresses.
3881 * aclocal.m4: Likewise.
3882
86e5b1db 38832009-11-04 Felix Zielcke <fzielcke@z-51.de>
3884
3885 * configure.ac (AC_PREREQ): Bump to 2.59d.
3886 * INSTALL: Make it more clear when Autoconf and Ruby are
3887 needed and when to run `./autogen.sh'.
3888
246cd78f 38892009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3890
3891 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
3892 OSes.
3893
4f9dfb37 38942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3895
3896 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
3897
b82bd5e1 38982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3899
3900 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
3901 giving it to GNU Mach.
3902
ff1a9bca 39032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3904
3905 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
3906 GNU partition number to get internal GRUB partition number.
3907
61697d9c 39082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
3909
3910 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
3911 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
3912
a50569e1 39132009-11-01 Robert Millan <rmh.grub@aybabtu.com>
3914
3915 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
3916 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
3917 case.
3918
5b153867 39192009-11-01 Felix Zielcke <fzielcke@z-51.de>
3920
3921 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
3922
d9e2cd70 39232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3924
3925 Fix build problem.
3926
3927 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
3928 `-isystem=$(srcdir)/include'.
3929
805111a4 39302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
3931
3932 * util/i386/pc/grub-install.in: Remove hint that device.map should be
3933 checked (grub-install doesn't currently rely on it).
3934
fa6e945f 39352009-10-29 Robert Millan <rmh.grub@aybabtu.com>
3936
3937 Revert SVN r2660.
3938
3939 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
3940 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
3941 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
3942 * conf/i386-ieee1275.rmk: Likewise.
3943 * conf/i386-pc.rmk: Likewise.
3944 * conf/powerpc-ieee1275.rmk: Likewise.
3945 * conf/sparc64-ieee1275.rmk: Likewise.
3946 * conf/x86_64-efi.rmk: Likewise.
3947
cee15086 39482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3949
3950 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
3951
95b9239e 39522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3953
3954 * include/grub/misc.h: Stop checking for APPLE_CC.
3955
2ed19dfd 39562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
3957
3958 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
3959 doesn't cause an infinite call loop.
3960
fdcdde19 39612009-10-28 Felix Zielcke <fzielcke@z-51.de>
3962
3963 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
3964 strings.
3965
cefabfe1 39662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3967
3968 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
3969 variable.
3970 * Makefile.in: Likewise.
3971
ed96ab6d 39722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3973
3974 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
3975
0579b753 39762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
3979
478df409 39802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3981
3982 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
3983
083d1679 39842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3985
3986 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
3987 from here ...
3988 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
3989
5947ae32 39902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3991
3992 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
3993 in $(MAKEINFO) invocation. This makes it clear in output that
3994 errors are being ignored.
3995
94180ff6 39962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
3997
3998 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
3999 from here ...
4000 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4001 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4002 * conf/i386-ieee1275.rmk: Likewise.
4003 * conf/i386-pc.rmk: Likewise.
4004 * conf/powerpc-ieee1275.rmk: Likewise.
4005 * conf/sparc64-ieee1275.rmk: Likewise.
4006 * conf/x86_64-efi.rmk: Likewise.
4007
9031b03a 40082009-10-26 Colin Watson <cjwatson@ubuntu.com>
4009
4010 * util/grub-editenv.c (main): If only a command is given, use
4011 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4012 (usage): FILENAME is now optional and has a default.
4013
e4f6809b 40142009-10-26 Colin Watson <cjwatson@ubuntu.com>
4015
4016 Improve grub-mkconfig performance when there are several menu
4017 entries on a single filesystem.
4018
4019 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4020 prepare_grub_to_access_device.
4021 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4022 * util/grub.d/30_os-prober.in: Likewise.
4023
67937d4d 40242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4025
4026 * util/grub.d/10_freebsd.in: Remove.
4027 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4028 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4029
ee3756cc 40302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4031
5c35048e 4032 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4033
4dea1c6f 40342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4035
4036 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4037 grub_util_error() call.
4038
042484d7 40392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4040
4041 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4042 `reserved_first_sector' member.
4043 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4044 `reserved_first_sector' to 1.
4045 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4046 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4047 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4048 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4049 filesystems which begin at first sector.
4050 (options): New option --skip-fs-probe.
4051 (main): Handle --skip-fs-probe and pass it to setup().
4052
d64448a7 40532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4054
4055 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4056 (memset): Fix function prototype.
4057
508d42ec 40582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
40592009-10-25 Vasily Averin <vvs@parallels.com>
4060
4061 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4062 `dirent.direntlen == 0'.
4063
b240e30c 40642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4065
4066 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4067 `cpio'.
4068 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4069
346e7fbe 40702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4071
4072 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4073 `__trampoline_setup' and `__ucmpdi2'.
4074 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4075 that libgcc provides.
4076
cdb308b0 40772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4078
4079 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4080 * include/grub/sparc64/libgcc.h (memset): Likewise.
4081 * include/grub/misc.h (memset, memcmp): New function prototypes.
4082
fb26abc2 40832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4084
4085 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4086 `cpio'.
4087 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4088
f6693890 40892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4090
4091 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4092 * docs/grub.cfg: Compensate for recent change in multiboot
4093 loader (since 2009-08-14 it won't pass filename to payload).
4094 * util/grub.d/10_hurd.in: Likewise.
4095
0933cdc0 40962009-10-21 Felix Zielcke <fzielcke@z-51.de>
4097
4098 * config.guess: Update to latest version from config git
4099 repository.
4100 * config.sub: Likewise.
4101
3b2fe8c2 41022009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4103
4104 Fix build on sparc64.
4105
4106 * configure.ac: Perform checks for libgcc symbols before
4107 adding `-nostdlib' to LDFLAGS.
4108
46695a62 41092009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 Let user specify OpenBSD root device.
4112
4113 * loader/i386/bsd.c (openbsd_root): New variable.
4114 (openbsd_opts): New option 'root'.
4115 (OPENBSD_ROOT_ARG): New macro.
4116 (grub_openbsd_boot): Use 'openbsd_root'.
4117 (grub_cmd_openbsd): Fill 'openbsd_root'.
4118
d2b6b7fc 41192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4120
4121 * NEWS: Misc adjustments.
4122
421bd7ac 41232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4126
f1d29d87 41272009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4128
4129 * configure.ac: Bump version to 1.97.
4130
6f3cd880 41312009-10-16 Colin Watson <cjwatson@ubuntu.com>
4132
4133 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4134 -mno-3dnow on x86 architectures. Some toolchains enable these
4135 features by default, but they rely on registers that aren't enabled
4136 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4137
035f7122 41382009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4139
4140 Make entry text a bit more readable.
4141
4142 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4143
44998e58 41442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4147
cd2851b3 41482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4151 operations.
4152
c6f3b249 41532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * configure.ac: Add missing dollar.
4156
6b5886ba 41572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4160
4161 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4162 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4163 exports.
4164 * include/grub/sparc64/libgcc.h: Likewise. Use
4165 preprocessor conditionals.
4166
e9d66f6d 41672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4168
4169 * conf/common.rmk (grub-dumpbios): Remove rule.
4170 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4171 * util/grub-dumpbios.in: Remove file.
4172
9155bc17 41732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4174
4175 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4176 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4177
4178 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4179 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4180 users.
4181
4182 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4183 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4184 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4185 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4186 users.
4187
bf7f7a18 41882009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4189
4190 * term/tparm.c: Switch to GPLv3.
4191
86564c26 41922009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4193
4194 * include/grub/i386/cpuid.h: Add header protection.
4195
5c936493 41962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4197
4198 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4199
4200 * include/grub/i386/cpuid.h: New file.
4201 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4202 (has_longmode): Rename to ...
4203 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4204 `static' attribute.
4205 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4206 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4207 on a CPU that doesn't implement AMD64 instruction set.
4208
186e7cf2 42092009-10-06 Colin Watson <cjwatson@ubuntu.com>
4210
4211 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4212 that version.texi is rebuilt on version number changes.
4213
83b65c4a 42142009-10-06 Colin Watson <cjwatson@ubuntu.com>
4215
4216 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4217 Fixes bug #27602.
4218
d244281c 42192009-10-06 Colin Watson <cjwatson@ubuntu.com>
4220
4221 * util/i386/pc/grub-install.in: Source
4222 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4223 that the --grub-probe option will work.
4224 * util/sparc64/ieee1275/grub-install.in: Likewise.
4225
da25306d 42262009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4227
4228 * configure.ac: Bump version to 1.97~beta4.
4229
e8ee83c0 42302009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4231
4232 Resync grub-mkdevicemap in x86_64-efi.
4233
4234 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4235 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4236 `util/devicemap.c'.
4237
50dcabcf 42382009-10-01 Colin Watson <cjwatson@ubuntu.com>
4239
4240 * util/grub-editenv.c (create_envblk_file): Write new block with a
4241 .new suffix and then rename it into place, to ensure atomic
4242 creation.
4243
0e51c3a7 42442009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4245
4246 Do not automatically install headers.
4247
4248 * Makefile.in (include_DATA): Remove. Update all users.
4249
31299a95 42502009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4251
4252 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4253 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4254
4255 * util/osdetect.lua: Remove.
4256 * script/lua/lauxlib.c: Likewise.
4257 * script/lua/ldebug.c: Likewise.
4258 * script/lua/grub_main.c: Likewise.
4259 * script/lua/lauxlib.h: Likewise.
4260 * script/lua/ldebug.h: Likewise.
4261 * script/lua/ltablib.c: Likewise.
4262 * script/lua/liolib.c: Likewise.
4263 * script/lua/lstrlib.c: Likewise.
4264 * script/lua/lualib.h: Likewise.
4265 * script/lua/ldo.c: Likewise.
4266 * script/lua/ldump.c: Likewise.
4267 * script/lua/ldo.h: Likewise.
4268 * script/lua/loslib.c: Likewise.
4269 * script/lua/lundump.c: Likewise.
4270 * script/lua/grub_lib.c: Likewise.
4271 * script/lua/ldblib.c: Likewise.
4272 * script/lua/lundump.h: Likewise.
4273 * script/lua/lmem.c: Likewise.
4274 * script/lua/grub_lib.h: Likewise.
4275 * script/lua/lmathlib.c: Likewise.
4276 * script/lua/lstate.c: Likewise.
4277 * script/lua/ltm.c: Likewise.
4278 * script/lua/lvm.c: Likewise.
4279 * script/lua/lmem.h: Likewise.
4280 * script/lua/lstate.h: Likewise.
4281 * script/lua/ltm.h: Likewise.
4282 * script/lua/ltable.c: Likewise.
4283 * script/lua/lvm.h: Likewise.
4284 * script/lua/llex.c: Likewise.
4285 * script/lua/lgc.c: Likewise.
4286 * script/lua/grub_lua.h: Likewise.
4287 * script/lua/loadlib.c: Likewise.
4288 * script/lua/lfunc.c: Likewise.
4289 * script/lua/lopcodes.c: Likewise.
4290 * script/lua/lparser.c: Likewise.
4291 * script/lua/ltable.h: Likewise.
4292 * script/lua/llex.h: Likewise.
4293 * script/lua/lgc.h: Likewise.
4294 * script/lua/lfunc.h: Likewise.
4295 * script/lua/lbaselib.c: Likewise.
4296 * script/lua/lopcodes.h: Likewise.
4297 * script/lua/lparser.h: Likewise.
4298 * script/lua/lzio.c: Likewise.
4299 * script/lua/linit.c: Likewise.
4300 * script/lua/lobject.c: Likewise.
4301 * script/lua/llimits.h: Likewise.
4302 * script/lua/lstring.c: Likewise.
4303 * script/lua/lzio.h: Likewise.
4304 * script/lua/lapi.c: Likewise.
4305 * script/lua/lcode.c: Likewise.
4306 * script/lua/lua.h: Likewise.
4307 * script/lua/lobject.h: Likewise.
4308 * script/lua/lstring.h: Likewise.
4309 * script/lua/lapi.h: Likewise.
4310 * script/lua/lcode.h: Likewise.
4311 * script/lua/luaconf.h: Likewise.
4312
cb8a2c38 43132009-09-26 Colin Watson <cjwatson@ubuntu.com>
4314
4315 * docs/grub.texi (Command-line and menu entry commands): Document
4316 date and echo commands.
4317
6b9b6276 43182009-09-24 Pavel Roskin <proski@gnu.org>
4319
4320 * include/grub/kernel.h (struct grub_module_header): Remove
4321 `grub_module_header_types'. Make `type' unsigned. Make `size'
4322 32-bit on all platforms.
4323 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4324 8-bit field. Use grub_host_to_target32() for `size'.
4325 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4326 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4327 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4328
4e5a02a7 43292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4330
4331 Fix "lost keypress" bug in at_keyboard.
4332
4333 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4334 Checks for readyness of input buffer (without flushing it).
4335 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4336 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4337
c6dcedf6 43382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4339
4340 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4341 size check within GRUB_MACHINE_PCBIOS section.
4342
74c958b1 43432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4344
4345 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4346 return value.
4347 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4348 KEYBOARD_ISREADY check.
4349 (grub_at_keyboard_checkkey): Rename to ...
4350 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4351 Remove gratuitous cast.
4352
ff420223 43532009-09-23 Colin Watson <cjwatson@ubuntu.com>
4354
4355 * configure.ac: Call AC_PROG_MKDIR_P.
4356 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4357 version.texi in $(builddir) rather than $(srcdir).
4358 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4359 to makeinfo's @include search path.
4360
d96875df 43612009-09-23 Felix Zielcke <fzielcke@z-51.de>
4362
4363 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4364
9b3f8365 43652009-09-23 Felix Zielcke <fzielcke@z-51.de>
4366
4367 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4368 for `*.dpkg-new'.
4369
c44c90db 43702009-09-21 Colin Watson <cjwatson@ubuntu.com>
4371
4372 Build info documentation. Some code borrowed from Automake.
4373
4374 * configure.ac: Check for makeinfo.
4375 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4376 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4377 docs/version.texi.
4378 (MOSTLYCLEANFILES): Add vti.tmp.
4379 (docs/version.texi, docs/stamp-vti): Update automatically.
4380 (docs/grub.info): Build info documentation. Use --force and ignore
4381 errors for now.
4382 (all-local): Add $(INFOS).
4383 (install-local): Install info files.
4384 (uninstall): Uninstall info files.
4385 * docs/version.texi: Remove from revision control. This file is
4386 automatically generated on build now.
4387 * gendistlist.sh: Add `*.info'.
4388
e0b37bb5 43892009-09-21 Felix Zielcke <fzielcke@z-51.de>
4390
4391 * kern/term.c: Fix indentation.
4392
5a78865b 43932009-09-21 Felix Zielcke <fzielcke@z-51.de>
4394
4395 * util/hostdisk.c: Fix a comment.
4396
dace7e8a 43972009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4398
4399 Fix regression introduced in r2539.
4400
4401 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4402 to 0xA1.
4403
a83d079b 44042009-09-19 Colin Watson <cjwatson@ubuntu.com>
4405
4406 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4407 os-prober. Under normal operation, it does not print anything to
4408 stderr; if it does, we need to debug it, and throwing away stderr
4409 makes that excessively difficult.
a83d079b 4410
be94a509 44112009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4414
63f745e8 44152009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4416
4417 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4418 AC_LANG_PROGRAM from autoconf.
4419 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4420 prototypes (fixes warning).
4421
4422 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4423 `--disable-werror' was used.
4424
bbb2a70f 44252009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4426
4427 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4428 uninitialized `lastaddr'.
4429
77c24f1d 44302009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4431
0f0b8c87 4432 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4433
07197f23 44342009-09-14 Colin Watson <cjwatson@ubuntu.com>
4435
4436 * commands/test.c (get_fileinfo): Return immediately if
4437 grub_fs_probe fails.
4438
dabf1798 44392009-09-14 José Martínez <xosemp@gmail.com>
4440
4441 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4442
d52109a7 44432009-09-14 Colin Watson <cjwatson@ubuntu.com>
4444
4445 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4446 output.
4447
56532179 44482009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4449
4450 * configure.ac: Remove --enable-grub-pe2elf. Only build
4451 grub-pe2elf when needed by the build system itself.
4452 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4453
8ef070f5 44542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4455
4456 * configure.ac: Bump version to 1.97~beta3.
4457 * docs/version.texi: Likewise.
4458
61229557 44592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4460
4461 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4462 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4463 from here ...
4464 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4465 (grub_linux_setup_video): ... to here (with some adjustments).
4466
5c9f8d84 44672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4468
4469 Fix memory corruption issue (spotted by Colin Watson).
4470
4471 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4472 causing returned size to be stored in an incorrect memory location.
4473 Fix use of uninitialized value when storing the returned size.
4474
e8f5d6e9 44752009-09-12 Yves Blusseau <blusseau@zetam.org>
4476
4477 Change clean rules to properly remove files
4478
4479 * genmk.rb: add new clean rules
4480 * Makefile.in (clean): add the new targets
4481 (mostlyclean): likewise
4482
cda2a409 44832009-09-11 Colin Watson <cjwatson@ubuntu.com>
4484
4485 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4486 to grub_uint64_t.
4487 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4488 non-resident files.
4489
86695375 44902009-09-11 Colin Watson <cjwatson@ubuntu.com>
4491
4492 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4493 part of bug #27349.
4494
8aa1541a 44952009-09-10 Felix Zielcke <fzielcke@z-51.de>
4496
4497 * util/grub-mkconfig.in: Make the created config mode 400 and
4498 print a warning if it fails.
4499
48d9bb0a 45002009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4501
4502 * util/grub.d/40_custom.in: Ask user to type custom entries below
4503 comment, rather than below 'exec tail' line.
4504
3b0521be 45052009-09-10 Colin Watson <cjwatson@ubuntu.com>
4506
4507 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4508 visible in grub.cfg.
4509
50051d55 45102009-09-10 Colin Watson <cjwatson@ubuntu.com>
4511
4512 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4513 file.
4514
c0d34387 45152009-09-10 Felix Zielcke <fzielcke@z-51.de>
4516
4517 * docs/grub.cfg: Add an example menu entry for memtest86+.
4518
80a608f3 45192009-09-09 Felix Zielcke <fzielcke@z-51.de>
4520
a2094832 4521 * config.guess: Update to latest version from config git.
80a608f3 4522 * config.sub: Likewise.
4523
99423078 45242009-09-08 Colin Watson <cjwatson@ubuntu.com>
4525
4526 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4527 unknown-command case. Fixes bug #27320.
4528
44454e4c 45292009-09-08 Felix Zielcke <fzielcke@z-51.de>
4530
4531 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4532 `help' if the command exists.
4533
e30d87ad 45342009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4535
4536 * INSTALL: Require GCC 4.1.3 or later.
4537
9a86f1ec 45382009-09-06 Yves Blusseau <blusseau@zetam.org>
4539
4540 * Makefile.in (RMKFILES): add i386-qemu.rmk
4541 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
4542 $(srcdir)/stamp-h.in
4543
7f26d466 45442009-09-05 Robert Millan <rmh.grub@aybabtu.com>
4545
4546 * util/grub-probe.c (probe): Comment out buggy codepath, which
4547 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
4548 should be re-enabled after 1.97.
4549
3a613259 45502009-09-05 Felix Zielcke <fzielcke@z-51.de>
4551
4552 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
4553 find searches for.
4554
197f76c7 45552009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
4558 unnecessary calls to grub_error.
4559
70ba68ce 45602009-09-04 Colin Watson <cjwatson@ubuntu.com>
4561
4562 * NEWS: Mention `keystatus' and Unicode fonts.
4563
4ff0d7a4 45642009-09-04 Robert Millan <rmh.grub@aybabtu.com>
4565
4566 * configure.ac: Bump version to 1.97~beta2.
4567 * docs/version.texi: Likewise.
4568
77c55a87 45692009-09-03 Colin Watson <cjwatson@ubuntu.com>
4570
4571 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
4572 containing unwind information in some cases where it previously did
4573 not. Use -fno-dwarf2-cfi-asm if available to restore the old
4574 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
4575 discussion.
4576
f79572cd 45772009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
4578
4579 Embedding loadenv module into grub-emu
4580
4581 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
4582 commands/loadenv.c
4583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
4584 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
4585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
4586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
4587 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
4588 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
4589
93a81088 45902009-09-03 Magnus Granberg <zorry@ume.nu>
4591
4592 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
4593 include -fPIE in the default specs.
4594 * configure.ac: Check if pie_possible is yes and add -fno-PIE
4595 to TARGET_CFLAGS.
4596
160034b2 45972009-09-03 Felix Zielcke <fzielcke@z-51.de>
4598
4599 * INSTALL: Note that GNU Bison 2.3 or later is required.
4600
087c07c4 46012009-09-03 Colin Watson <cjwatson@ubuntu.com>
4602
4603 * kern/i386/pc/startup.S: Fix typo.
4604
cbf978c0 46052009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
4608 according to GCS.
4609
46102009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 4611
4612 * docs/grub.texi (Naming convention): Describe one-based partition
4613 numbering.
4614 (Device syntax): Likewise.
4615 (File name syntax): Likewise.
4616 (Block list syntax): Likewise.
4617 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
4618 menu.lst.
4619 (File name syntax): Likewise.
4620 (Command-line and menu entry commands): Document acpi, blocklist,
4621 crc, export, insmod, keystatus, ls, set, and unset commands.
4622
f3e8cdfd 46232009-09-02 Colin Watson <cjwatson@ubuntu.com>
4624
4625 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
4626 to avoid implying that only one of --shift, --ctrl, or --alt may be
4627 used.
4628
c0bc232b 46292009-09-02 Colin Watson <cjwatson@ubuntu.com>
4630
4631 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
4632 rather than comparing against S_IFREG, which will almost never work.
4633
aa0f752d 46342009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
4637 (write_blocklists): Likewise.
4638
ecb3166a 46392009-09-01 Colin Watson <cjwatson@ubuntu.com>
4640
4641 * script/lua/grub_lua.h (fputs): Supply a format string as the first
4642 argument to grub_printf.
4643
c403a125 46442009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 4645
4646 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 4647 non GNU test.
31aba781 4648
b5e7312c 46492009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * kern/file.c (grub_file_read): Spelling fix
4652
fe00f472 46532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
4656 loading of headers in some cases.
4657
cc55302e 46582009-08-30 Robert Millan <rmh.grub@aybabtu.com>
4659
4660 * configure.ac: Bump version to 1.97~beta1.
4661 * docs/version.texi: Likewise.
4662
5c90cdd2 46632009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 4664
4665 * include/grub/i386/xnu.h: Add license header.
4666 include grub/err.h explicitly.
4667
c90edae4 46682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4669
4670 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
4671 to `ufs' in the vfs.root.mountfrom kernel parameter.
4672
d8888b5c 46732009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4674
4675 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
4676
4677 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
4678 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
4679
4680 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
4681 `ARRAY_SIZE' macro.
4682
6f07b921 46832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * kern/file.c (grub_file_read): Check offset.
4686 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
4687 * fs/jfs.c (grub_jfs_read_file): Likewise.
4688 * fs/ntfs.c (grub_ntfs_read): Likewise.
4689 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
4690 * fs/minix.c (grub_minix_read_file): Correct offset check.
4691 * fs/ufs.c (grub_ufs_read_file): Likewise.
4692
b4f34077 46932009-08-28 Colin Watson <cjwatson@ubuntu.com>
4694
4695 * term/i386/pc/console.c (bios_data_area): Cast
4696 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
4697
e7c69859 46982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 1-bit optimised blitters.
4701
4702 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
4703 prototype.
4704 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4705 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4706 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4707 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4708 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4709 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4710 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
4711 function.
4712 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4713 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4714 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4715 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4716 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4717 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4718 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
4719 when possible.
4720 * video/video.c (grub_video_get_blit_format): Return
4721 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
4722
a57da43f 47232009-08-28 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
4726 the first argument to grub_printf.
4727
4cbe67e5 47282009-08-28 Colin Watson <cjwatson@ubuntu.com>
47292009-08-28 Robert Millan <rmh.grub@aybabtu.com>
4730
4731 Add `getkeystatus' terminal method. Add a new `keystatus' command
4732 to query it.
4733
4734 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
4735 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
4736 modifier key bitmasks.
4737 (struct grub_term_input): Add `getkeystatus' member.
4738 (grub_getkeystatus): Add prototype.
4739 * kern/term.c (grub_getkeystatus): New function.
4740
4741 * include/grub/i386/pc/memory.h
4742 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
4743 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
4744 Data Area layout.
4745 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
4746 (grub_console_term_input): Set `getkeystatus' member.
4747 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
4748 constants.
4749 (grub_usb_keyboard_getreport): Likewise.
4750 (grub_usb_keyboard_checkkey): Likewise.
4751 (grub_usb_keyboard_getkeystatus): New function.
4752 (grub_usb_keyboard_term): Set `getkeystatus' member.
4753
4754 * commands/keystatus.c: New file.
4755 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
4756 (keystatus_mod_SOURCES): New variable.
4757 (keystatus_mod_CFLAGS): Likewise.
4758 (keystatus_mod_LDFLAGS): Likewise.
4759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
4760 commands/keystatus.c.
4761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4762 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4763 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4766 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 4767
6e2a9085 47682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Split befs.mod and afs.mod into *_be.mod and *.mod
4771
4772 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
4773 (grub_fstest_SOURCES): Likewise.
4774 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
4775 (afs_be_mod_SOURCES): New variable.
4776 (afs_be_mod_CFLAGS): Likewise.
4777 (afs_be_mod_LDFLAGS): Likewise.
4778 (befs_be_mod_SOURCES): Likewise.
4779 (befs_be_mod_CFLAGS): Likewise.
4780 (befs_be_mod_LDFLAGS): Likewise.
4781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
4782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4784 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4785 (grub_emu_SOURCES): Likewise.
4786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4789 * fs/afs_be.c: New file.
4790 * fs/befs_be.c: New file.
4791 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
4792 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
4793 (U16): Replaced with ...
4794 (grub_afs_to_cpu16): ...this. All users updated.
4795 (U32): Replaced with ...
4796 (grub_afs_to_cpu32): ...this. All users updated.
4797 (U64): Replaced with ...
4798 (grub_afs_to_cpu64): ...this. All users updated.
4799 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
4800 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 4801 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 4802 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4803 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4804 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4805 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4806 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4807 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4808 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4809 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4810
32a71655 48112009-08-26 Bean <bean123ch@gmail.com>
4812
4813 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
4814 64-bit number.
4815 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4816 (grub_xfs_inode_block): Change return type to grub_uint64_t.
4817 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
4818
552bf6c5 48192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 NetBSD memory map support.
4822
4823 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
4824 (grub_netbsd_btinfo_mmap_header): New structure.
4825 (grub_netbsd_btinfo_mmap_entry): Likewise.
4826 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
4827
1ae2078c 48282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 Enable bsd.mod on coreboot.
4831
4832 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
4833 (bsd_mod_SOURCES): New variable.
4834 (bsd_mod_CFLAGS): Likewise.
4835 (bsd_mod_LDFLAGS): Likewise.
4836 (bsd_mod_ASFLAGS): Likewise.
4837 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
4838 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
4839
beefc598 48402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 Cleanup NetBSD root support.
4843
4844 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
4845 grub_bsd_get_device.
4846 Fix typo.
4847
3b76e68b 48482009-08-25 Felix Zielcke <fzielcke@z-51.de>
4849
4850 * util/grub.d/00_header.in: Move check for the video backend of
4851 gfxterm from here ...
4852 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
4853 a suitable video backend.
4854
aea664ea 48552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 Fix breakage in grub-setup.
4858
4859 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
4860 "msdos_partition_map".
4861
ff747d50 48622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 Fix breakage in normal/auth.c.
4865
4866 * normal/auth.c (grub_iswordseparator): New function.
4867
e7e1f93f 48682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Authentication support.
4871
4872 * commands/password.c: New file.
4873 * conf/common.rmk (pkglib_MODULES): Add password.mod.
4874 (password_mod_SOURCES): New variable.
4875 (password_mod_CFLAGS): Likewise.
4876 (password_mod_LDFLAGS): Likewise.
4877 (normal_mod_SOURCES): Add normal/auth.c.
4878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
4879 normal/auth.c.
4880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4882 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4884 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4886 * include/grub/auth.h: New file.
4887 * include/grub/err.h (grub_err_t): New enum value
4888 GRUB_ERR_ACCESS_DENIED.
4889 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
4890 'users'.
4891 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
4892 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
4893 users updated.
4894 * normal/auth.c: New file.
4895 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
4896 (grub_cmdline_run): Don't allow to go to command line without
4897 authentication.
4898 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
4899 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
4900 menuentry without superuser rights.
4901 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
4902 user isn't a superuser.
4903
70f1161d 49042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 Save space by inlining misc.c functions.
4907
4908 * kern/misc.c (grub_iswordseparator): Made static.
4909 * kern/misc.c (grub_strcat): Moved from here ...
4910 * include/grub/misc.h (grub_strcat): ... here. Inlined.
4911 * kern/misc.c (grub_strncat): Moved from here ...
4912 * include/grub/misc.h (grub_strncat): ... here. Inlined.
4913 * kern/misc.c (grub_strcasecmp): Moved from here ...
4914 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
4915 * kern/misc.c (grub_strncasecmp): Moved from here ...
4916 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
4917 * kern/misc.c (grub_isalpha): Moved from here ...
4918 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
4919 * kern/misc.c (grub_isdigit): Moved from here ...
4920 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
4921 * kern/misc.c (grub_isgraph): Moved from here ...
4922 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
4923 * kern/misc.c (grub_tolower): Moved from here ...
4924 * include/grub/misc.h (grub_tolower): ... here. Inlined.
4925
48e40bff 49262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * script/sh/function.c (grub_script_function_find): Cut error message
4929 not to flood terminal.
4930 * script/sh/lexer.c (grub_script_yylex): Remove command line length
4931 limit.
4932 * script/sh/script.c (grub_script_arg_add): Duplicate string.
4933
c385bfc3 49342009-08-24 Colin Watson <cjwatson@ubuntu.com>
4935
4936 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
4937 `report' grub_uint8_t *.
4938 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
4939 Use a 50-millisecond timeout rather than just repeating
4940 grub_usb_keyboard_getreport 50 times.
4941 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
4942
2d21e3e8 49432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Rename *_partition_map to part_*
4946
4947 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
4948 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
4949 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
4950 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
4951 All users updated.
4952 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
4953 All users updated.
4954 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
4955 * util/grub-probe.c (probe_partmap): Don't transform partition name
4956 to get module name.
4957
dd103c4e 49582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Fix OpenBSD and NetBSD support.
4961
4962 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
4963 memory address conflict.
4964 (OPENBSD_MMAP_ACPI): New definition.
4965 (OPENBSD_MMAP_NVS): Likewise.
4966 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
4967 and OPENBSD_MMAP_NVS.
4968 Add memory map terminator
4969 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 4970 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 4971
16c84d74 49722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Let user specify NetBSD root device.
4975
4976 * loader/i386/bsd.c (netbsd_root): New variable.
4977 (netbsd_opts): New option 'root'.
4978 (NETBSD_ROOT_ARG): New macro.
4979 (grub_netbsd_boot): Use 'netbsd_root'.
4980 (grub_bsd_unload): Free 'netbsd_root'.
4981 (grub_cmd_netbsd): Fill 'netbsd_root'.
4982
adb29902 49832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Support for 64-bit NetBSD.
4986
4987 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
4988 point when booting non-FreeBSD.
4989
f5ae9f74 49902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 Support --no-smp and --no-acpi for NetBSD.
4993
4994 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
4995 (NETBSD_AB_NOACPI): Likewise.
4996 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
4997 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
4998
de74f136 49992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5002 errors.
5003 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5004 errors. Call grub_error when needed.
5005
e9a925da 50062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * commands/search.c (search_fs): Try searching without autoload first.
5009 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5010 filesystem module explicitly for faster booting.
5011
5174302b 50122009-08-23 Colin Watson <cjwatson@ubuntu.com>
5013
5014 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5015
c8c80635 50162009-08-23 Colin Watson <cjwatson@ubuntu.com>
5017
5018 * util/grub.d/30_os-prober.in: Disable os-prober if
5019 `GRUB_DISABLE_OS_PROBER' was set to true.
5020
71acf5e5 50212009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5022
5023 * partmap/pc.c: Rename to ...
5024 * partmap/msdos.c: ... this. Update all users.
5025 (grub_pc_partition_map): Rename to ...
5026 (grub_msdos_partition_map): ... this. Update all users.
5027
5028 * parttool/pcpart.c: Rename to ...
5029 * parttool/msdospart.c: ... this. Update all users.
5030
5031 * include/grub/pc_partition.h: Rename to ...
5032 * include/grub/msdos_partition.h: ... this. Update all users.
5033 (grub_pc_partition_bsd_entry): Rename to ...
5034 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5035 (grub_pc_partition_disk_label): Rename to ...
5036 (grub_msdos_partition_disk_label): ... this. Update all users.
5037 (grub_pc_partition_entry): Rename to ...
5038 (grub_msdos_partition_entry): ... this. Update all users.
5039 (grub_pc_partition_mbr): Rename to ...
5040 (grub_msdos_partition_mbr): ... this. Update all users.
5041 (grub_pc_partition): Rename to ...
5042 (grub_msdos_partition): ... this. Update all users.
5043 (grub_pc_partition_is_empty): Rename to ...
5044 (grub_msdos_partition_is_empty): ... this. Update all users.
5045 (grub_pc_partition_is_extended): Rename to ...
5046 (grub_msdos_partition_is_extended): ... this. Update all users.
5047 (grub_pc_partition_is_bsd): Rename to ...
5048 (grub_msdos_partition_is_bsd): ... this. Update all users.
5049
5050 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5051 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5052 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5053 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5054 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5055 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5056 (gpt_mod_LDFLAGS): Rename to ...
5057 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5058 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5059 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5060 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5061 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5062 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5063 (part_gpt_mod_LDFLAGS): ... this.
5064 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5065 `pcpart.mod' to `msdospart.mod'.
5066 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5067 to ...
5068 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5069 (msdospart_mod_LDFLAGS): ... this.
5070
c11fded5 50712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5074 (openbsd_opts): Likewise.
5075 (netbsd_opts): Likewise.
5076 (freebsd_flags): Added 0 terminator.
5077 (openbsd_flags): Likewise.
5078 (netbsd_flags): Likewise.
5079 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5080 (grub_cmd_freebsd): Transformed into extended command.
5081 (grub_cmd_openbsd): Likewise.
5082 (grub_cmd_netbsd): Likewise.
5083 (cmd_freebsd): Changed type to grub_extcmd_t.
5084 (cmd_openbsd): Likewise.
5085 (cmd_netbsd): Likewise.
5086 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5087 grub_cmd_openbsd as extended commands.
5088 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5089 cmd_netbsd and cmd_openbsd
5090
11d1c769 50912009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5094
7a9094e5 50952009-08-21 Pavel Roskin <proski@gnu.org>
5096
5496c37e 5097 * Makefile.in (install-local): When checking if a file is in the
5098 build directory, use "test -e" to detect symlinks.
5099
7a9094e5 5100 * Makefile.in (install-local): Remove all files in
5101 $(DESTDIR)$(pkglibdir) before installing new files there.
5102
e53cea11 51032009-08-18 Felix Zielcke <fzielcke@z-51.de>
5104
5105 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5106 grub-mkelfimage.
5107
9aced544 51082009-08-18 Felix Zielcke <fzielcke@z-51.de>
5109
5110 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5111 explicitly specified by the user.
5112
b7da6bab 51132009-08-18 Pavel Roskin <proski@gnu.org>
5114
5115 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5116 grub_uint8_t pointer for data.
5117 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5118 Likewise.
5119 * video/fb/fbutil.c: Remove unnecessary casts.
5120
19f1b335 51212009-08-17 Michal Suchanek <hramrach@centrum.cz>
5122
5123 VBE cleanup.
5124
5125 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5126 (grub_vbe_set_video_mode): Save active mode info
5127 only after setting the mode.
5128 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5129 second argument.
5130
2f467aa9 51312009-08-17 Michal Suchanek <hramrach@centrum.cz>
5132
5133 Rename variables for clarity.
5134
5135 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5136 (active_vbe_mode_info): ... this. All users updated.
5137 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5138 All users updated.
5139 (initial_mode): Rename to ...
5140 (initial_vbe_mode): ... this. All users updated.
5141 (mode_in_use): Rename to ..
5142 (vbe_mode_in_use): ... this. All users updated.
5143 (mode_list): Rename to ..
5144 (vbe_mode_list): ... this. All users updated.
5145 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5146 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5147 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5148 'mode_list_size' to 'vbe_mode_list_size'.
5149 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5150 'best_mode_info' to 'best_vbe_mode_info' and
5151 'best_mode' to 'best_vbe_mode'
5152
6025fcd7 51532009-08-17 Michal Suchanek <hramrach@centrum.cz>
5154
5155 Remove duplicate grub_video_fb_get_video_ptr.
5156
5157 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5158 (grub_video_fb_get_video_ptr): ... this.
5159 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5160 * video/fb/fbutil.c: Add comment about addressing.
5161 (get_data_ptr): Rename to ...
5162 (grub_video_fb_get_video_ptr): ... this. All users updated.
5163 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5164
cc8c6faf 51652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5166
5167 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5168 grub_dprintf() that was just added.
5169
08aa61f0 51702009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5171
5172 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5173 (DEFAULT_VIDEO_MODE): Remove macros.
5174 (grub_linux_boot): Remove assumption that Linux has FB support,
5175 and use "text" as default video mode.
5176
7cef4f75 51772009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5180 grub_dprintf.
5181 * fs/fat.c (grub_fat_read_data): Likewise.
5182
e1f39873 51832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5186 payload.
5187 (grub_module): Likewise.
5188
c166d79e 51892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5192 mbi->cmdline but free playground.
5193
c60cee8e 51942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Handle group offset on UFS1.
5197
5198 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5199 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5200
c0d8b5d4 52012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Split ufs.mod into ufs1.mod and ufs2.mod.
5204
5205 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5206 (grub_fstest_SOURCES): Likewise.
5207 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5208 (ufs_mod_SOURCES): Remove.
5209 (ufs_mod_CFLAGS): Likewise.
5210 (ufs_mod_LDFLAGS): Likewise.
5211 (ufs1_mod_SOURCES): New variable.
5212 (ufs1_mod_CFLAGS): Likewise.
5213 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5214 (ufs2_mod_SOURCES): New variable.
5215 (ufs2_mod_CFLAGS): Likewise.
5216 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5218 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5219 Likewise.
5220 (grub_emu_SOURCES): Likewise.
5221 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5222 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5223 (grub_setup_SOURCES): Likewise.
5224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5225 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5226 (grub_setup_SOURCES): Likewise.
5227 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5228 Likewise.
5229 * fs/ufs2.c: New file.
5230 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5231
d3539132 52322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Framebuffer split.
5235
5236 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5237 subsystem at the end.
5238 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5239 (video_fb_mod_SOURCES): New variable.
5240 (video_fb_mod_CFLAGS): Likewise.
5241 (video_fb_mod_LDFLAGS): Likewise.
5242 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5243 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5244 * video/i386/pc/vbeblit.c: Moved from here ...
5245 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5246 * video/i386/pc/vbefill.c: Moved from here ...
5247 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5248 * video/i386/pc/vbeutil.c: Moved from here ...
5249 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5250 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5251 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5252 * include/grub/i386/pc/vbefill.h: Moved from here ...
5253 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5254 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5255 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5256 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5257 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5258 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5259 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5260 (grub_video_adapter): Added 'get_info_and_fini'.
5261 (grub_video_get_info_and_fini): New prototype.
5262 (grub_video_set_mode): make modestring const char *.
5263 * loader/i386/linux.c (grub_linux_setup_video): Use
5264 grub_video_get_info_and_fini.
5265 (grub_linux_boot): Move modesetting just before booting.
5266 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5267 grub_video_get_info_and_fini.
5268 * video/i386/pc/vbe.c: Moved framebuffer part ...
5269 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5270 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5271 grub_video_fbstd_colors and grub_video_fb_set_palette.
5272 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5273 grub_video_fb_init.
5274 (grub_video_vbe_fini): Use grub_video_fb_fini.
5275 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5276 render_target and use grub_video_fb_set_active_render_target and
5277 grub_video_fb_set_palette.
5278 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5279 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5280 (grub_video_vbe_adapter): Use framebuffer.
5281 * video/video.c (grub_video_get_info_and_fini): New function.
5282 (grub_video_set_mode): Make modestring const char *.
5283 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5284 values are already initialised.
5285
d404ee56 52862009-08-14 Pavel Roskin <proski@gnu.org>
5287
5288 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5289 ABS and APPLE_CC.
5290 * boot/i386/pc/diskboot.S: Likewise.
5291 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5292 sectors allow compilation on MacOSX.
5293 * conf/i386-pc.rmk: Enable unconditional compilation of
5294 lnxboot.img.
5295
9a10df16 52962009-08-13 Colin Watson <cjwatson@ubuntu.com>
5297
5298 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5299 * util/grub.d/00_header.in: Enter interruptible sleep if
5300 GRUB_HIDDEN_TIMEOUT is set.
5301
be3c9ca7 53022009-08-13 Yves Blusseau <blusseau@zetam.org>
5303
5304 * include/grub/symbol.h: Add the LOCAL macro.
5305 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5306 starting with "L_".
5307
1f9e557e 53082009-08-13 Pavel Roskin <proski@gnu.org>
5309
9ca62843 5310 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5311 any modern compilers we support.
5312
1f9e557e 5313 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5314 Use local labels starting with "L_" so that Apple assembler
5315 knows they are local.
5316
81623db6 53172009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5318
5319 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5320 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5321 (bsd_kernel_types): ... this enum.
5322
5323 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5324 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5325 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5326
5327 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5328 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5329 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5330 messages.
5331
f5d35e7a 53322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5333
5334 * util/grub-dumpdevtree: Moved from here ...
5335 * util/i386/efi/grub-dumpdevtree: ... to here.
5336 (hexify): New function. Converts a string to its hex version.
5337 Generate hex versions of "efi" and "device-properties" by calling
5338 hexify() on the ASCII strings rather than by hardcoding numbers.
5339
d1e1d527 53402009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5341
5342 * fs/jfs.c: Update copyright year.
5343
1ebbe064 53442009-08-08 Felix Zielcke <fzielcke@z-51.de>
5345
5346 * util/grub.d/00_header.in: Fix a comment.
5347 * util/grub.d/10_linux.in: Likewise.
5348 * util/grub.d/10_windows.in: Likewise.
5349 * util/grub.d/10_hurd.in: Likewise.
5350
a78c8d24 53512009-08-08 Felix Zielcke <fzielcke@z-51.de>
5352
5353 * util/grub-mkconfig.in: Allow the user to specify the used font
5354 with GRUB_FONT.
5355
29a6b9e8 53562009-08-08 Pavel Roskin <proski@gnu.org>
5357
b5f16cc4 5358 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5359 available, xfs.mod needs it now.
5360
2f5cb827 5361 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5362 the "g" modifier in sed when the intention is to strip something
5363 once. This fixes comparison of kernels with multiple dashes.
5364
29a6b9e8 5365 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5366 on it. Add missing space before closing bracket. Fix
5367 misleading formatting.
5368
892a3d98 53692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5370
5371 * docs/grub.texi: Major overhaul. Remove all sections that are
5372 specific to GRUB Legacy, or mostly composed of Legacy-specific
5373 information.
5374
ed94253f 53752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5376
5377 * docs/version.texi: New file. Provides version information for
5378 grub.texi.
5379
126d6628 53802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5381
5382 * docs/grub.texi: Update CVS information to SVN.
5383 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5384
998b5aa9 53852009-08-07 Felix Zielcke <fzielcke@z-51.de>
5386
5387 * util/grub-mkconfig.in: Remove a wrong `fi'.
5388
818e094a 53892009-08-07 Felix Zielcke <fzielcke@z-51.de>
5390
5391 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5392 (grub_jfs_uuid): New function.
5393 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5394
b969c52f 53952009-08-07 Felix Zielcke <fzielcke@z-51.de>
5396
5397 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5398 of it to ...
5399 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5400 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5401
7a4894cc 54022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5403
5404 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5405 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5406 Update all users.
5407
5408 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5409 not just "vmlinu[zx]".
5410 Moved from here ...
5411 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5412 all users.
5413
5414 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5415 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5416 all users.
5417
4e2171f8 54182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5419
5420 * util/grub.d/10_freebsd.in: Use an absolute device path for
5421 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5422
6dcfcb32 54232009-08-06 Felix Zielcke <fzielcke@z-51.de>
5424
5425 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5426 handling of multiple abstraction modules.
5427
f56a8756 54282009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5429
5430 Fix a bug resulting in black screen when loading Linux using a
5431 packed video mode.
5432
5433 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5434 function.
5435
5436 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5437 (grub_vbe_bios_getset_dac_palette_width): New function.
5438 (grub_vbe_bios_get_dac_palette_width)
5439 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5440 grub_vbe_bios_getset_dac_palette_width()).
5441
5442 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5443 check for return status.
5444 (grub_vbe_get_video_mode_info): When getting information for a packed
5445 mode (<= 8 bpp), obtain DAC palette width using
5446 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5447 {red,green,blue}_mark_size.
5448
222671b2 54492009-08-04 Felix Zielcke <fzielcke@z-51.de>
5450
ecb1a6d9 5451 * commands/search.c (options): Fix help output to match actual code.
222671b2 5452
f84114f5 54532009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5456 of homegrown code.
5457
bd288a20 54582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5459
5460 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5461 on XFS or ReiserFS.
5462
8aab5e25 54632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 Support Apple partition map with sector size different from 512 bytes.
5466
5467 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5468 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5469 and 'apart.partmap_size'.
5470
6ad6258a 54712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
54722009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5473
5474 Fix cpuid command.
5475
5476 * commands/i386/cpuid.c (options): New variable.
5477 (grub_cmd_cpuid): Return real error.
5478 (GRUB_MOD_INIT(cpuid)): Declare options.
5479
67459bc6 54802009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5483 valid.
5484
fbc6ab54 54852009-07-31 Bean <bean123ch@gmail.com>
5486
5487 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5488 log2_inode.
5489 (grub_fshelp_node): Move inode field to the end.
5490 (grub_xfs_data): Remove inode field.
5491 (grub_xfs_inode_block): Calculate inode size using sblock.
5492 (grub_xfs_inode_offset): Likewise.
5493 (grub_xfs_read_inode): Calculate inode size using sblock.
5494 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5495 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5496 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5497 to match inode size.
5498 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5499 not accessible when data is null.
5500 (grub_xfs_open): Likewise.
5501
f45d6cfc 55022009-07-31 Bean <bean123ch@gmail.com>
5503
5504 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5505 Don't change pv->disk if it's already set.
5506
5507 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5508 (grub_raid_register): ... here.
5509 (grub_raid_rescan): Removed.
5510
5511 * include/grub/raid.h (grub_raid_rescan): Removed.
5512
5513 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5514 (fstest): Replace grub_raid_rescan with module fini function followed
5515 by init function.
5516
5517 * util/grub-probe.c: Add include file <grub/raid.h>.
5518 (probe_raid_level): New function.
5519 (probe): Detect abstraction by walking the disk device, support two
5520 level of abstraction (LVM on RAID) when detecting partition map.
5521
24443b5a 55222009-07-31 Pavel Roskin <proski@gnu.org>
5523
5524 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5525 to grub_zalloc(), it was erroneous.
5526 Reported by Bean <bean123ch@gmail.com>
5527
a275d9e7 55282009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5531 embedding zone, not only the first one.
a275d9e7 5532
56c5a47f 55332009-07-29 Joe Auricchio <jauricchio@gmail.com>
5534
5535 * term/gfxterm.c (clear_char): New function.
5536 (grub_virtual_screen_setup): Use clear_char.
5537 (scroll_up): Likewise.
5538 (grub_virtual_screen_cls): Likewise.
5539
67bb323a 55402009-07-29 Felix Zielcke <fzielcke@z-51.de>
5541
5542 * util/deviceiter.c (get_acceleraid_disk_name): New static
5543 function.
5544 (grub_util_iterate_devices): Handle Accelraid devices.
5545 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
5546
388a7c75 55472009-07-28 Robert Millan <rmh.grub@aybabtu.com>
5548
5549 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
5550 separator for the suggested gfxpayload string (';' collides with the
5551 parser and needs escaping).
5552
3bb7abcf 55532009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
5556 Clear direction flag before jumping to OS.
5557 (grub_multiboot2_real_boot): Likewise.
5558
2ddd36d7 55592009-07-28 Felix Zielcke <fzielcke@z-51.de>
5560
5561 * util/i386/pc/grub-install: Fix parsing of --disk-module
5562 option.
5563
c521b62b 55642009-07-28 Felix Zielcke <fzielcke@z-51.de>
5565
5566 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
5567 when embedding.
5568
880e0a0c 55692009-07-26 Felix Zielcke <fzielcke@z-51.de>
5570
5571 * util/grub-mkconfig.in (package_version): New variable.
5572 Use it do display the version.
5573
2366e356 55742009-07-25 Felix Zielcke <fzielcke@z-51.de>
5575
5576 * kern/file.c (grub_file_open): Revert to previous check with
5577 grub_errno.
5578
7ad8c80e 55792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
5582 from help line. It's out of sync with code.
5583
72b9658b 55842009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
5587 entries on failed boot.
5588
77435277 55892009-07-25 Felix Zielcke <fzielcke@z-51.de>
5590
5591 * kern/file.c (grub_file_open): Fix an error check.
5592
fcaa8b21 55932009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
5594
35d16c74 5595 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
5596 partition map couldn't be identified.
fcaa8b21 5597
48904cd1 55982009-07-23 Pavel Roskin <proski@gnu.org>
5599
ef3c317f 5600 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
5601 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
5602 case of little endian words becomes just an optimization.
5603 Respect const modifier.
ad8ea1f4 5604 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 5605
48904cd1 5606 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
5607 to avoid loss of upper bits if align is unsigned and shorter
5608 than addr.
5609
260c9a89 56102009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 UUID support for UFS
5613
5614 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
5615 (grub_ufs_uuid): New function.
5616 (grub_ufs_fs): add .uuid
5617
f76ce889 56182009-07-21 Pavel Roskin <proski@gnu.org>
5619
5620 * kern/dl.c (grub_dl_check_header): Make static.
5621
6a6cbcaf 56222009-07-21 Felix Zielcke <fzielcke@z-51.de>
5623
5624 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
5625 add drivemap for Vista. It breaks Windows 7.
5626
cffcddb2 56272009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
5630 128 bytes
5631
1ef44b80 56322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Add BFS support
5635
5636 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
5637 (grub_fstest_SOURCES): Likewise.
5638 (pkglib_MODULES): Add befs.mod.
5639 (befs_mod_SOURCES): New variable.
5640 (befs_mod_CFLAGS): Likewise.
5641 (befs_mod_LDFLAGS): Likewise.
5642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5643 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5644 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5645 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5646 (grub_setup_SOURCES): Likewise.
5647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5648 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5649 (grub_setup_SOURCES): Likewise.
5650 * fs/befs.c: New file.
5651 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
5652 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
5653 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
5654 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
5655 (B_KEY_INDEX_ALIGN): New declaration.
5656 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
5657 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
5658 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
5659 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
5660 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
5661 (grub_afs_mount) [MODE_BFS]: Likewise.
5662 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
5663 (grub_afs_fs): Use GRUB_AFS_FSNAME
5664 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
5665 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
5666 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
5667 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
5668
4f253044 56692009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
5670
5671 * util/getroot.c (find_root_device): Add support for MacOSX.
5672 * util/hostdisk.c: Likewise.
5673
57a55913 56742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * font/font.c (find_glyph): Check whether a font is present to avoid
5677 segmentation fault.
75421ca9 5678
56792009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 5680
5681 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
5682
e98cd0c2 56832009-07-20 Pavel Roskin <proski@gnu.org>
5684
5685 * configure.ac: Trim excessively wordy excuses.
5686
1d2d169a 56872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Add symlink, mtime and label support to AtheFS.
5690
5691 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
5692 (grub_afs_iterate_dir): Handle symlinks.
5693 (grub_afs_open): Use grub_afs_read_symlink.
5694 (grub_afs_dir): Likewise.
5695 Pass mtime.
5696 (grub_afs_label): New function.
5697 (grub_afs_fs): Add grub_afs_label.
5698 (grub_afs_read_symlink): New function.
5699
186f3189 57002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Fix AtheFS support.
5703
5704 * fs/afs.c: Fix comments style.
5705 (grub_afs_blockrun): Declare as packed.
5706 (grub_afs_datastream): Likewise.
5707 (grub_afs_bnode): Likewise.
5708 (grub_afs_btree): Likewise.
5709 (grub_afs_sblock): Likewise.
5710 Declare `name' as char.
5711 (grub_afs_inode): Declare as packed.
5712 Change void *vnode to grub_uint32_t unused.
5713 (grub_afs_iterate_dir): Check that key_size is positive.
5714 (grub_afs_mount): Don't read superblock twice.
75421ca9 5715 (grub_afs_dir): Don't free node in case of error,
186f3189 5716 grub_fshelp_find_file already handles this.
5717 (grub_afs_open): Likewise.
5718
5680109e 57192009-07-19 Pavel Roskin <proski@gnu.org>
5720
5721 * Makefile.in: Remove LIBLZO and enable_lzo.
5722 * conf/i386-pc.rmk: Remove lzo support.
5723 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
5724 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
5725 support.
5726 * kern/i386/pc/lzo1x.S: Remove.
5727 * kern/i386/pc/startup.S: Remove lzo support.
5728 * util/i386/pc/grub-mkimage.c: Likewise.
5729
ac70fa32 57302009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
5733 * fs/xfs.c (grub_xfs_dir): Likewise.
5734 * fs/afs.c (grub_afs_dir): Likewise.
5735 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5736 (grub_iso9660_open): Likewise.
5737 * fs/jfs.c (grub_jfs_open): Likewise.
5738 * fs/ext2.c (grub_ext2_dir): Likewise.
5739 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
5740 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 5741
eab58da2 57422009-07-16 Pavel Roskin <proski@gnu.org>
5743
d2838156 5744 * configure.ac: Never add "-c" to CFLAGS.
5745
55c70904 5746 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
5747
43e6200c 5748 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
5749 grub_cv_cc_efiemu should be used.
5750
ce7a733d 5751 * configure.ac: Typo fixes.
5752
eab58da2 5753 * kern/mm.c (grub_zalloc): New function.
5754 (grub_debug_zalloc): Likewise.
5755 * include/grub/mm.h: Declare grub_zalloc() and
5756 grub_debug_zalloc().
5757 * util/misc.c (grub_zalloc): New function.
5758 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
5759 instead of grub_malloc(), remove unneeded initializations.
5760 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
5761 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
5762 * commands/parttool.c (grub_cmd_parttool): Likewise.
5763 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5764 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
5765 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
5766 * disk/usbms.c (grub_usbms_finddevs): Likewise.
5767 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
5768 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
5769 (grub_cmd_efiemu_pnvram): Likewise.
5770 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
5771 * fs/iso9660.c (grub_iso9660_mount): Likewise.
5772 (grub_iso9660_iterate_dir): Likewise.
5773 * fs/jfs.c (grub_jfs_opendir): Likewise.
5774 * fs/ntfs.c (list_file): Likewise.
5775 (grub_ntfs_mount): Likewise.
5776 * kern/disk.c (grub_disk_open): Likewise.
5777 * kern/dl.c (grub_dl_load_core): Likewise.
5778 * kern/elf.c (grub_elf_file): Likewise.
5779 * kern/env.c (grub_env_context_open): Likewise.
5780 (grub_env_set): Likewise.
5781 (grub_env_set_data_slot): Likewise.
5782 * kern/file.c (grub_file_open): Likewise.
5783 * kern/fs.c (grub_fs_blocklist_open): Likewise.
5784 * loader/i386/multiboot.c (grub_module): Likewise.
5785 * loader/xnu.c (grub_xnu_create_key): Likewise.
5786 (grub_xnu_create_value): Likewise.
5787 * normal/main.c (grub_normal_add_menu_entry): Likewise.
5788 (read_config_file): Likewise.
5789 * normal/menu_entry.c (make_screen): Likewise.
5790 * partmap/sun.c (sun_partition_map_iterate): Likewise.
5791 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
5792 * script/sh/script.c (grub_script_parse): Likewise.
5793 * video/bitmap.c (grub_video_bitmap_create): Likewise.
5794 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5795 * video/readers/png.c (grub_png_output_byte): Likewise.
5796 (grub_video_reader_png): Likewise.
5797
830afef7 57982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 5799
5800 Enable all targets that can be built by default
5801
830afef7 5802 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 5803 grub-mkfont and grub-fstest if they can be built
5804
ee293aee 58052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 Fix hang and segmentation fault in grub-emu-usb
5808
5809 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
5810 * util/usb.c (grub_libusb_devices): likewise
5811 (grub_libusb_init): rename to ...
5812 (GRUB_MOD_INIT (libusb)):...this
5813 (grub_libusb_fini): rename to ..
5814 (GRUB_MOD_FINI (libusb)):...this
5815 * disk/usbms.c (grub_usbms_transfer): fix retry logic
5816 * include/grub/disk.h (grub_raid_init): removed, it's useless
5817 (grub_raid_fini): likewise
5818 (grub_lvm_init): likewise
5819 (grub_lvm_fini): likewise
5820 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
5821 by grub_init_all
5822
94414221 58232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Fix libusb
5826
5827 * Makefile.in (LIBUSB): new macro
5828 * genmk.rb (Utility/print_tail): new method
5829 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
5830 (top level): call util.print_tail at the end.
5831
59ade63d 58322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 Make FreeBSD accept zpool.cache
5835
5836 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
5837 type is /boot/zfs/zpool.cache
5838
a58da8c7 58392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Fix 64-bit efiemu
5842
5843 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
5844 correct wrong typedef
5845 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
5846
20591577 58472009-07-15 Pavel Roskin <proski@gnu.org>
5848
560ca572 5849 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
5850 * kern/disk.c (struct grub_disk_cache): Likewise.
5851
e8e8e4fd 5852 * commands/probe.c (options): Typo fix.
5853
fde24e10 5854 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
5855 Increase to 0x5a to accommodate FAT32. Adjust other offsets
5856 accordingly.
5857 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
5858
379c54c1 5859 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
5860 the end of "Error" to make the message more readable.
5861
7bd8f5bf 5862 * boot/i386/pc/boot.S (kernel_segment): Remove.
5863 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
5864 for destination.
5865
40b132c5 5866 * boot/i386/pc/boot.S (boot_version): Remove.
5867 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5868 Remove.
5869
20591577 5870 * include/grub/i386/pc/boot.h: Sort all offsets.
5871 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
5872 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
5873 * boot/i386/pc/boot.S: Assert location of every offset listed in
5874 include/grub/i386/pc/boot.h.
5875
2df32b2c 58762009-07-13 Pavel Roskin <proski@gnu.org>
5877
44b5d879 5878 * include/grub/i386/coreboot/machine.h: Rename
5879 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
5880 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
5881 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
5882
17dc3751 5883 * kern/dl.c: Force native word size to suppress warnings when
5884 compiling grub-emu.
5885
2df32b2c 5886 * kern/device.c (grub_device_iterate): Change struct part_ent to
5887 hold the name, not a pointer to it. Use one grub_malloc() per
5888 partition, not two. Free partition_name if grub_malloc() fails.
5889 Set ents to NULL only before grub_partition_iterate() is called.
5890
75c59f59 58912009-07-11 Bean <bean123ch@gmail.com>
5892
5893 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
5894 childname.
5895
0ae1bf88 58962009-07-10 Bean <bean123ch@gmail.com>
58972009-07-10 Robert Millan <rmh.grub@aybabtu.com>
5898
5899 * kern/ieee1275/openfw.c (grub_children_iterate)
5900 (grub_devalias_iterate): Fix size evaluation for property or path
5901 strings, which was broken since r2132.
5902
8279cade 59032009-07-07 Pavel Roskin <proski@gnu.org>
5904
7d8a52d3 5905 * commands/search.c (search_file): Merge into ...
5906 (search_fs): ... this. Accept search type as argument.
5907 (grub_cmd_search): Pass search type to search_fs().
5908
25f9a05a 5909 * include/grub/util/console.h: New file.
5910 * util/console.c: Use it instead of grub/machine/console.h.
5911 * util/grub-emu.c: Likewise.
5912
8279cade 5913 * lib/arg.c (find_long_option): Remove.
5914 (find_long): Add `len' argument, make `s' const char *.
5915 (grub_arg_parse): Parse long options in place, not in a
5916 temporary buffer.
5917
4a11b60f 59182009-07-06 Pavel Roskin <proski@gnu.org>
5919
99f68041 5920 * commands/search.c (search_fs): Fix potential NULL pointer
5921 dereference.
5922
4a11b60f 5923 * commands/search.c (search_fs): Replace QUID macro with quid_fn
5924 function pointer.
5925
e110f4de 59262009-07-06 Daniel Mierswa <impulze@impulze.org>
5927
5928 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
5929 comparison.
5930
46eeb6a2 59312009-07-05 Pavel Roskin <proski@gnu.org>
5932
bab74958 5933 * include/grub/i386/linux.h (struct linux_kernel_params):
5934 Restore padding3, it's still needed.
5935
46eeb6a2 5936 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
5937 FreeBSD.
5938 * util/osdetect.lua: Likewise.
5939
b4a1dc79 59402009-07-05 Bean <bean123ch@gmail.com>
5941
5942 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
5943
5944 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
5945 (grub_lua_getenv): Likewise.
5946 (grub_lua_setenv): Likewise.
5947 (save_errno): New function.
5948 (push_result): Likewise.
5949 (grub_lua_enum_device): Likewise.
5950 (grub_lua_enum_file): Likewise.
5951 (grub_lua_file_open): Likewise.
5952 (grub_lua_file_close): Likewise.
5953 (grub_lua_file_seek): Likewise.
5954 (grub_lua_file_read): Likewise.
5955 (grub_lua_file_getline): Likewise.
5956 (grub_lua_file_getsize): Likewise.
5957 (grub_lua_file_getpos): Likewise.
5958 (grub_lua_file_eof): Likewise.
5959 (grub_lua_file_exist): Likewise.
5960 (grub_lua_add_menu): Likewise.
5961
5962 * script/lua/grub_lua.h (isupper): New inline function.
5963 (islower): Likewise.
5964 (ispunct): Likewise.
5965 (isxdigit): Likewise.
5966 (strcspn): Change to normal function.
5967 (strpbkr): New function declaration.
5968 (memchr): Likewise.
5969
5970 * script/lua/grub_main.c (scan_str): New function.
5971 (strcspn): Likewise.
5972 (strpbrk): Likewise.
5973 (memchr): Likewise.
5974
5975 * script/lua/linit.c (lualibs): Enable the string library.
5976
5977 * util/osdetect.lua: New file.
5978
2da92295 59792009-07-04 Robert Millan <rmh.grub@aybabtu.com>
5980
5981 * include/grub/i386/linux.h (struct linux_kernel_params): Add
5982 `capabilities' member.
5983
b2582ec9 59842009-07-02 Pavel Roskin <proski@gnu.org>
5985
5986 * genparttoollist.sh: Add missing newline at the end.
5987
32622956 59882009-07-01 Pavel Roskin <proski@gnu.org>
5989
87a7339e 5990 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
5991
d23af54e 5992 * util/hostdisk.c (open_device): Remove `const' from
5993 `sysctl_size', as sysctlbyname() can change it (in this case it
5994 doesn't actually happen).
5995
c94b18a9 5996 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
5997 using signed long int constants.
5998
c6cd3ef0 5999 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6000 constant to avoid a warning on FreeBSD.
6001
0df63420 6002 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6003 where it's needed.
6004
999577f1 6005 * Makefile.in: Install include/grub/machine symlink.
6006
6f41557f 6007 * Makefile.in: When installing symlinks, use "cp -fR", which
6008 works on FreeBSD and MacOSX.
6009 From Yves Blusseau <cl7m42e02@sneakemail.com>
6010
c8d22988 6011 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6012 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6013
1b96e952 6014 * util/misc.c: Move grub_reboot() and grub_halt() ...
6015 * util/grub-emu.c: ... here. Make main_env static.
6016 * include/grub/util/misc.h: Remove main_env.
6017
2ef0084d 6018 * kern/mm.c: Use correct format to print size_t.
6019
32622956 6020 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6021 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6022 * kern/powerpc/dl.c: Likewise.
6023 * kern/sparc64/dl.c: Likewise.
6024 * kern/x86_64/dl.c: Likewise.
6025
3f7f0cd0 60262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6027
6028 Fix grub-emu build on sparc64-ieee1275.
6029
75421ca9 6030 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6032
211d06b5 60332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6034
6035 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6036 (grub_reboot, grub_halt): New functions.
6037
6038 * util/i386/pc/misc.c: Delete. Update all users.
6039 * util/sparc64/ieee1275/misc.c: Likewise.
6040 * util/powerpc/ieee1275/misc.c: Likewise.
6041
aaf53e3c 60422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6043
6044 * conf/i386.rmk (setjmp_mod_SOURCES)
6045 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6046 * conf/common.rmk (setjmp_mod_SOURCES)
6047 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6048 to use $(target_cpu).
6049 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6050 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6051 * conf/powerpc-ieee1275.rmk: Likewise.
6052 * conf/sparc64-ieee1275.rmk: Likewise.
6053
6054 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6055 $(target_cpu) for kern/$(target_cpu)/dl.c.
6056 * conf/i386-efi.rmk: Likewise.
6057 * conf/i386-ieee1275.rmk: Likewise.
6058 * conf/x86_64-efi.rmk: Likewise.
6059 * conf/i386-coreboot.rmk: Likewise.
6060 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6061 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6062 kern/$(target_cpu)/cache.S.
6063 * conf/sparc64-ieee1275.rmk: Likewise.
6064
a337130b 60652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6066
6067 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6068 type to `grub_uint8_t', and adjust `padding9' accordingly.
6069
c6fe4d53 60702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6071
b09db61d 6072 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6073
c6fe4d53 6074 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6075 assembly in final jump, using register constraints.
6076
b09db61d 6077 (grub_linux_boot): For text mode, initialize `have_vga' using
6078 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6079
6080 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6081 right before the final jump.
6082
6083 Set `video_mode' to 0x3.
6084
6085 Document initialization of `video_page', `video_mode' and
6086 `video_ega_bx'.
6087
28333ad0 60882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6089
6090 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6091 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6092 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6093
02164e1b 60942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6095
6096 Fix build on Debian / sparc.
6097
6098 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6099
18b6c557 61002009-06-28 Pavel Roskin <proski@gnu.org>
6101
85f2aab6 6102 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6103 fix a warning.
6104
18b6c557 6105 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6106
ad760f81 61072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6108
6109 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6110 `err'.
6111
87a4623b 61122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6113
6114 Revert r2338.
6115
6116 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6117 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6118 grub_errno / grub_errmsg appropriately.
87a4623b 6119 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6120
8231fb77 61212009-06-27 Pavel Roskin <proski@gnu.org>
61222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6123
6124 * include/grub/dl.h: Include grub/elf.h.
6125 (struct grub_dl): Add symtab field.
6126 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6127 GRUB_MODULES_MACHINE_READONLY.
6128 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6129 of the header for read-only modules.
6130 (grub_dl_unload): Free mod->symtab for read-only modules.
6131 * kern/i386/dl.c: Use mod->symtab.
6132 * kern/powerpc/dl.c: Likewise.
6133 * kern/sparc64/dl.c: Likewise.
6134 * kern/x86_64/dl.c: Likewise.
6135
6136 * conf/i386-qemu.rmk: New file.
6137 * kern/i386/qemu/startup.S: Likewise.
6138 * kern/i386/qemu/mmap.c: Likewise.
6139 * boot/i386/qemu/boot.S: Likewise.
6140 * include/grub/i386/qemu/time.h: Likewise.
6141 * include/grub/i386/qemu/serial.h: Likewise.
6142 * include/grub/i386/qemu/kernel.h: Likewise.
6143 * include/grub/i386/qemu/console.h: Likewise.
6144 * include/grub/i386/qemu/boot.h: Likewise.
6145 * include/grub/i386/qemu/init.h: Likewise.
6146 * include/grub/i386/qemu/machine.h: Likewise.
6147 * include/grub/i386/qemu/loader.h: Likewise.
6148 * include/grub/i386/qemu/memory.h: Likewise.
6149
6150 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6151 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6152 [qemu] (pkglib_IMAGES): Add `boot.img'.
6153 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6154 [qemu] (boot_img_FORMAT): New variables.
6155 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6156 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6157 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6158 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6159 [qemu] (kernel_img_FORMAT): New variables.
6160
6161 * configure.ac: Recognise `i386-qemu'.
6162
6163 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6164 (for no compression).
6165 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6166 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6167 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6168 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6169 ifdefs).
6170
97fe384e 61712009-06-27 Pavel Roskin <proski@gnu.org>
6172
6173 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6174 read.
6175 * efiemu/prepare32.c: Likewise.
6176 * efiemu/prepare64.c: Likewise.
6177
c402ab17 61782009-06-26 Pavel Roskin <proski@gnu.org>
6179
6180 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6181 * include/grub/elf.h: Define symbols without "32" or "64" based
6182 on GRUB_TARGET_WORDSIZE.
6183 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6184 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6185 ELF definitions.
6186 * efiemu/loadcore64.c: Likewise.
6187 * loader/i386/bsd32.c: Likewise.
6188 * loader/i386/bsd64.c: Likewise.
6189 * kern/dl.c: Remove own ELF definitions.
6190 * util/i386/efi/grub-mkimage.c: Likewise.
6191
9bbdfd4d 61922009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6193
6194 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6195 segment 0x0 unconditionally, because the reference generated by
6196 GAS is an absolute address.
6197
a42ce6e9 61982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6199
6200 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6201 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6202
c952cf92 62032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6204
6205 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6206 indexes. Check for -f explicitly.
cc3752ad 6207 (search_file): Improve error message.
6208 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6209
132a0a59 62102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6211
6212 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6213 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6214
387a140c 62152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6216
6217 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6218 * conf/i386-ieee1275.rmk: Likewise.
6219 * conf/i386-coreboot.rmk: Likewise.
6220
6221 * kern/i386/pc/startup.S (grub_stop): Remove function.
6222 * kern/i386/ieee1275/startup.S: Likewise.
6223 * kern/i386/coreboot/startup.S: Likewise.
6224 * kern/i386/misc.S (grub_stop): New function.
6225
41da9665 62262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6227
6228 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6229 * kern/i386/realmode.S (real_to_prot): ... to here.
6230
bf337234 62312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6232
6233 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6234 with `kernel.img'.
6235 (kernel_elf_SOURCES): Rename to ...
6236 (kernel_img_SOURCES): ... this.
6237 (kernel_elf_HEADERS): Rename to ...
6238 (kernel_img_HEADERS): ... this. Update all users.
6239 (kernel_elf_ASFLAGS): Rename to ...
6240 (kernel_img_ASFLAGS): ... this.
6241 (kernel_elf_CFLAGS): Rename to ...
6242 (kernel_img_CFLAGS): ... this.
6243 (kernel_elf_LDFLAGS): Rename to ...
6244 (kernel_img_LDFLAGS): ... this.
6245 * conf/i386-coreboot.rmk: Likewise.
6246 * conf/powerpc-ieee1275.rmk: Likewise.
6247
6248 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6249 with "kernel.img".
6250
f52196ff 62512009-06-21 Pavel Roskin <proski@gnu.org>
6252
c3cee413 6253 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6254 to match nested functions.
6255 * loader/sparc64/ieee1275/linux.c: Likewise.
6256
f52196ff 6257 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6258
58750afc 62592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6260
6261 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6262 all i386 platforms.
6263
15355c7d 62642009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6265
6266 Fix asm file handling on ELF, and remove workarounds.
6267
6268 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6269 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6270 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6271 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6272
3f3ec72b 62732009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Load BSD ELF modules
6276
6277 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6278 and loader/i386/bsd64.c
6279 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6280 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6281 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6282 (grub_freebsd_load_elfmodule32): New declaration
6283 (grub_freebsd_load_elfmoduleobj64): Likewise
6284 (grub_freebsd_load_elf_meta32): Likewise
6285 (grub_freebsd_load_elf_meta64): Likewise
6286 (grub_freebsd_add_meta): Likewise
6287 (grub_freebsd_add_meta_module): Likewise
6288 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6289 (grub_freebsd_add_meta_module): Likewise and move module-specific
6290 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6291 (grub_cmd_freebsd): Add elf-kernel specific parts
6292 based on grub_freebsd_add_meta_module
6293 (grub_cmd_freebsd_module): Add type parsing moved from
6294 grub_freebsd_add_meta_module
6295 (grub_cmd_freebsd_module_elf): New function
6296 (cmd_freebsd_module_elf): New variable
6297 (GRUB_MOD_INIT): Register freebsd_module_elf
6298 * loader/i386/bsd32.c: New file
6299 * loader/i386/bsd64.c: Likewise
6300 * loader/i386/bsdXX.c: Likewise
6301 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6302 (grub_elf64_load): Likewise
6303 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6304 All users updated
6305 (grub_elf64_load_hook_t): Likewise
6306
0db15301 63072009-06-21 Colin Watson <cjwatson@ubuntu.com>
6308
6309 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6310 variable.
6311 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6312 don't write a menu entry for recovery mode.
6313
546796c1 63142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6315
6316 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6317 after it's no longer needed.
6318
cd7310d5 63192009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6320
6321 * include/grub/i386/loader.h (grub_linux_prot_size)
6322 (grub_linux_tmp_addr, grub_linux_real_addr)
6323 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6324 GRUB_MACHINE_PCBIOS.
6325 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6326 common grub_util_info() call to ...
6327 (generate_image): ... here.
6328 Fix use of uninitialized memory, comparison of signed with
6329 unsigned integers and memory leak.
6330 Remove bogus module address message.
6331
ab32d3b5 63322009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6335 grub_raid_register
6336 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6337
024ef597 63382009-06-19 Pavel Roskin <proski@gnu.org>
6339
6340 * configure.ac: Remove stray AC_MSG_CHECKING.
6341
3ac72b51 63422009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6345
e14cd814 63462009-06-18 Pavel Roskin <proski@gnu.org>
6347
6348 * conf/common.rmk: Add fs_file.mod.
6349 * disk/fs_file.c: New file.
6350 * include/grub/disk.h (enum grub_disk_dev_id): Add
6351 GRUB_DISK_DEVICE_FILE_ID.
6352
26586d98 63532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Fix build with Apple's toolchain. Part 2
6356
6357 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6358 a fake start
6359
26de2bcd 63602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 Fix build with Apple's toolchain. Part 1
6363
6364 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6365 for long calls
6366 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6367 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6368 Apple's toolchain
6369
09b3490b 63702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 Fix warnings
6373
6374 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6375 (decomp_block): initialize ch
6376 use grub_memcpy instead of memcpy
6377
c22a006a 63782009-06-17 Pavel Roskin <proski@gnu.org>
6379
d3638678 6380 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6381 version, use declarations needed to use vga_text as the startup
6382 console.
6383
c22a006a 6384 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6385 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6386 the kernel.
6387 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6388 and grub_at_keyboard_fini(), it's done on module load and
6389 unload.
6390
05b129e0 63912009-06-17 Felix Zielcke <fzielcke@z-51.de>
6392
6393 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6394 file can't be found.
6395 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6396
cf24ed9e 63972009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Fix newline handling
6400
6401 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6402 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6403 (grub_script_yylex): don't segfault on unterminated script
6404 newline terminates command and variable
6405
74aa8e4b 64062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 avoid double grub_adjust_range call. Bug reported by David Simner
6409
6410 * kern/disk.c (grub_disk_write): change to raw disk access before
6411 calling disk_read
6412
1bd265f3 64132009-06-17 Colin Watson <cjwatson@ubuntu.com>
6414
6415 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6416 spaces, for the benefit of help2man.
6417 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6418
a2d08c06 64192009-06-16 Pavel Roskin <proski@gnu.org>
6420
6421 * kern/i386/halt.c: Include grub/machine/init.h.
6422 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6423
b97bcb19 64242009-06-16 Felix Zielcke <fzielcke@z-51.de>
6425
6426 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6427 drivemap menuentry.
6428
0644f96c 64292009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6430
6431 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6432 `echo' command.
6433
3ef17a2e 64342009-06-16 Pavel Roskin <proski@gnu.org>
6435
6436 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6437 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6438 save %dx, we only need %dl and we never change it.
6439 * boot/i386/pc/cdboot.S: Don't set the root drive.
6440 * boot/i386/pc/pxeboot.S: Likewise.
6441 * include/grub/i386/pc/boot.h: Remove
6442 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6443 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6444 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6445 * kern/i386/pc/init.c (make_install_device): Remove references
6446 to grub_root_drive.
6447 * kern/i386/pc/startup.S: Likewise.
6448 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6449
693fe637 64502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 xnu_uuid command
6453
6454 * commands/xnu_uuid.c: new file
6455 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6456 (xnu_uuid_mod_SOURCES): new variable
6457 (xnu_uuid_mod_CFLAGS): likewise
6458 (xnu_uuid_mod_LDFLAGS): likewise
6459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6460 * conf/i386-ieee1275.rmk: likewise
6461 * conf/i386-pc.rmk: likewise
6462 * conf/powerpc-ieee1275.rmk: likewise
6463 * conf/sparc64-ieee1275.rmk: likewise
6464 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6465
c9da87d0 64662009-06-16 Pavel Roskin <proski@gnu.org>
6467
6468 * configure.ac: Avoid '==' in test command, it's not portable.
6469
9c6f4596 64702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 Probe command
6473
6474 * commands/probe.c: new file
6475 * conf/common.rmk (pkglib_MODULES): add probe.mod
6476 (probe_mod_SOURCES): new variable
6477 (probe_mod_CFLAGS): likewise
6478 (probe_mod_LDFLAGS): likewise
6479 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6480 * conf/i386-ieee1275.rmk: likewise
6481 * conf/i386-pc.rmk: likewise
6482 * conf/powerpc-ieee1275.rmk: likewise
6483 * conf/sparc64-ieee1275.rmk: likewise
6484
70b7f9fd 64852009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Fix handling of string like \"hello\" and "a
6488 b"
6489
6490 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6491 (grub_script_yylex): fix parsing of quoting, escaping and newline
6492
71c79a6b 64932009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6494
dd74360c 6495 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6496 handling
dd74360c 6497
0644f96c 64982009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6499
6500 * util/grub-mkconfig.in: Fix parsing of --output option.
6501
e40893c3 65022009-06-12 Pavel Roskin <proski@gnu.org>
6503
6504 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6505 genmk.rb don't need to be generated or installed.
6506
3a1acfe2 65072009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * commands/i386/pc/drivemap_int13h.S: add more comments
6510
3a4575d4 65112009-06-11 Pavel Roskin <proski@gnu.org>
6512
0658e928 6513 * Makefile.in (uninstall): Uninstall manuals.
6514
ca0388f0 6515 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6516 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6517 and update-grub_lib in two places.
6518 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6519
e3b27c39 6520 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6521 a compiler warning.
6522
3a4575d4 6523 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6524 `entry_lo' to fix variable shadowing.
6525
af1f4f55 65262009-06-11 Christian Franke <franke@computer.org>
6527
6528 * kern/misc.c (__enable_execute_stack): Add missing return type
6529 to prevent gcc warning.
6530
5225e649 65312009-06-11 Felix Zielcke <fzielcke@z-51.de>
6532
6533 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6534
7d83bd47 65352009-06-11 Pavel Roskin <proski@gnu.org>
6536
c1cb63ba 6537 * Makefile.in: Don't rely on any scripts being executable.
6538 Always use $(SHELL) to run shell scripts.
6539
7d83bd47 6540 * configure.ac: Always define ___main if using -nostdlib. This
6541 fixes tests on Cygwin.
6542
948f48e7 65432009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
6544
6545 UDF fix
6546
7d83bd47 6547 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 6548 is in bytes and not in blocks
7d83bd47 6549
8ada9bc1 65502009-06-11 Pavel Roskin <proski@gnu.org>
6551
6552 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
6553 warning.
6554
25ad2323 65552009-06-11 Felix Zielcke <fzielcke@z-51.de>
6556
6557 * util/grub.d/30_os-prober.in: Fix a comment. Source
6558 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
6559 to set the root device. Place drivemap command in the generated
6560 chain entry.
6561
e65acb0c 65622009-06-11 Pavel Roskin <proski@gnu.org>
6563
6564 * configure.ac: Remove host_m32. Issues with 64-bit utilities
6565 have long been resolved.
6566
f285fe2d 65672009-06-11 Colin Watson <cjwatson@ubuntu.com>
6568
bd47b0b5 6569 * util/grub.d/10_linux.in: Capitalise "Linux".
6570
f285fe2d 6571 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
6572
a0c62e4e 65732009-06-11 Pavel Roskin <proski@gnu.org>
6574
b6783cb2 6575 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
6576 fix a gcc warning and ensure that the function won't ever exit.
6577
dde032e8 6578 * kern/i386/ieee1275/init.c: Add missing prototype for
6579 grub_stop_floppy().
6580
22cd079d 6581 * loader/ieee1275/multiboot2.c [__i386__]: Include
6582 grub/cpu/multiboot.h.
6583
a0c62e4e 6584 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
6585 casts to short - they are not portable and cause warnings. Fix
6586 use of uninitialized values in input_buf. Use ARRAY_SIZE.
6587
63963d17 65882009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Drivemap fixes
6591
6592 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
6593 new function
6594 (grub_get_root_biosnumber_saved): new variable
6595 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
6596 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 6597 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 6598 %dx after the call if necessary
6599 * conf/common.rmk (pkglib_MODULES): remove boot.mod
6600 (boot_mod_SOURCES): remove
6601 (boot_mod_CFLAGS): remove
6602 (boot_mod_LDFLAGS): remove
6603 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
6604 (boot_mod_SOURCES): new variable
6605 (boot_mod_CFLAGS): likewise
6606 (boot_mod_LDFLAGS): likewise
6607 * conf/i386-efi.rmk: likewise
6608 * conf/i386-ieee1275.rmk: likewise
6609 * conf/i386-pc.rmk: likewise
6610 * conf/powerpc-ieee1275.rmk: likewise
6611 * conf/sparc64-ieee1275.rmk: likewise
6612 * conf/x86_64-efi.rmk: likewise
6613 * include/grub/i386/pc/biosnum.h: new file
6614 * lib/i386/pc/biosnum.c: likewise
6615 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
6616 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
6617 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 6618
33abf7ae 66192009-06-10 Pavel Roskin <proski@gnu.org>
6620
5ac35b35 6621 * io/gzio.c (test_header): Don't reuse one buffer for all data.
6622 Use separate variables. Read only the file size at the end, but
6623 not the checksum that we don't use.
6624
5c5215d5 6625 * kern/file.c (grub_file_read): Use void pointer for the buffer.
6626 Adjust all callers.
6627
27d5fef7 6628 * kern/ieee1275/openfw.c: Remove libc includes.
6629 * kern/ieee1275/cmain.c: Likewise.
6630 * include/grub/ieee1275/ieee1275.h: Likewise.
6631
33abf7ae 6632 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
6633 compiler warnings.
6634
19d50c2b 66352009-06-10 Felix Zielcke <fzielcke@z-51.de>
6636
6637 * Makefile.in: Remove all trailing whitespace.
6638 * conf/i386-pc.rmk: Likewise.
6639 * conf/powerpc-ieee1275.rmk: Likewise.
6640 * conf/sparc64-ieee1275.rmk: Likewise.
6641 * docs/grub.texi: Likewise.
6642 * docs/texinfo.tex: Likewise.
6643 * disk/fs_uuid.c: Likewise.
6644 * disk/lvm.c: Likewise.
6645 * disk/scsi.c: Likewise.
6646 * disk/ata.c: Likewise.
6647 * disk/ieee1275/ofdisk.c: Likewise.
6648 * disk/i386/pc/biosdisk.c: Likewise.
6649 * disk/host.c: Likewise.
6650 * disk/raid.c: Likewise.
6651 * disk/efi/efidisk.c: Likewise.
6652 * disk/usbms.c: Likewise.
6653 * disk/memdisk.c: Likewise.
6654 * disk/loopback.c: Likewise.
6655 * kern/powerpc/dl.c: Likewise.
6656 * kern/device.c: Likewise.
6657 * kern/dl.c: Likewise.
6658 * kern/sparc64/dl.c: Likewise.
6659 * kern/ieee1275/ieee1275.c: Likewise.
6660 * kern/term.c: Likewise.
6661 * kern/fs.c: Likewise.
6662 * kern/i386/dl.c: Likewise.
6663 * kern/i386/pc/startup.S: Likewise.
6664 * kern/i386/pc/init.c: Likewise.
6665 * kern/i386/pc/mmap.c: Likewise.
6666 * kern/i386/pc/lzo1x.S: Likewise.
6667 * kern/i386/ieee1275/init.c: Likewise.
6668 * kern/i386/realmode.S: Likewise.
6669 * kern/i386/tsc.c: Likewise.
6670 * kern/partition.c: Likewise.
6671 * kern/corecmd.c: Likewise.
6672 * kern/file.c: Likewise.
6673 * kern/efi/efi.c: Likewise.
6674 * kern/efi/init.c: Likewise.
6675 * kern/efi/mm.c: Likewise.
6676 * kern/main.c: Likewise.
6677 * kern/err.c: Likewise.
6678 * kern/env.c: Likewise.
6679 * kern/disk.c: Likewise.
6680 * kern/generic/millisleep.c: Likewise.
6681 * kern/generic/rtc_get_time_ms.c: Likewise.
6682 * kern/misc.c: Likewise.
6683 * kern/parser.c: Likewise.
6684 * genmk.rb: Likewise.
6685 * configure.ac: Likewise.
6686 * boot/i386/pc/diskboot.S: Likewise.
6687 * boot/i386/pc/pxeboot.S: Likewise.
6688 * boot/i386/pc/boot.S: Likewise.
6689 * boot/i386/pc/lnxboot.S: Likewise.
6690 * boot/i386/pc/cdboot.S: Likewise.
6691 * parttool/pcpart.c: Likewise.
6692 * video/readers/tga.c: Likewise.
6693 * video/video.c: Likewise.
6694 * video/bitmap.c: Likewise.
6695 * lib/envblk.c: Likewise.
6696 * lib/i386/setjmp.S: Likewise.
6697 * fs/xfs.c: Likewise.
6698 * fs/afs.c: Likewise.
6699 * fs/fat.c: Likewise.
6700 * fs/ntfs.c: Likewise.
6701 * fs/udf.c: Likewise.
6702 * fs/affs.c: Likewise.
6703 * fs/iso9660.c: Likewise.
6704 * fs/hfs.c: Likewise.
6705 * fs/fshelp.c: Likewise.
6706 * fs/ext2.c: Likewise.
6707 * fs/jfs.c: Likewise.
6708 * fs/reiserfs.c: Likewise.
6709 * fs/hfsplus.c: Likewise.
6710 * fs/minix.c: Likewise.
6711 * fs/cpio.c: Likewise.
6712 * fs/sfs.c: Likewise.
6713 * fs/ufs.c: Likewise.
6714 * efiemu/prepare.c: Likewise.
6715 * efiemu/loadcore_common.c: Likewise.
6716 * efiemu/runtime/efiemu.sh: Likewise.
6717 * efiemu/runtime/efiemu.S: Likewise.
6718 * efiemu/runtime/efiemu.c: Likewise.
6719 * efiemu/pnvram.c: Likewise.
6720 * efiemu/main.c: Likewise.
6721 * efiemu/i386/pc/cfgtables.c: Likewise.
6722 * efiemu/i386/loadcore64.c: Likewise.
6723 * efiemu/i386/loadcore32.c: Likewise.
6724 * efiemu/loadcore.c: Likewise.
6725 * efiemu/symbols.c: Likewise.
6726 * efiemu/mm.c: Likewise.
6727 * include/grub/autoefi.h: Likewise.
6728 * include/grub/datetime.h: Likewise.
6729 * include/grub/term.h: Likewise.
6730 * include/grub/hfs.h: Likewise.
6731 * include/grub/lvm.h: Likewise.
6732 * include/grub/i386/tsc.h: Likewise.
6733 * include/grub/i386/linux.h: Likewise.
6734 * include/grub/i386/xnu.h: Likewise.
6735 * include/grub/i386/efiemu.h: Likewise.
6736 * include/grub/i386/pc/biosdisk.h: Likewise.
6737 * include/grub/i386/pc/memory.h: Likewise.
6738 * include/grub/i386/pc/vbe.h: Likewise.
6739 * include/grub/parttool.h: Likewise.
6740 * include/grub/video.h: Likewise.
6741 * include/grub/memory.h: Likewise.
6742 * include/grub/fs.h: Likewise.
6743 * include/grub/partition.h: Likewise.
6744 * include/grub/xnu.h: Likewise.
6745 * include/grub/efi/api.h: Likewise.
6746 * include/grub/efi/pe32.h: Likewise.
6747 * include/grub/efi/memory.h: Likewise.
6748 * include/grub/multiboot.h: Likewise.
6749 * include/grub/usbdesc.h: Likewise.
6750 * include/grub/multiboot2.h: Likewise.
6751 * include/grub/acpi.h: Likewise.
6752 * include/grub/efiemu/efiemu.h: Likewise.
6753 * include/grub/disk.h: Likewise.
6754 * include/grub/ieee1275/ieee1275.h: Likewise.
6755 * include/grub/net.h: Likewise.
6756 * include/grub/machoload.h: Likewise.
6757 * include/grub/macho.h: Likewise.
6758 * include/multiboot.h: Likewise.
6759 * genmoddep.awk: Likewise.
6760 * normal/main.c: Likewise.
6761 * normal/menu_entry.c: Likewise.
6762 * normal/menu_viewer.c: Likewise.
6763 * normal/completion.c: Likewise.
6764 * normal/cmdline.c: Likewise.
6765 * normal/misc.c: Likewise.
6766 * normal/datetime.c: Likewise.
6767 * bus/usb/usbtrans.c: Likewise.
6768 * bus/usb/ohci.c: Likewise.
6769 * bus/usb/uhci.c: Likewise.
6770 * bus/usb/usb.c: Likewise.
6771 * mmap/efi/mmap.c: Likewise.
6772 * mmap/i386/pc/mmap_helper.S: Likewise.
6773 * mmap/i386/pc/mmap.c: Likewise.
6774 * mmap/i386/mmap.c: Likewise.
6775 * mmap/i386/uppermem.c: Likewise.
6776 * mmap/mmap.c: Likewise.
6777 * commands/acpi.c: Likewise.
6778 * commands/echo.c: Likewise.
6779 * commands/blocklist.c: Likewise.
6780 * commands/loadenv.c: Likewise.
6781 * commands/usbtest.c: Likewise.
6782 * commands/boot.c: Likewise.
6783 * commands/parttool.c: Likewise.
6784 * commands/search.c: Likewise.
6785 * commands/cat.c: Likewise.
6786 * commands/i386/pc/play.c: Likewise.
6787 * commands/i386/pc/drivemap.c: Likewise.
6788 * commands/i386/pc/vbeinfo.c: Likewise.
6789 * commands/i386/pc/acpi.c: Likewise.
6790 * commands/i386/pc/vbetest.c: Likewise.
6791 * commands/ls.c: Likewise.
6792 * commands/cmp.c: Likewise.
6793 * commands/test.c: Likewise.
6794 * commands/efi/acpi.c: Likewise.
6795 * commands/gptsync.c: Likewise.
6796 * commands/help.c: Likewise.
6797 * partmap/amiga.c: Likewise.
6798 * partmap/apple.c: Likewise.
6799 * partmap/acorn.c: Likewise.
6800 * partmap/pc.c: Likewise.
6801 * partmap/sun.c: Likewise.
6802 * partmap/gpt.c: Likewise.
6803 * script/sh/lexer.c: Likewise.
6804 * script/sh/function.c: Likewise.
6805 * font/font.c: Likewise.
6806 * font/font_cmd.c: Likewise.
6807 * loader/powerpc/ieee1275/linux.c: Likewise.
6808 * loader/efi/chainloader.c: Likewise.
6809 * loader/multiboot_loader.c: Likewise.
6810 * loader/macho.c: Likewise.
6811 * loader/i386/multiboot.c: Likewise.
6812 * loader/i386/linux.c: Likewise.
6813 * loader/i386/pc/linux.c: Likewise.
6814 * loader/i386/pc/multiboot2.c: Likewise.
6815 * loader/i386/pc/chainloader.c: Likewise.
6816 * loader/i386/pc/xnu.c: Likewise.
6817 * loader/i386/bsd_trampoline.S: Likewise.
6818 * loader/i386/efi/linux.c: Likewise.
6819 * loader/i386/multiboot_elfxx.c: Likewise.
6820 * loader/i386/bsd_helper.S: Likewise.
6821 * loader/i386/bsd.c: Likewise.
6822 * loader/i386/linux_trampoline.S: Likewise.
6823 * loader/i386/xnu_helper.S: Likewise.
6824 * loader/i386/xnu.c: Likewise.
6825 * loader/i386/bsd_pagetable.c: Likewise.
6826 * loader/i386/multiboot_helper.S: Likewise.
6827 * loader/xnu.c: Likewise.
6828 * loader/xnu_resume.c: Likewise.
6829 * io/gzio.c: Likewise.
6830 * term/efi/console.c: Likewise.
6831 * term/terminfo.c: Likewise.
6832 * term/ieee1275/ofconsole.c: Likewise.
6833 * term/i386/pc/serial.c: Likewise.
6834 * term/i386/pc/vesafb.c: Likewise.
6835 * term/i386/pc/vga.c: Likewise.
6836 * term/usb_keyboard.c: Likewise.
6837 * term/gfxterm.c: Likewise.
6838 * aclocal.m4: Likewise.
6839 * util/lvm.c: Likewise.
6840 * util/grub.d/30_os-prober.in: Likewise.
6841 * util/grub.d/10_hurd.in: Likewise.
6842 * util/console.c: Likewise.
6843 * util/grub-macho2img.c: Likewise.
6844 * util/grub-probe.c: Likewise.
6845 * util/hostfs.c: Likewise.
6846 * util/i386/pc/grub-mkimage.c: Likewise.
6847 * util/i386/pc/grub-setup.c: Likewise.
6848 * util/i386/efi/grub-mkimage.c: Likewise.
6849 * util/grub-mkconfig.in: Likewise.
6850 * util/raid.c: Likewise.
6851 * util/resolve.c: Likewise.
6852 * util/grub-mkdevicemap.c: Likewise.
6853 * util/grub-emu.c: Likewise.
6854 * util/getroot.c: Likewise.
6855 * util/hostdisk.c: Likewise.
6856 * util/usb.c: Likewise.
6857 * util/grub-editenv.c: Likewise.
6858 * util/misc.c: Likewise.
6859
d2d49665 68602009-06-10 Felix Zielcke <fzielcke@z-51.de>
6861
6862 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
6863 `genparttoollist.sh'.
6864 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
6865 Add `*.sh' to the list find searches for and change `mdate.sh'
6866 to `mdate-sh'.
6867
fe052e37 68682009-06-10 Pavel Roskin <proski@gnu.org>
6869
2763ac18 6870 * include/grub/multiboot2.h: Provide compatibility defines for
6871 multiboot2.h.
6872 * include/multiboot2.h: Include stdint.h only if needed, using
6873 angle brackets.
6874 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
6875 grub/multiboot2.h.
6876 * loader/ieee1275/multiboot2.c: Likewise.
6877 * loader/multiboot2.c: Likewise.
6878 * loader/multiboot_loader.c: Likewise.
6879
437e6adc 6880 * configure.ac: Use -nostdlib when probing for the target. It
6881 should not be required to have libc for the target.
6882
06a6836c 6883 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
6884 they fail without libc headers for the target.
6885 * include/grub/powerpc/libgcc.h: Use weak attribute for all
6886 exports.
6887 * include/grub/sparc64/libgcc.h: Likewise. Don't use
6888 preprocessor conditionals.
6889
fe052e37 6890 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
6891 build system doesn't need to be aware of the tar.c internals.
6892
afd22553 68932009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 6894
afd22553 6895 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 6896
6b787c4f 68972009-06-09 Robert Millan <rmh.grub@aybabtu.com>
6898
6899 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
6900 disk limit to 26 for IDE, Virtio, Xen and SCSI.
6901
69022009-06-09 Felix Zielcke <fzielcke@z-51.de>
6903
6904 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 6905 aren't available if ata.mod gets used.
6b787c4f 6906
473d1e45 69072009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 6908
473d1e45 6909 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 6910 initialising controller.
473d1e45 6911 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 6912
255a27d4 69132009-06-08 Felix Zielcke <fzielcke@z-51.de>
6914
6915 * util/i386/pc/grub-install.in: Add a parameter --disk-module
6916 to choose between ata and biosdisk module on i386-pc.
6917
473d1e45 69182009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 6919
d55842d8 6920 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
6921 Subclass and Programming Interface fields in terms of the 3 byte
6922 Class Code register.
6923 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6924
fa5db0b1 6925 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
6926 interface is OHCI. Add grub_dprintf for symmetry with
6927 bus/usb/uhci.c.
6928 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
6929 interface is UHCI. Add interf variable for programming
6930 interface. Print interface with class/subclass.
6931
c0947beb 6932 * bus/usb/ohci.c: Set interf with correct field.
6933
69da8877 6934 * bus/usb/uhci.c: Remove unneeded doubled lines.
6935 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
6936 Remove whitespace inside comment.
6937
9e172e30 69382009-06-08 Robert Millan <rmh.grub@aybabtu.com>
6939
6940 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
6941 as fallback an equivalent option without depth.
6942
de65ee2b 69432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Not fail if unable to retrieve C/H/S on LBA disks
6946
473d1e45 6947 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 6948 if unable to retrieve C/H/S on LBA disks
6949
b57ea2c9 69502009-06-08 Pavel Roskin <proski@gnu.org>
6951
6952 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
6953 about aliasing.
6954
af361263 69552009-06-08 Felix Zielcke <fzielcke@z-51.de>
6956
6957 * Makefile.in (uninstall): Remove all $lib_DATA files.
6958
4c9ec6b3 69592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Bugfix: install on partitionless device
6962
6963 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
6964 is a whole disk
6965
e76fc924 69662009-06-08 Felix Zielcke <fzielcke@z-51.de>
6967
6968 * Makefile.in (uninstall): Remove all $include_DATA files.
6969
ba5a0d05 69702009-06-08 Felix Zielcke <fzielcke@z-51.de>
6971
6972 * commands/true.c: New file. Implement the true and false commands.
6973 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
6974 (true_mod_SOURCES): New variable.
6975 (true_mod_CFLAGS): Likewise.
6976 (true_mod_LDFLAGS): Likewise.
6977
c8048e32 69782009-06-05 Colin D Bennett <colin@gibibit.com>
6979
6980 Optimized font character lookup using binary search instead of linear
6981 search. Fonts now are required to have the character index ordered by
6982 code point.
6983
6984 * font/font.c (load_font_index): Verify that fonts have ordered
6985 character indices.
6986 (find_glyph): Use binary search instead of linear search to find a
6987 character in a font.
6988
408305be 69892009-06-05 Michael Scherer <misc@mandriva.org>
6990
6991 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
6992 uses case sensitive btree.
6993 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
6994 only for case insensitive filesystems.
6995
8ee1e0d9 69962009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
6999 * conf/common.rmk (search_mod_CFLAGS): likewise
7000
a9966eb1 70012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7002
473d1e45 7003 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7004 compensate a compiler bug
7005
9e7100fb 70062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7007
473d1e45 7008 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7009 instead of '\b'
473d1e45 7010
ede21d71 70112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Definitions for creating asm symbols with Apple's CC
7014
7015 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7016 [APPLE_CC] (VARIABLE): likewise
7017
9dbf7653 70182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 Disable lnxboot.img when compiled
7021 with Apple's CC
7022
7023 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7024 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7025 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7026 [! APPLE_CC] (CODE_LENG): skip
7027 [! APPLE_CC] (setup_sects): likewise
7028 [! APPLE_CC]: skip filling
473d1e45 7029
e93cdc3d 70302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Address in trampolines based on 32-bit registers when compiled
7033 with Apple's CC
7034
473d1e45 7035 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7036 for addresses
7037 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7038
6c688477 70392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7042
7043 * kern/misc.c [APPLE_CC] (memcpy): new function
7044 [APPLE_CC] (memmove): likewise
7045 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7046 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7047 (memset): likewise
7048 (abort): likewise
7049 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7050 APPLE_CC are defined
7051 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7052 (grub_assert_fail): make prototype conditional
7053
e37ffc5c 70542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7057
473d1e45 7058 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7059 grub-macho2img
e37ffc5c 7060 (CLEANFILES): add grub-macho2img
7061 (grub_macho2img_SOURCES): new variable
7062 * kern/i386/pc/startup.S (bss_start): new variable
7063 (bss_end): likewise
7064 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7065 * util/grub-macho2img.c: new file
7066
cf00df31 70672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Use objconv when compiling with Apple's CC
7070
7071 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7072 (efiemu64.o): likewise
7073 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7074 when compiling with Apple's CC
7075 (efiemu64_s.o): likewise
7076 * configure.ac: check for objconv when compiling with Apple's CC
7077 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7078
d119a20c 70792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Define segment as well as section when compiling with
7082 Apple's CC
7083
7084 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7085 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7086 (efiemu_convert_pointer): likewise
7087 (efiemu_set_virtual_address_map): likewise
7088 (efiemu_convert_pointer): likewise
7089 (efiemu_getcrc32): likewise
7090 (init_crc32_table): likewise
7091 (reflect): likewise
7092 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7093 (GRUB_MOD_DEP): likewise
473d1e45 7094
c8600122 70952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Allow a compilation without -mcmodel=large
7098
7099 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7100 when compiled without -mcmodel=large
473d1e45 7101 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7102 without -mcmodel=large
473d1e45 7103 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7104 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7105
e8df1d4e 71062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 Remove nested functions in efiemu core
7109
7110 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7111
cc6c3ac1 71122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7115
7116 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7117 temporary storage
473d1e45 7118 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7119 using Apple's CC
cc6c3ac1 7120 (grub_cpu_is_tsc_supported): likewise
7121 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7122
3e325901 71232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 Absolute addressing through constant with Apple's cc
7126
7127 * kern/i386/pc/startup.S: Define necessary constants
7128 and address through it when using ABS with Apple's CC
7129 * boot/i386/pc/diskboot.S: likewise
7130 * boot/i386/pc/boot.S: likewise
7131 * boot/i386/pc/lnxboot.S: likewise
7132 * boot/i386/pc/cdboot.S: likewise
7133 * mmap/i386/pc/mmap_helper.S: likewise
7134 * commands/i386/pc/drivemap_int13h.S: likewise
7135
2b167a72 71362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 Check if compiler is apple cc
7139
7140 * Makefile.in (ASFLAGS): new variable
7141 (TARGET_ASFLAGS): likewise
7142 (TARGET_MODULE_FORMAT): likewise
7143 (TARGET_APPLE_CC): likewise
7144 (OBJCONV): likewise
7145 (TARGET_IMG_CFLAGS): likewise
7146 (TARGET_CPPFLAGS): add includedir
7147 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7148 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7149 Check for linker script only if compiler isn't Apple's CC
7150 (TARGET_MODULE_FORMAT): set
7151 (TARGET_APPLE_CC): likewise
7152 (TARGET_ASFLAGS): likewise
7153 (ASFLAGS): likewise
7154 Check for objcopy only if compiler isn't Apple's CC
7155 Check for BSS symbol only if compiler isn't Apple's CC
7156 * genmk.rb: adapt nm options if we use Apple's utils
7157 * aclocal.m4 (grub_apple_cc): new test
7158 (grub_apple_target_cc): likewise
473d1e45 7159
fb14123e 71602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Simplify sed expressions and improve awk
7163
7164 * Makefile.in (install-local): simplify sed expression
7165 * gencmdlist.sh: likewise
7166 * genmoddep.awk: avoid adding module as a dependency of itself
7167
5b889789 71682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Add missing start symbols
7171
7172 * boot/i386/pc/boot.S: add start
fb14123e 7173 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7174
fd2bf2e3 71752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7178
7179 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7180 (relocate_addresses): consider both r_addend and value at offset
7181 (make_mods_section): zerofill modinfo and header
7182 (convert_elf): write prefix here
473d1e45 7183
5389763d 71842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Use .asciz instead of .string
7187
7188 * i386/pc/diskboot.S: use .asciz instead of .string
7189 * i386/pc/boot.S: likewise
7190 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7191 (GRUB_MOD_NAME): likewise
473d1e45 7192
3eb5ed4e 71932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 gfxpayload support
7196
7197 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7198 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7199 (grub_video_setup): remove
7200 (grub_video_set_mode): new prototype
7201 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7202 (vid_mode): remove
7203 (linux_vesafb_res): compile only on PCBIOS
7204 (grub_linux_boot): support gfxpayload
7205 * loader/i386/pc/xnu.c (video_hook): new function
7206 (grub_xnu_set_video): support gfxpayload
7207 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7208 (DEFAULT_VIDEO_HEIGHT): likewise
7209 (DEFAULT_VIDEO_FLAGS): likewise
7210 (DEFAULT_VIDEO_MODE): new definition
7211 (video_hook): new function
7212 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7213 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7214 loading xnu
7215 * video/video.c (grub_video_setup): removed
473d1e45 7216 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7217 grub_video_setup
7218
4b0e1143 72192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Avoid calling biosdisk in drivemap
7222
7223 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7224 (revparse_biosdisk): likewise
7225 (list_mappings): derive name from id directly
7226 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7227
fda6cb98 72282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Script fixes
7231
7232 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7233 (grub_lexer_param): add tokenonhold
7234 (grub_script_create_cmdline): remove cmdline. All callers updated
7235 (grub_script_function_create): make functionname
7236 grub_script_arg. All callers updated
7237 (grub_script_execute_argument_to_string): new prototype
7238 * kern/parser.c (state_transitions): reorder
7239 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7240 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7241 make global
7242 (grub_script_execute_cmdline): use new format
7243 * script/sh/function.c (grub_script_function_create): make functionname
7244 grub_script_arg. All callers updated
473d1e45 7245 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7246 (grub_script_yylex): remove
7247 (grub_script_yylex2): renamed to ...
7248 (grub_script_yylex): ...renamed
7249 parse the expressions like a${b}c
7250 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7251 (GRUB_PARSER_TOKEN_VAR): remove
7252 (GRUB_PARSER_TOKEN_NAME): likewise
7253 ("if"): declare as typeless
7254 ("while"): likewise
7255 ("function"): likewise
7256 ("else"): likewise
7257 ("then"): likewise
7258 ("fi"): likewise
7259 (text): remove
7260 (argument): likewise
7261 (script): accept empty scripts and make exit on error
7262 (arguments): use GRUB_PARSER_TOKEN_ARG
7263 (function): likewise
7264 (command): move error handling to script
7265 (menuentry): move grub_script_lexer_ref before
473d1e45 7266 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7267 argument. All callers updated
7268
f4448a07 72692009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7270
7271 Prevent GRUB from probing floppies during boot.
7272
7273 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7274 * commands/search.c (options): Add --no-floppy.
7275 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7276 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7277 --no-floppy when searching for UUIDs.
7278
2bf5885a 72792009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7280
7281 Simplify the code duplication in commands/search.c.
7282
7283 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7284 (search_fs): ... this. Update all users.
7285
f6fd460a 72862009-06-03 Felix Zielcke <fzielcke@z-51.de>
7287
7288 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7289
cbb3c83e 72902009-05-28 Pavel Roskin <proski@gnu.org>
7291
57788cfd 7292 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7293 Remove the original symlink explicitly.
7294
cbb3c83e 7295 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7296 just one slash. That's how grub_fshelp_find_file() does it.
7297
cd0d5e30 72982009-05-26 Pavel Roskin <proski@gnu.org>
7299
f0f8bbe2 7300 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7301 to `str'.
7302
cd0d5e30 7303 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7304 possibly unused.
7305
8c2cab51 73062009-05-25 Christian Franke <franke@computer.org>
7307
7308 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7309 register.
7310 (grub_atapi_identify): Add wait after drive select.
7311 (grub_ata_identify): Do more strict status register check before
7312 calling grub_atapi_identify (). Suppress error message if status
7313 register is 0x00 after command failure. Add status register
7314 check after PIO read to avoid bogus identify due to stuck DRQ.
7315 Thanks to Pavel Roskin for testing.
7316 (grub_device_initialize): Remove unsafe status register check.
7317 Thanks to 'phcoder' for problem report and patch.
7318 Prevent sign extension in debug message.
7319
230c0ad6 73202009-05-23 Colin D Bennett <colin@gibibit.com>
7321
7322 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7323 definition file, and functions defined in `normal/menu.c' have had
7324 their prototypes moved to `include/grub/menu.h' for consistency.
7325
7326 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7327 from normal.h.
7328 (grub_menu_get_entry): Likewise.
7329 (grub_menu_get_timeout): Likewise.
7330 (grub_menu_set_timeout): Likewise.
7331 (grub_menu_execute_entry): Likewise.
7332 (grub_menu_execute_with_fallback): Likewise.
7333 (grub_menu_entry_run): Likewise.
7334
7335 * include/grub/normal.h: Re-ordered and grouped function
7336 prototypes by file that the function is defined in.
7337 (grub_menu_execute_callback): Removed; moved to menu.h.
7338 (grub_menu_get_entry): Likewise.
7339 (grub_menu_get_timeout): Likewise.
7340 (grub_menu_set_timeout): Likewise.
7341 (grub_menu_execute_entry): Likewise.
7342 (grub_menu_execute_with_fallback): Likewise.
7343 (grub_menu_entry_run): Likewise.
7344 (grub_menu_addentry): Renamed from this ...
7345 (grub_normal_add_menu_entry): ... to this.
7346
7347 * normal/main.c (grub_menu_addentry): Renamed from this ...
7348 (grub_normal_add_menu_entry): ... to this.
7349
7350 * script/sh/execute.c (grub_script_execute_menuentry): Update
7351 reference to renamed grub_menu_addentry function.
7352
861f03a5 73532009-05-23 Felix Zielcke <fzielcke@z-51.de>
7354
7355 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7356
96b1619a 73572009-05-22 Pavel Roskin <proski@gnu.org>
7358
bf6a5fb2 7359 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7360 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7361 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7362 compiling for the i386 targets, but not for the utilities.
7363
96b1619a 7364 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7365 to grub_uint8_t.
7366 (grub_root_drive): Likewise.
7367 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7368 remove alignment.
7369 (grub_root_drive): Change size to byte.
7370 (grub_start_addr): Remove.
7371 (grub_end_addr): Likewise.
7372 (grub_apm_bios_info): Likewise.
7373
b729776b 73742009-05-21 Felix Zielcke <fzielcke@z-51.de>
7375
7376 * normal/i386: Remove.
7377 * normal/powerpc: Likewise.
7378 * normal/sparc64: Likewise.
7379 * normal/x86_64: Likewise.
7380
0a15ce80 73812009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7384 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7385 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7386
33db9015 73872009-05-18 Colin D Bennett <colin@gibibit.com>
7388
d6da58e6 7389 Display error messages when parsing a Lua statement fails.
7390 Previously, executing a syntactically invalid statement like
7391 ")foo" or "bar;" would silently fail.
33db9015 7392
7393 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7394 (grub_lua_parse_line): Improved reporting of Lua parser and
7395 execution errors.
33db9015 7396
46422c89 73972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 Remove -Werror which causes build to fail on some systems
7400
7401 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7402 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7403 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7404
22f53a96 74052009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 trampoline for linux on 64-bit platform
7408
18f547ad 7409 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7410 loader/i386/efi/linux_trampoline.S
7411 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7412 declaration
d6da58e6 7413 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7414 here
22f53a96 7415 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7416 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7417 trampoline
22f53a96 7418 (jumpvector): removed
7419 (grub_linux_trampoline_start): new declaration
7420 (grub_linux_trampoline_end): likewise
7421 (grub_linux_boot): use trampoline when on 64-bit platform
7422 * loader/i386/linux.c: likewise
7423
cb5a0f40 74242009-05-16 Pavel Roskin <proski@gnu.org>
7425
7426 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7427 const to avoid a warning.
7428 (grub_lua_setenv): Likewise.
7429 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7430 lmsg to fix a warning.
7431
334f2c28 74322009-05-16 Felix Zielcke <fzielcke@z-51.de>
7433
7434 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7435 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7436 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7437 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7438 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7439 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7440 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7441 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7442
59e5d3ec 74432009-05-16 Felix Zielcke <fzielcke@z-51.de>
7444
7445 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7446
9d87a1ba 74472009-05-16 Bean <bean123ch@gmail.com>
7448
7449 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7450 (lua_mod_SOURCES): New variable.
7451 (lua_mod_CFLAGS): Likewise.
7452 (lua_mod_LDFLAGS): Likewise.
7453
7454 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7455 (setjmp_mod_SOURCES): New variable.
7456 (setjmp_mod_CFLAGS): Likewise.
7457 (setjmp_LDFLAGS): Likewise.
7458
7459 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7460 (setjmp_mod_SOURCES): New variable.
7461 (setjmp_mod_CFLAGS): Likewise.
7462 (setjmp_LDFLAGS): Likewise.
7463
7464 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7465 (setjmp_mod_SOURCES): New variable.
7466 (setjmp_mod_CFLAGS): Likewise.
7467 (setjmp_LDFLAGS): Likewise.
7468
7469 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7470 (setjmp_mod_SOURCES): New variable.
7471 (setjmp_mod_CFLAGS): Likewise.
7472 (setjmp_LDFLAGS): Likewise.
7473
7474 * normal/i386/setjmp.S: Moved from here ...
7475 * lib/i386/setjmp.S: ... Moved here
7476 * normal/x86_64/setjmp.S: Moved from here ...
7477 * lib/x86_64/setjmp.S: ... Moved here
7478 * normal/powerpc/setjmp.S: Moved from here ...
7479 * lib/powerpc/setjmp.S: ... Moved here
7480 * normal/sparc64/setjmp.S: Moved from here ...
7481 * lib/sparc64/setjmp.S: ... Moved here
7482
7483 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7484 returns_twice in mingw.
7485
7486 * script/lua/grub_lib.c: New file.
7487 * script/lua/grub_lib.h: Likewise.
7488 * script/lua/grub_lua.h: Likewise.
7489 * script/lua/grub_main.c: Likewise.
7490 * script/lua/lapi.c: Likewise.
7491 * script/lua/lapi.h: Likewise.
7492 * script/lua/lauxlib.c: Likewise.
7493 * script/lua/lauxlib.h: Likewise.
7494 * script/lua/lbaselib.c: Likewise.
7495 * script/lua/lcode.c: Likewise.
7496 * script/lua/lcode.h: Likewise.
7497 * script/lua/ldblib.c: Likewise.
7498 * script/lua/ldebug.c: Likewise.
7499 * script/lua/ldebug.h: Likewise.
7500 * script/lua/ldo.c: Likewise.
7501 * script/lua/ldo.h: Likewise.
7502 * script/lua/ldump.c: Likewise.
7503 * script/lua/lfunc.c: Likewise.
7504 * script/lua/lfunc.h: Likewise.
7505 * script/lua/lgc.c: Likewise.
7506 * script/lua/lgc.h: Likewise.
7507 * script/lua/linit.c: Likewise.
7508 * script/lua/liolib.c: Likewise.
7509 * script/lua/llex.c: Likewise.
7510 * script/lua/llex.h: Likewise.
7511 * script/lua/llimits.h: Likewise.
7512 * script/lua/lmathlib.c: Likewise.
7513 * script/lua/lmem.c: Likewise.
7514 * script/lua/lmem.h: Likewise.
7515 * script/lua/loadlib.c: Likewise.
7516 * script/lua/lobject.c: Likewise.
7517 * script/lua/lobject.h: Likewise.
7518 * script/lua/lopcodes.c: Likewise.
7519 * script/lua/lopcodes.h: Likewise.
7520 * script/lua/loslib.c: Likewise.
7521 * script/lua/lparser.c: Likewise.
7522 * script/lua/lparser.h: Likewise.
7523 * script/lua/lstate.c: Likewise.
7524 * script/lua/lstate.h: Likewise.
7525 * script/lua/lstring.c: Likewise.
7526 * script/lua/lstring.h: Likewise.
7527 * script/lua/lstrlib.c: Likewise.
7528 * script/lua/ltable.c: Likewise.
7529 * script/lua/ltable.h: Likewise.
7530 * script/lua/ltablib.c: Likewise.
7531 * script/lua/ltm.c: Likewise.
7532 * script/lua/ltm.h: Likewise.
7533 * script/lua/lua.h: Likewise.
7534 * script/lua/luaconf.h: Likewise.
7535 * script/lua/lualib.h: Likewise.
7536 * script/lua/lundump.c: Likewise.
7537 * script/lua/lundump.h: Likewise.
7538 * script/lua/lvm.c: Likewise.
7539 * script/lua/lvm.h: Likewise.
7540 * script/lua/lzio.c: Likewise.
7541 * script/lua/lzio.h: Likewise.
7542
5e898c9d 75432009-05-16 Bean <bean123ch@gmail.com>
7544
7545 * include/grub/kernel.h (grub_module_header_types): Add type
7546 OBJ_TYPE_CONFIG.
7547
7548 * kern/main.c (grub_load_config): New function.
7549 (grub_main): Call grub_load_config to read boot config.
7550
7551 * grub-mkimage (generate_image): New parameter config_path.
7552 (options): New option --config.
7553 (main): Parse --config option, and pass it to generate_image.
7554
cf353a47 75552009-05-14 Christian Franke <franke@computer.org>
7556
7557 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
7558 This fixes build on Cygwin.
7559
3834887f 75602009-05-14 Pavel Roskin <proski@gnu.org>
7561
7562 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
7563 jump. This saves two bytes, so the typical case of 2 swapped
7564 drives would fit 32 bytes.
7565
8090fc01 75662009-05-13 Pavel Roskin <proski@gnu.org>
7567
ac963883 7568 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
7569 grub_uint32_t to avoid a warning.
7570
8090fc01 7571 * loader/i386/linux.c (allocate_pages): When assigning
7572 real_mode_mem, cast through grub_size_t to fix a warning. The
7573 code already makes sure that the value would fit a pointer.
7574 (grub_linux_setup_video): Cast render_target->data to
7575 grub_size_t to fix a warning.
7576
18f547ad 75772009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 7578
7579 * commands/i386/pc/drivemap.c: New file - implement drivemap
7580 command.
7581 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
7582 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
7583
6f6a8b28 75842009-05-13 Pavel Roskin <proski@gnu.org>
7585
7586 * util/i386/pc/grub-setup.c (setup): Remove unused variable
7587 embedding_area_exists.
7588
15fbf4c4 75892009-05-13 Robert Millan <rmh.grub@aybabtu.com>
7590
7591 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
7592 it easier to understand / work with.
59978c8a 7593 Improve warning messages for cases where there's no embedding area,
7594 or when it is too small (or core.img too large).
15fbf4c4 7595
238e871f 75962009-05-13 Pavel Roskin <proski@gnu.org>
7597
0ab3a9a4 7598 * loader/i386/pc/multiboot2.c: Add necessary includes for
7599 grub_multiboot2_real_boot().
7600
a2c8c5f8 7601 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
7602 PX record is always little-endian. We only need the lower 2
7603 bytes of the mode.
7604
faec96af 7605 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
7606 facilitate code reuse.
7607 (grub_cpio_mount): Use "struct head", not a char buffer. This
7608 fixes a warning reported by gcc 4.4.
7609
238e871f 7610 * kernel/disk.c (grub_disk_read): Use void pointer for the
7611 buffer.
7612 (grub_disk_write): Use const void pointer for the buffer.
7613 Adjust all callers. Remove unnecessary casts.
7614
901d2f0c 76152009-05-10 Robert Millan <rmh.grub@aybabtu.com>
7616
7617 * util/i386/pc/grub-install.in: Update copyright year.
7618
18f547ad 76192009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 7620
7621 gptsync
7622
7623 * commands/gptsync.c: new file
7624 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
7625 (gptsync_mod_SOURCES): new variable
7626 (gptsync_mod_CFLAGS): likewise
7627 (gptsync_mod_LDFLAGS): likewise
18f547ad 7628 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 7629 new definition
7630 (GRUB_PC_PARTITION_TYPE_HFS): likewise
7631 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
7632 * conf/i386-ieee1275.rmk: likewise
7633 * conf/i386-pc.rmk: likewise
7634 * conf/powerpc-ieee1275.rmk: likewise
7635
b4ba690a 76362009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Fixed grub-emu
7639
7640 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
7641 (grub_dl_ref): likewise
7642
317e1a44 76432009-05-08 Robert Millan <rmh.grub@aybabtu.com>
7644
7645 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
7646 split in two functions (one for msdos and one for gpt).
7647
041b8094 76482009-05-08 Pavel Roskin <proski@gnu.org>
7649
752473c2 7650 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
7651 not modified.
7652
041b8094 7653 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
7654 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
7655 Initialize them with -1. Add sanity check for bad1. Eliminate
7656 nerr variable.
7657
172800ce 76582009-05-08 David S. Miller <davem@davemloft.net>
7659
7660 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
7661
29aa5e81 76622009-05-06 Robert Millan <rmh.grub@aybabtu.com>
7663
7664 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 7665 existence.
29aa5e81 7666
96613b62 76672009-05-05 Felix Zielcke <fzielcke@z-51.de>
7668
7669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 7670 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 7671
eef73c8a 76722009-05-05 David S. Miller <davem@davemloft.net>
7673
7674 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
7675
119494b5 76762009-05-05 Pavel Roskin <proski@gnu.org>
7677
7678 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
7679 of grub_dl_ref() and grub_dl_unref().
7680 * commands/parttool.c: Remove preprocessor conditionals around
7681 grub_dl_ref() and grub_dl_unref().
7682 * fs/affs.c: Likewise.
7683 * fs/afs.c: Likewise.
7684 * fs/cpio.c: Likewise.
7685 * fs/ext2.c: Likewise.
7686 * fs/fat.c: Likewise.
7687 * fs/hfs.c: Likewise.
7688 * fs/hfsplus.c: Likewise.
7689 * fs/iso9660.c: Likewise.
7690 * fs/jfs.c: Likewise.
7691 * fs/minix.c: Likewise.
7692 * fs/ntfs.c: Likewise.
7693 * fs/reiserfs.c: Likewise.
7694 * fs/sfs.c: Likewise.
7695 * fs/udf.c: Likewise.
7696 * fs/ufs.c: Likewise.
7697 * fs/xfs.c: Likewise.
7698 * include/grub/dl.h: Likewise.
7699 * loader/xnu.c: Likewise.
7700
de5fd76e 77012009-05-04 Pavel Roskin <proski@gnu.org>
7702
7703 * commands/acpi.c: Remove unused variable my_mod.
7704 * partmap/amiga.c: Likewise.
7705 * partmap/apple.c: Likewise.
7706 * partmap/gpt.c: Likewise.
7707 * partmap/pc.c: Likewise.
7708 * partmap/sun.c: Likewise.
7709 * term/gfxterm.c: Likewise.
7710 * term/i386/pc/vesafb.c: Likewise.
7711 * term/i386/pc/vga.c: Likewise.
7712
983598ad 77132009-05-04 David S. Miller <davem@davemloft.net>
7714
7715 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
7716 pointer args to grub_ieee1275_get_property().
7717
8aadec43 7718 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
7719
9554b15e 7720 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
7721 devices, and do not traverse down under controller nodes.
7722
67e23c90 7723 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
7724 (grub_ofdisk_open): Use it to un-escape "," characters.
7725 * kern/disk.c (find_part_sep): New.
7726 (grub_disk_open): Use it to find the first non-escaped ','
7727 character in the disk name.
7728 * util/ieee1275/devicemap.c (escape_of_path): New.
7729 (grub_util_emit_devicemap_entry): Use it.
7730 * util/sparc64/ieee1275/grub-install.in: Update script to
7731 strip partition specifiers properly by not triggering on
7732 '\' escaped ',' characters.
7733
74bfdd2f 77342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7735
7736 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
7737 to 0x300.
7738 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
7739 resolutions.
7740 (linux_vesafb_modes): Add a lot of additional modes to the list (based
7741 on documentation from Wikipedia).
7742
4241d2b1 77432009-05-04 Pavel Roskin <proski@gnu.org>
7744
7745 * disk/ata.c: Spelling fixes.
7746 * disk/raid.c: Likewise.
7747 * disk/usbms.c: Likewise.
7748 * disk/dmraid_nvidia.c: Likewise.
7749 * kern/ieee1275/openfw.c: Likewise.
7750 * kern/ieee1275/init.c: Likewise.
7751 * kern/ieee1275/cmain.c: Likewise.
7752 * boot/i386/pc/cdboot.S: Likewise.
7753 * video/readers/png.c: Likewise.
7754 * video/i386/pc/vbe.c: Likewise.
7755 * fs/udf.c: Likewise.
7756 * fs/hfs.c: Likewise.
7757 * fs/reiserfs.c: Likewise.
7758 * efiemu/runtime/efiemu.c: Likewise.
7759 * efiemu/main.c: Likewise.
7760 * efiemu/mm.c: Likewise.
7761 * include/grub/elf.h: Likewise.
7762 * include/grub/xnu.h: Likewise.
7763 * include/grub/usbdesc.h: Likewise.
7764 * include/grub/usb.h: Likewise.
7765 * include/grub/script_sh.h: Likewise.
7766 * include/grub/lib/LzmaEnc.h: Likewise.
7767 * include/grub/efiemu/efiemu.h: Likewise.
7768 * include/grub/command.h: Likewise.
7769 * normal/menu.c: Likewise.
7770 * normal/main.c: Likewise.
7771 * normal/datetime.c: Likewise.
7772 * bus/usb/uhci.c: Likewise.
7773 * mmap/i386/uppermem.c: Likewise.
7774 * mmap/mmap.c: Likewise.
7775 * commands/acpi.c: Likewise.
7776 * commands/test.c: Likewise.
7777 * partmap/apple.c: Likewise.
7778 * font/font.c: Likewise.
7779 * loader/sparc64/ieee1275/linux.c: Likewise.
7780 * loader/macho.c: Likewise.
7781 * loader/i386/bsd_trampoline.S: Likewise.
7782 * loader/i386/bsd.c: Likewise.
7783 * loader/xnu.c: Likewise.
7784 * term/i386/pc/vesafb.c: Likewise.
7785 * term/usb_keyboard.c: Likewise.
7786 * util/resolve.c: Likewise.
7787 * util/getroot.c: Likewise.
7788
0cfc0083 77892009-05-04 Felix Zielcke <fzielcke@z-51.de>
7790
7791 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
7792
7c1d00cd 77932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7794
7795 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
7796 build error.
7797
b01f0548 77982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7799
7800 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
7801 parameter only available on BIOS.
7802
ecc3eb22 78032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 Removed wrong semicolon in declaration
7806
7807 * grub/misc.h (grub_dprintf): remove semicolon
7808
112972a9 78092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7810
7811 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
7812 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
7813 is done by grub_cmd_linux() now).
7814 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
7815 restore video to text mode.
7816 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
7817 indicates lack of "vga=" parameter. "vga=0" is mapped to
7818 `GRUB_LINUX_VID_MODE_NORMAL'.
7819
afd5c115 78202009-05-04 Felix Zielcke <fzielcke@z-51.de>
7821
7822 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
7823 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
7824 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 7825 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 7826 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
7827 `grub_script.tab.c'.
7828
7829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7830 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7834
faa517ce 7835 * Makefile.in: Remove duplicated 2008 in Copyright line.
7836
ae0c0bdc 78372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7838
473d1e45 7839 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 7840 unconditionally.
7841 * include/grub/util/misc.h (grub_util_warn): New declaration.
7842
7843 * util/i386/pc/grub-install.in: Understand --force and pass it down
7844 to grub-setup.
7845
7846 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
7847 down to setup().
7848 (setup): Improve error messages and add warnings when requested to
7849 install in odd layouts. Refuse to install using blocklists unless
7850 --force was set.
7851
18f547ad 78522009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 7853
7854 * disk/raid.c (grub_raid_scan_device): Improve debug message.
7855
6d260daa 78562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Updated copyright year
7859
7860 * fs/hfsplus.c: updated copyright year
18f547ad 7861
69f853f8 78622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 HFS+ UUID
7865
18f547ad 7866 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 7867 in the space previously used by unused3
7868 (grub_hfsplus_uuid): new function
7869 (grub_hfsplus_fs): added uuid field
7870
4c402e73 78712009-05-03 Pavel Roskin <proski@gnu.org>
7872
7873 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
7874 suppress warnings. It's no longer needed.
7875 * disk/host.c: Likewise.
7876 * disk/ata_pthru.c: Likewise.
7877 * disk/loopback.c: Likewise.
7878 * hook/datehook.c: Likewise.
7879 * parttool/pcpart.c: Likewise.
7880 * fs/i386/pc/pxe.c: Likewise.
7881 * fs/ntfscomp.c: Likewise.
7882 * efiemu/main.c: Likewise.
7883 * mmap/mmap.c: Likewise.
7884 * commands/crc.c: Likewise.
7885 * commands/hexdump.c: Likewise.
7886 * commands/hdparm.c: Likewise.
7887 * commands/acpi.c: Likewise.
7888 * commands/echo.c: Likewise.
7889 * commands/minicmd.c: Likewise.
7890 * commands/blocklist.c: Likewise.
7891 * commands/memrw.c: Likewise.
7892 * commands/loadenv.c: Likewise.
7893 * commands/usbtest.c: Likewise.
7894 * commands/lsmmap.c: Likewise.
7895 * commands/boot.c: Likewise.
7896 * commands/parttool.c: Likewise.
7897 * commands/configfile.c: Likewise.
7898 * commands/search.c: Likewise.
7899 * commands/ieee1275/suspend.c: Likewise.
7900 * commands/cat.c: Likewise.
7901 * commands/i386/pc/pxecmd.c: Likewise.
7902 * commands/i386/pc/play.c: Likewise.
7903 * commands/i386/pc/halt.c: Likewise.
7904 * commands/i386/pc/vbeinfo.c: Likewise.
7905 * commands/i386/pc/vbetest.c: Likewise.
7906 * commands/lspci.c: Likewise.
7907 * commands/date.c: Likewise.
7908 * commands/handler.c: Likewise.
7909 * commands/ls.c: Likewise.
7910 * commands/test.c: Likewise.
7911 * commands/cmp.c: Likewise.
7912 * commands/efi/loadbios.c: Likewise.
7913 * commands/efi/fixvideo.c: Likewise.
7914 * commands/halt.c: Likewise.
7915 * commands/help.c: Likewise.
7916 * commands/reboot.c: Likewise.
7917 * hello/hello.c: Likewise.
7918 * script/sh/main.c: Likewise.
7919 * loader/xnu.c: Likewise.
7920 * term/terminfo.c: Likewise.
7921 * term/i386/pc/serial.c: Likewise.
7922 * term/usb_keyboard.c: Likewise.
7923
515b5079 79242009-05-03 David S. Miller <davem@davemloft.net>
7925
7926 * normal/menu.c: Include grub/parser.h
7927
dfc31a22 79282009-05-03 Pavel Roskin <proski@gnu.org>
7929
2fee74f1 7930 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
7931 not char*.
7932 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
7933 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
7934
dfc31a22 7935 * util/i386/pc/grub-mkrescue.in: Allow for the case when
7936 efiemu??.o doesn't exist.
7937 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
7938 copying.
7939
18f547ad 79402009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 7941
7942 FreeBSD 64-bit support
7943
18f547ad 7944 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 7945 and loader/i386/bsd_trampoline.S
7946 (bsd_mod_ASFLAGS): new variable
7947 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
7948 (FREEBSD_MODTYPE_KERNEL64): likewise
7949 (grub_bsd64_trampoline_start): likewise
7950 (grub_bsd64_trampoline_end): likewise
7951 (grub_bsd64_trampoline_selfjump): likewise
7952 (grub_bsd64_trampoline_gdt): likewise
7953 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
7954 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
7955 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
7956 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 7957 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 7958 of "attrib" member
7959 * loader/i386/bsd_pagetable.c: new file
7960 * loader/i386/bsd_trampoline.S: likewise
7961 * loader/i386/bsd.c (ALIGN_QWORD): new macro
7962 (ALIGN_VAR): likewise
7963 (entry_hi): new variable
7964 (kern_end_mdofs): likewise
7965 (is_64bit): likewise
7966 (grub_freebsd_add_meta): use ALIGN_VAR
7967 (grub_e820_mmap): new declaration
7968 (grub_freebsd_add_mmap): new function
7969 (grub_freebsd_add_meta_module): support 64 bit kernels
7970 (grub_freebsd_list_modules): use ALIGN_VAR
7971 (gdt_descriptor): new declaration
7972 (grub_freebsd_boot): support 64 bit kernels
7973 (grub_bsd_elf64_hook): new function
7974 (grub_bsd_load_elf): support elf64
7975
038c5720 79762009-05-03 Bean <bean123ch@gmail.com>
7977
7978 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
7979 after we get the result of if statement.
7980
fc45fb58 79812009-05-03 Bean <bean123ch@gmail.com>
7982
7983 * Makefile.in (enable_efiemu): New variable.
7984
7985 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
7986 set.
7987 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
7988 path.
7989 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
7990 path, add -mno-red-zone option.
7991 (efiemu64_s.o): Likewise.
7992 (efiemu64.o): Use macro $^ for source file.
7993
7994 * configure.ac (--enable-efiemu): New option.
7995
bbee0f2b 79962009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 xnu support
7999
8000 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8001 (pkglib_MODULES): add xnu.mod
8002 (xnu_mod_SOURCES): new variable
8003 (xnu_mod_CFLAGS): likewise
8004 (xnu_mod_LDFLAGS): likewise
8005 (xnu_mod_ASFLAGS): likewise
8006 * conf/i386-pc.rmk: likewise
8007 * conf/x86_64-efi.rmk: likewise
7dd4a573 8008 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8009 new declaration
8010 * include/grub/i386/macho.h: new file
8011 * include/grub/i386/xnu.h: likewise
8012 * include/grub/macho.h: likewise
8013 * include/grub/machoload.h: likewise
8014 * include/grub/x86_64/macho.h: likewise
8015 * include/grub/x86_64/xnu.h: likewise
8016 * include/grub/xnu.h: likewise
8017 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8018 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8019 * loader/i386/efi/xnu.c: new file
8020 * loader/i386/pc/xnu.c: likewise
8021 * loader/i386/xnu.c: likewise
8022 * loader/i386/xnu_helper.S: likewise
8023 * loader/macho.c: likewise
8024 * loader/xnu.c: likewise
8025 * loader/xnu_resume.c: likewise
8026 * util/grub-dumpdevtree: likewise
8027 * include/grub/i386/pit.h: include grub/err.h
8028 (grub_pit_wait): export
8029 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8030
5caf964d 80312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 Efiemu
7dd4a573 8034
5caf964d 8035 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8036 _linux_efi, linux_efi.
8037 new files in grub-emu
5caf964d 8038 new targets efiemu32.o and efiemu64.o
8039 * loader/linux_normal_efiemu.c: likewise
8040 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8041 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8042 files to copy
8043 * include/grub/autoefi.h: new file
7dd4a573 8044 * include/grub/i386/efiemu.h: likewise
5caf964d 8045 * include/grub/i386/pc/efiemu.h: likewise
8046 * include/grub/efi/api.h: add LL suffix when necessary
8047 new definitions relating to tables
8048 * include/grub/efiemu/efiemu.h: new file
8049 * include/grub/efiemu/runtime.h: likewise
8050 * efiemu/prepare.c: likewise
8051 * efiemu/loadcore_common.c: likewise
8052 * efiemu/loadcore64.c: likewise
8053 * efiemu/runtime/efiemu.sh: likewise
8054 * efiemu/runtime/efiemu.S: likewise
8055 * efiemu/runtime/efiemu.c: likewise
8056 * efiemu/runtime/config.h: likewise
8057 * efiemu/prepare32.c: likewise
8058 * efiemu/main.c: likewise
8059 * efiemu/modules/pnvram.c: likewise
8060 * efiemu/modules/i386: likewise
8061 * efiemu/modules/i386/pc: likewise
8062 * efiemu/modules/acpi.c: likewise
8063 * efiemu/i386/pc/cfgtables.c: likewise
8064 * efiemu/i386/loadcore64.c: likewise
8065 * efiemu/i386/loadcore32.c: likewise
8066 * efiemu/prepare64.c: likewise
8067 * efiemu/loadcore.c: likewise
8068 * efiemu/symbols.c: likewise
8069 * efiemu/mm.c: likewise
8070 * efiemu/loadcore32.c: likewise
7dd4a573 8071
80722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8073
8074 ACPI spoofing
8075
8076 * commands/acpi.c: new file
8077 * commands/i386/pc/acpi.c: likewise
8078 * commands/efi/acpi.c: likewise
8079 * include/grub/acpi.h: likewise
8080 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8081 (acpi_mod_SOURCES): new variable
8082 (acpi_mod_CFLAGS): likewise
8083 (acpi_mod_LDFLAGS): likewise
8084 * conf/i386-efi.rmk: likewise
8085 * conf/x86_64-efi.rmk: likewise
8086
7dd4a573 80872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8088
8089 Missing part from mmap patch
8090
8091 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8092 (grub_mmap_unregister)
8093 (grub_mmap_free_and_unregister): use grub_mmap_register
8094
7dd4a573 80952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8096
8097 Mmap services
8098
8099 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8100 * loader/i386/linux.c (find_mmap_size): likewise
8101 (allocate_pages): likewise
8102 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8103 (grub_fill_multiboot_mmap): likewise
8104 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8105 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8106 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8107 (OPENBSD_MMAP_RESERVED): likewise
8108 * include/grub/i386/pc/memory.h: include grub/memory.h
8109 (grub_lower_mem): removed
8110 (grub_upper_mem): likewise
8111 (GRUB_MACHINE_MEMORY_ACPI): new definition
8112 (GRUB_MACHINE_MEMORY_NVS): likewise
8113 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8114 (GRUB_MACHINE_MEMORY_HOLE): likewise
8115 (grub_machine_mmap_register): likewise
8116 (grub_machine_mmap_unregister): likewise
8117 (grub_machine_get_upper): likewise
8118 (grub_machine_get_lower): likewise
8119 (grub_machine_get_post64): likewise
8120 * include/grub/i386/efi/memory.h: new file
8121 * include/grub/x86_64/efi/memory.h: likewise
8122 * include/grub/efi/memory.h: likewise
8123 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8124 (mmap_mod_SOURCES): new variable
8125 (mmap_mod_LDFLAGS): likewise
8126 (mmap_mod_ASFLAGS): likewise
8127 * conf/i386-coreboot.rmk: likewise
8128 * conf/i386-ieee1275.rmk: likewise
8129 * conf/i386-efi.rmk: likewise
8130 * conf/x86_64-efi.rmk: likewise
8131 * include/grub/types.h (UINT_TO_PTR): new macro
8132 (PTR_TO_UINT32): likewise
8133 (PTR_TO_UINT64): likewise
8134 * include/grub/memory.h: new file
8135 * mmap/i386/pc/mmap.c: likewise
8136 * mmap/i386/pc/mmap_helper.S: likewise
8137 * mmap/i386/uppermem.c: likewise
8138 * mmap/mmap.c: likewise
8139 * mmap/efi/mmap.c: likewise
7dd4a573 8140 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8141 grub_upper_mem
8142 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8143 (grub_upper_mem): likewise
8144 (grub_machine_init): don't use grub_upper_mem,
8145 make grub_lower_mem local
8146 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8147 grub_mmap_iterate and grub_mmap_get_upper
8148 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8149
d558e6b5 81502009-05-02 Bean <bean123ch@gmail.com>
8151
8152 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8153 script/sh/parser.y.
8154 (pkglib_MODULES): Add normal.mod and sh.mod.
8155 (normal_SOURCES): New variable.
8156 (normal_mod_CFLAGS): Likewise.
8157 (normal_mod_LDFLAGS): Likewise.
8158 (sh_mod_SOURCES): Likewise.
8159 (sh_mod_CFLAGS): Likewise.
8160 (sh_mod_LDFLAGS): Likewise.
8161
8162 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8163 script/sh/lexer.c_DEPENDENCIES.
8164 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8165 kern/rescue_reader.c and kern/rescue_parser.c.
8166 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8167 (grub_emu_SOURCES): Change source files.
8168 (pkglib_MODULES): Remove normal.mod.
8169 (normal_SOURCES): Removed.
8170 (normal_mod_CFLAGS): Likewise.
8171 (normal_mod_LDFLAGS): Likewise.
8172 * conf/i386-coreboot.rmk: Likewise.
8173 * conf/i386-efi.rmk: Likewise.
8174 * conf/i386-ieee1276.rmk: Likewise.
8175 * conf/powerpc-ieee1275.rmk: Likewise.
8176 * conf/sparc64-ieee1275.rmk: Likewise.
8177 * conf/x86_64-efi.rmk: Likewise.
8178
8179 * include/grub/command.h (grub_command_execute): New inline function.
8180
8181 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8182
8183 * include/grub/normal.h: Remove <grub/setjmp.h>.
8184 (grub_fs_module_list): Moved to normal/autofs.c.
8185 (grub_exit_env): Removed.
8186 (grub_command_execute): Likewise.
8187 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8188 parameter script.
8189 (read_command_list): New function declaration.
8190 (read_fs_list): Likewise.
8191
8192 * include/parser.h: Include <grub/reader.h>.
8193 (grub_parser_split_cmdline): Change type of getline parameter.
8194 (grub_parser): New structure.
8195 (grub_parser_class): New variable.
8196 (grub_parser_execute): New function declaration.
8197 (grub_register_rescue_parser): Likewise.
8198 (grub_parser_register): New inline function.
8199 (grub_parser_unregister): Likewise.
8200 (grub_parser_get_current): Likewise.
8201 (grub_parser_set_current): Likewise.
8202
8203 * include/grub/reader.h: New file.
8204 * kern/reader.c: Likewise.
8205 * kern/rescue_parser.c: Likewise.
8206 * kern/rescue_reader.c: Likewise.
8207 * normal/autofs.c: Likewise.
8208 * normal/dyncmd.c: Likewise.
8209
8210 * include/grub/rescue.h: Removed.
8211 * normal/command.h: Likewise.
8212
8213 * include/grub/script.h: Moved to ...
8214 * include/grub/script_sh.h: ... Moved here.
8215 * normal/execute.c: Moved to ...
8216 * script/sh/execute.c: ... Moved here.
8217 * normal/function.c: Moved to ...
8218 * script/sh/function.c: ... Moved here.
8219 * normal/lexer.c: Moved to ...
8220 * script/sh/lexer.c: ... Moved here.
8221 * normal/parser.y: Moved to ...
8222 * script/sh/parser.y: ... Moved here.
8223 * normal/script.c: Moved to ...
8224 * script/sh/script.c: ... Moved here.
8225
8226 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8227 <grub/reader.h>.
8228 (grub_exit_env): Removed.
8229 (fs_module_list): Moved to normal/autofs.c.
8230 (grub_file_getline): Don't handle comment here.
8231 (free_menu): Skip removed field entry->commands.
8232 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8233 script parameter.
8234 (read_config_file): Removed nested parameter, change getline function.
8235 (grub_enter_normal_mode): Removed.
8236 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8237 (read_command_list): Likewise.
8238 (autoload_fs_module): Moved to normal/autofs.c.
8239 (read_fs_list): Likewise.
8240 (reader_nested): New variable.
8241 (grub_normal_execute): Run parser.sh to switch to sh parser.
8242 (grub_cmd_rescue): Removed.
8243 (cmd_normal): Removed.
8244 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8245 rescue command.
8246 (grub_cmdline_run): New function.
8247 (grub_normal_reader_init): Likewise.
8248 (grub_normal_read_line): Likewise.
8249 (grub_env_write_pager): Likewise.
8250 (cmdline): New variable.
8251 (grub_normal_reader): Likewise.
8252 (GRUB_MOD_INIT): Register normal reader and set as current, register
8253 pager hook, register normal command with grub_register_command_prio,
8254 so that it won't show up in command.lst.
8255 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8256 grub_fs_autoload_hook.
8257
8258 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8259 (grub_menu_execute_entry): Replace grub_script_execute with
8260 grub_parser_execute, change parameter to grub_command_execute.
8261
8262 * normal/menu_text.c: Remove <grub/script.h>.
8263
8264 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8265 and <grub/parser.h>.
8266 (run): Change editor_getline to use new parser interface. Change
8267 parameter to grub_command_execute.
8268
8269 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8270 <grub/reader.h> and <grub/parser.h>.
8271 (grub_load_normal_mode): Execute normal command.
8272 (grub_main): Call grub_register_core_commands,
8273 grub_register_rescue_parser and grub_register_rescue_reader, use
8274 grub_reader_loop to enter input loop.
8275
7dd4a573 8276 * kern/parser.c (grub_parser_split_cmdline): Change type of
8277 getline parameter.
d558e6b5 8278 (grub_parser_class): New variable.
8279 (grub_parser_execute): New function.
8280
8281 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8282 * loader/multiboot2.c: Likewise.
8283 * loader/sparc64/ieee1275/linux.c: Likewise.
8284
8285 * util/grub-emu.c (read_command_list): New dummy function.
8286
18db813d 82872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8288
8289 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8290 count to 16 for CCISS and IDA.
8291
6c67de15 82922009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8293
8294 * normal/menu_text.c (grub_wait_after_message): Print a newline
8295 after waiting for user input.
8296
8297 * loader/i386/linux.c: Include `<grub/normal.h>'.
8298 (grub_cmd_linux): Improve the error message about `ask' mode, by
8299 waiting for user input so it's not missed (we can do this, since
8300 user requested interaction).
8301
d9dc87b0 83022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Added missing lst to grub-mkrescue
8305
8306 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8307 and ${input_dir}/parttool.lst
8308
ac8a2baa 83092009-04-30 David S. Miller <davem@davemloft.net>
8310
ad22a610 8311 * util/hostdisk.c (device_is_wholedisk): New function.
8312 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8313 zero only if device_is_wholedisk() returns true.
8314
6966215d 8315 * util/hostdisk.c (convert_system_partition_to_system_disk):
8316 Handle virtual disk devices named /dev/vdiskX as found on sparc
8317 and powerpc.
8318
ac8a2baa 8319 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8320 lettered partition specifier is found, convert to numbered.
8321
979b4fb4 83222009-04-29 David S. Miller <davem@davemloft.net>
8323
e2bf39b2 8324 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8325 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8326
3c64e104 8327 * normal/command.c: Add missing newline at end of file.
8328
979b4fb4 8329 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8330 warnings.
8331 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8332 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8333 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8334 ihandles have a 32-bit type but need to be stored in a "void *".
8335
136d9f82 83362009-04-28 Pavel Roskin <proski@gnu.org>
8337
9459c306 8338 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8339 not disk. Adjust all dependencies.
2e08a26a 8340 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8341 grub_disk_close().
8342
136d9f82 8343 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8344 parent's partition, don't copy it by reference, as it gets freed
8345 on close.
8346
7dd4a573 83472009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8348
8349 Preboot hooks support
8350
8351 * commands/boot.c (struct grub_preboot_t): new declaration
8352 (preboots_head): new variable
8353 (preboots_tail): likewise
8354 (grub_loader_register_preboot_hook): new function
8355 (grub_loader_unregister_preboot_hook): likewise
8356 (grub_loader_set): launch preboot hooks
8357 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8358 (grub_loader_register_preboot_hook): new declaration
8359 (grub_loader_unregister_preboot_hook): likewise
8360
5af922b5 83612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Warning fix
8364
7dd4a573 8365 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8366 calling grub_dprintf
8367
a5562c30 83682009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 Bug and warning fixes
8371
7dd4a573 8372 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8373 declaration
8374 * commands/test.c (test_parse): fixed bug with file tests and corrected
8375 declaration of find_file
8376
4006f85c 83772009-04-26 Pavel Roskin <proski@gnu.org>
8378
8379 * Makefile.in: Don't install empty manual pages if help2man is
8380 missing. Use help2man option for output, not shell redirection.
8381
5c77c3de 83822009-04-26 David S. Miller <davem@davemloft.net>
8383
8384 * util/grub-mkdevicemap.c (make_device_map): Add missing
8385 NESTED_FUNC_ATTR to process_device().
8386
033b10a8 83872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Test command
8390
8391 * commands/test.c: rewritten to use bash-like test
8392
e4343593 83932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 Parttool autoloading and improvements
8396
7dd4a573 8397 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8398 (parttool.lst): new target
8399 * genmk.rb: generate parttool-*
8400 (CLEANFILES): add #{parttool}
8401 (PARTTOOLFILES): new variable
8402 * genparttoollist.sh: new file
7dd4a573 8403 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8404 (grub_pcpart_type): likewise
8405 * commands/parttool.c (helpmsg): new variable
8406 (grub_cmd_parttool): output help if not enough arguments are supplied
8407 autoload modules
8408 (GRUB_MOD_INIT(parttool)): use helpmsg
8409
0d312500 84102009-04-24 David S. Miller <davem@davemloft.net>
8411
7dd4a573 8412 Avoiding opening same device multiple times in device iterator.
0d312500 8413
8414 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8415 and use it to build a list of partitions in iterate_disk() and
0d312500 8416 iterate_partition().
8417
ac20caff 8418 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8419 on disk->data.
8420
0dcf7495 8421 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8422 grub_devalias_iterate() result instead of unconditional 0.
8423 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8424 Also, capture hook return value, either directly or via
8425 grub_children_iterate(), and propagate to caller.
8426 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8427 grub_children_iterate): Return value is now 'int' instead of
8428 'grub_err_t'.
8429 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8430 like a proper iterator, stopping when hooks return non-zero.
8431 (grub_devalias_iterate): Likewise.
8432
c8c08833 84332009-04-23 David S. Miller <davem@davemloft.net>
8434
8435 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8436
f01005a8 84372009-04-22 David S. Miller <davem@davemloft.net>
8438
8439 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8440 is larger than address_cells, use that value for address_cells too.
8441
4e8269da 8442 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8443 IEEE1275_MAX_PATH_LEN): Define.
8444 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8445 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8446 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8447 'devtype'. Explicitly NULL terminate devalias expansion.
8448
a1447506 8449 * util/sparc64/ieee1275/misc.c: New file.
8450 * util/sparc64/ieee1275/grub-setup.c: New file.
8451 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8452 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8453 * util/sparc64/ieee1275/grub-install.in: New file.
8454 * util/ieee1275/ofpath.c: New file.
8455 * util/ieee1275/devicemap.c: New file.
8456 * util/devicemap.c: New file.
8457 * util/deviceiter.c: New file.
8458 * kern/sparc64/ieee1275/init.c: New file.
8459 * include/grub/util/ofpath.h: New file.
8460 * include/grub/util/deviceiter.h: New file.
8461 * util/grub-mkdevicemap.c: Include deviceiter.h.
8462 Implement using grub_util_emit_devicemap_entry and
8463 grub_util_iterate_devices.
8464 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8465 util/devicemap.c into grub-mkdevicemap
8466 * conf/i386-efi.rmk: Likewise.
8467 * conf/i386-ieee1275.rmk: Likewise.
8468 * conf/i386-pc.rmk: Likewise.
8469 * conf/powerpc-ieee1275.rmk: Likewise.
8470 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8471 images and installation utilities. Build kernel as image
8472 instead of as elf binary. Use common rules as much as possible.
8473
7dd4a573 84742009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8475
8476 Correct GPT definition
8477
7dd4a573 8478 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8479 of "attrib" member
8480
c6c5219f 84812009-04-19 Felix Zielcke <fzielcke@z-51.de>
8482
8483 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8484
0552ff9f 84852009-04-19 David S. Miller <davem@davemloft.net>
8486
8487 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8488 (grub_rescue_cmd_linux): Rename to...
8489 (grub_cmd_linux): and fix prototype.
8490 (grub_rescue_cmd_initrd): Rename to...
8491 (grub_cmd_initrd): and fix prototype.
8492 (cmd_linux, cmd_initrd): New.
8493 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8494 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8495
d1a282fc 84962009-04-17 Pavel Roskin <proski@gnu.org>
8497
07c5039f 8498 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8499 format.
8500 (grub_ohci_transfer): Likewise.
8501
b012002d 8502 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8503
1bc09c35 8504 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8505 return without a value. Fix inconsistent indentation.
8506
e0ff9126 8507 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8508 match struct grub_fs.
8509
d1a282fc 8510 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8511 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8512 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8513 * commands/lspci.c (grub_lspci_iter): Likewise.
8514
a96df3f2 85152009-04-16 Bean <bean123ch@gmail.com>
8516
8517 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8518 value.
8519
41bb0fe9 85202009-04-15 Pavel Roskin <proski@gnu.org>
8521
8522 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8523 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8524 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8525 definitions.
8526
596c6970 85272009-04-15 Felix Zielcke <fzielcke@z-51.de>
8528
8529 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8530 that no multiple data or metadata areas are supported and `Unknown
596c6970 8531 metadata header'.
8532
7dd4a573 85332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8534
8535 Move loader out of the kernel
8536
8537 * kern/loader.c: moved to ...
8538 * commands/boot.c: ... moved here
8539 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
8540 * commands/boot.c (grub_cmd_boot): moved here. All users updated
8541 * include/grub/kernel.h (grub_machine_fini): export
8542 * include/grub/loader.h (grub_loader_is_loaded): update declaration
8543 (grub_loader_set): likewise
8544 (grub_loader_unset): likewise
8545 (grub_loader_boot): likewise
8546 * conf/common.rmk: new module boot.mod
8547 (pkglib_MODULES): add boot.mod
8548 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
8549 (grub_emu_SOURCES): likewise
8550 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
8551 (grub_emu_SOURCES): likewise
8552 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
8553 (grub_emu_SOURCES): likewise
8554 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
8555 (grub_emu_SOURCES): likewise
8556 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
8557 (grub_emu_SOURCES): likewise
7dd4a573 8558 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
8559 (grub_emu_SOURCES): likewise
0d5d5653 8560 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 8561 (grub_emu_SOURCES): likewise
0d5d5653 8562
7dd4a573 85632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 8564
8565 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 8566
5999d619 8567 * kern/misc.c (grub_itoa): Removed function
8568 (grub_ltoa): likewise
8569 (grub_vsprintf): use grub_lltoa
8570
7dd4a573 85712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 8572
8573 Restore grub-emu
8574
8575 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
8576 * conf/i386-coreboot.rmk: likewise
8577 * conf/i386-ieee1275.rmk: likewise
8578 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8579
20318222 85802009-04-15 Felix Zielcke <fzielcke@z-51.de>
8581
8582 * INSTALL: Add that `./autogen.sh' needs to be run before
8583 `./configure.'.
8584
d05f0df3 85852009-04-14 Bean <bean123ch@gmail.com>
8586
8587 * Makefile.in (pkglib_DATA): Add handler.lst.
8588 (handler.lst): New rule.
8589
8590 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
8591 * conf/i386-coreboot.rmk: Likewise.
8592 * conf/i386-ieee1275.rmk: Likewise.
8593 * conf/i386-efi.rmk: Likewise.
8594 * conf/x86_64-efi.rmk: Likewise.
8595 * conf/powerpc-ieee1275.rmk: Likewise.
8596 * conf/sparc64-ieee1275.rmk: Likewise.
8597
8598 * genhandlerlist.sh: New file.
8599
8600 * genmk.rb: Add rules to generate handler.lst.
8601
8602 * include/grub/normal.h (grub_file_getline): New function definition.
8603 (read_handler_list): Likewise.
8604 (free_handler_list): Likewise.
8605
8606 * include/grub/term.h (grub_term_register_input): Add name parameter
8607 for auto generation of handler.lst.
8608 (grub_term_register_output): Likewise.
8609
8610 * normal/handler.c: New file.
8611
8612 * normal/main.c (get_line): Renamed to grub_file_getline.
8613 (read_config_file): Use the newly renamed grub_file_getline.
8614 (read_command_list): Likewise.
8615 (read_fs_list): Likewise.
8616 (grub_normal_execute): Call read_handler_list to parse handler.lst.
8617 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
8618
8619 * term/efi/console.c (grub_console_init): Add name parameter for auto
8620 generation of handler.lst.
8621 * term/gfxterm.c: Likewise.
8622 * term/i386/pc/at_keyboard.c: Likewise.
8623 * term/i386/pc/console.c: Likewise.
8624 * term/i386/pc/serial.c: Likewise.
8625 * term/i386/pc/vesafb.c: Likewise.
8626 * term/i386/pc/vga.c: Likewise.
8627 * term/i386/pc/vga_text.c: Likewise.
8628 * term/ieee1275/ofconsole.c: Likewise.
8629 * term/usb_keyboard.c: Likewise.
8630
33c846be 86312009-04-14 Bean <bean123ch@gmail.com>
8632
8633 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
8634 properly with null character.
8635
4484e01e 86362009-04-14 Felix Zielcke <fzielcke@z-51.de>
8637
8638 * configure: Remove.
8639 * config.h.in: Likewise.
f93d668e 8640 * stamp-h.in: Likewise.
4484e01e 8641 * DISTLIST: Likewise.
8642 * conf/common.mk: Likewise.
8643 * conf/i386-coreboot.mk: Likewise.
8644 * conf/i386-efi.mk: Likewise.
8645 * conf/i386-ieee1275.mk: Likewise.
8646 * conf/i386.mk: Likewise.
8647 * conf/i386-pc.mk: Likewise.
8648 * conf/powerpc-ieee1275.mk: Likewise.
8649 * conf/sparc64-ieee1275.mk: Likewise.
8650 * conf/x86_64-efi.mk: Likewise.
8651
8652 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
8653 develop on GRUB.
8654
7dd4a573 86552009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 8656 David S. Miller <davem@davemloft.net>
8657
8658 * util/hostdisk.c (make_device_name): Fix buffer length
8659 calculations.
8660
e25b5a8c 86612009-04-14 Felix Zielcke <fzielcke@z-51.de>
8662
8663 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
8664 <sys/param.h> and <sys/sysctl.h>.
8665 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
8666 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
8667 opening the device and reset them afterwards.
8668
1f1f580c 86692009-04-13 Pavel Roskin <proski@gnu.org>
8670
8671 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
8672 Reported by John Stanley <jpsinthemix@verizon.net>
8673
7ebc2d6b 86742009-04-13 Robert Millan <rmh@aybabtu.com>
8675
8676 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 8677 that name for menuentries when appropriate.
7ebc2d6b 8678
d8ba3667 86792009-04-13 Felix Zielcke <fzielcke@z-51.de>
8680
8681 * util/grub.d/10_freebsd.in: Add a missing `fi'.
8682
cba416eb 86832009-04-13 Robert Millan <rmh@aybabtu.com>
8684
8685 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
8686 to Linux, simply abort telling the user it's no longer supported.
8687
a547a745 86882009-04-13 Felix Zielcke <fzielcke@z-51.de>
8689
8690 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 8691 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 8692 `freebsd_loadenv' only when devices.hints exist.
8693
232a769c 86942009-04-13 Pavel Roskin <proski@gnu.org>
8695
8696 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
8697
c3012039 86982009-04-13 Felix Zielcke <fzielcke@z-51.de>
8699
8700 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
8701 partition number.
8702 (grub_drive): Likewise.
8703
234022fe 87042009-04-13 David S. Miller <davem@davemloft.net>
8705
8706 * kern/sparc64/ieee1275/ieee1275.c: New file.
8707 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
8708 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
8709 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
8710 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
8711 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
8712 grub_ieee1275_alloc_physmem): Declare new exported functions.
8713
d8e1836c 8714 * include/grub/sparc64/ieee1275/loader.h: New file.
8715 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8716 * include/grub/sparc64/kernel.h: Likewise.
8717 * loader/sparc64/ieee1275/linux.c: Likewise.
8718
96bd81ec 8719 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
8720 (grub_fstest_SOURCES): Likewise.
8721
6a4737e5 8722 * util/hostdisk.c (make_device_name): Do not make any assumptions
8723 about the length of drive names.
8724
1d7a72fd 8725 * kern/dl.c (grub_dl_load_file): Close file immediately when
8726 we are done using it.
8727
56bc2471 87282009-04-12 David S. Miller <davem@davemloft.net>
8729
8730 * kern/misc.c (grub_ltoa): Fix cast when handling negative
8731 values. Noticed by Pavel Roskin.
8732
df38d0bb 8733 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
8734 target compiler.
7dd4a573 8735
e382e93a 8736 * genmk.rb: Add more flexible image type specification, also
8737 pass --strip-unneeded to objcopy.
8738 * conf/i386-pc.rmk: Use *_FORMAT.
8739 * conf/i386-pc.mk: Rebuilt.
8740
f5dbbca9 8741 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
8742 (OFDISK_HASH_SZ): Define.
8743 (ofdisk_hash): New hash table.
8744 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
8745 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
8746 instead of device phandle which is not unique.
8747
91c88b12 8748 * kern/sparc64/ieee1275/init.c: Delete, replace with...
8749 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
8750 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
8751 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
8752 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
8753 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
8754 GRUB_KERNEL_MACHINE_DATA_END): Define.
8755 (grub_kernel_image_size, grub_total_module_size): Declare.
8756
5b5d4aa5 87572009-04-12 Pavel Roskin <proski@gnu.org>
8758
7dd4a573 8759 * configure.ac: Change the logic when we check for target tools.
8760 Do it when the target is specified and it's different from the
8761 specified value of the host.
5b5d4aa5 8762
c91e1793 87632009-04-11 Felix Zielcke <fzielcke@z-51.de>
8764
8765 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
8766 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
8767 GNU/kFreeBSD. Check if a device is a character device. Use
8768 DIOCGMEDIASIZE to get the size.
8769 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
8770 support for GNU/kFreeBSD.
8771 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
8772 is a character device instead of a block device. Add support for
8773 FreeBSD device names.
8774
8775 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
8776 is a character device instead of a block device.
8777
8778 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
8779 is a character device instead of a block device.
8780
b1ac8644 87812009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
8782
8783 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
8784 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
8785 FreeBSD. Check if a device is a character device. Use
8786 DIOCGMEDIASIZE to get the size.
8787 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
8788 support for FreeBSD.
8789 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
8790 is a character device instead of a block device. Add support for
8791 FreeBSD device names.
8792
8793 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
8794 a character device instead of a block device.
8795 (grub_util_check_char_device): New function.
8796
8797 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
8798 a character device instead of a block device.
8799
8800 * include/grub/util/getroot.h (grub_util_check_char_device): New
8801 prototype.
8802
a3f7515a 88032009-04-11 David S. Miller <davem@davemloft.net>
8804
8805 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
8806 static libgcc.
8807 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
8808 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
8809 function, if present.
8810 (__bswapdi2): Likewise.
8811
0d44993d 8812 * include/grub/sparc64/ieee1275/boot.h: New file.
8813 * boot/sparc64/ieee1275/boot.S: Likewise.
8814 * boot/sparc64/ieee1275/diskboot.S: Likewise.
8815
ed3d2bc2 8816 * kern/misc.c (grub_ltoa): New function.
8817 (grub_vsprintf): Use it to format 'long' integers.
8818
d3bfb59c 88192009-04-10 David S. Miller <davem@davemloft.net>
8820
8821 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
8822 slots are of type grub_ieee1275_cell_t.
8823 (grub_nand_read): Likewise.
8824 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
8825 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
8826 macros are used to compare values in arg/ret block of the call.
8827 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
8828 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
8829 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
8830 grub_ieee1275_instance_to_path, grub_ieee1275_write,
8831 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
8832 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
8833 grub_ieee1275_close, grub_ieee1275_set_property,
8834 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
8835 grub_ieee1275_cell_t.
8836 * kern/ieee1275/openfw.c (grub_map): Likewise.
8837 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
8838 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
8839
450e2238 8840 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
8841 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8842 (grub_devalias_iterate): Likewise.
8843
7dd4a573 88442009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 8845
8846 UFS improvements
8847
8848 * fs/ufs.c (INODE_NBLOCKS): new definition
8849 (struct grub_ufs_dirent): added fields for non-BSD dirents
8850 (grub_ufs_get_file_block): fixed double indirect handling
8851 (grub_ufs_lookup_symlink): use more robust way to determine whether
8852 symlink is inline
8853 (grub_ufs_find_file): support for non-BSD dirents
8854 (grub_ufs_dir): support for non-BSD dirents
8855
e7e6862a 88562009-04-10 Bean <bean123ch@gnail.com>
8857
8858 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
8859 attribute, otherwise the size would be wrong for i386 platform.
8860
8861 * include/grub/pci.h (grub_pci_read_word): New inline function.
8862 (grub_pci_read_byte): Likewise.
8863 (grub_pci_write): Likewise.
8864 (grub_pci_write_word): Likewise.
8865 (grub_pci_write_byte): Likewise.
8866
8867 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
8868
8869 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
8870 (find_framebuf): Scan pci to locate the frame buffer address.
8871
8872 * commands/efi/fixvideo.c: New file.
8873
8874 * commands/efi/loadbios.c: Likewise.
8875
8876 * commands/memrw.c: Likewise.
8877
8878 * util/grub-dumpbios.in: Likewise.
8879
8880 * conf/common.rmk (grub-dumpbios): New utility.
8881 (pkglib_MODULES): New module memrw.mod.
8882 (memrw_mod_SOURCE): New macro.
8883 (memrw_mod_CFLAGS): Likewise.
8884 (memrw_mod_LDFLAGS): Likewise.
8885
7dd4a573 8886 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8887 fixvideo.mod.
8888 (loadbios_mod_SOURCE): New macro.
8889 (loadbios_mod_CFLAGS): Likewise.
8890 (loadbios_mod_LDFLAGS): Likewise.
8891 (fixvideo_mod_SOURCE): Likewise.
8892 (fixvideo_mod_CFLAGS): Likewise.
8893 (fixvideo_mod_LDFLAGS): Likewise.
8894
7dd4a573 8895 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 8896 fixvideo.mod.
8897 (loadbios_mod_SOURCE): New macro.
8898 (loadbios_mod_CFLAGS): Likewise.
8899 (loadbios_mod_LDFLAGS): Likewise.
8900 (fixvideo_mod_SOURCE): Likewise.
8901 (fixvideo_mod_CFLAGS): Likewise.
8902 (fixvideo_mod_LDFLAGS): Likewise.
8903
af63ada2 89042009-04-08 Felix Zielcke <fzielcke@z-51.de>
8905
8906 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
8907
c2cdde70 89082009-04-07 David S. Miller <davem@davemloft.net>
8909
8910 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
8911 support for R_SPARC_OLO10 relocations. Fix compile warning for
8912 R_SPARC_WDISP30 case.
ea3f72cf 8913 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 8914
761319cf 89152009-04-06 Pavel Roskin <proski@gnu.org>
8916
1007d1f5 8917 * include/grub/misc.h (ARRAY_SIZE): New macro.
8918 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
8919 New macro.
8920 * loader/i386/linux.c (allocate_pages): Use free_pages().
8921 (grub_linux_unload): Don't use free_pages().
8922 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
8923 wrong index. Treat all other modes as text modes.
8924 (grub_cmd_linux): Initialize vid_mode unconditionally to
8925 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
8926
761319cf 8927 * commands/help.c (print_command_help): Use cmd->prio, not
8928 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
8929
ea761d40 89302009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 8931
ea761d40 8932 Parttool
8933
8934 * parttool/pcpart.c: new file
8935 * commands/parttool.c: likewise
8936 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
8937 (parttool_mod_SOURCES): new variable
8938 (parttool_mod_CFLAGS): likewise
8939 (parttool_mod_LDFLAGS): likewise
8940 (pcpart_mod_SOURCES): likewise
8941 (pcpart_mod_CFLAGS): likewise
8942 (pcpart_mod_LDFLAGS): likewise
7dd4a573 8943 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 8944 and parttool/pcpart.c
8945 * conf/i386-efi.rmk: likewise
8946 * conf/i386-ieee1275.rmk: likewise
8947 * conf/i386-pc.rmk: likewise
8948 * conf/powerpc-ieee1275.rmk: likewise
8949 * conf/sparc64-ieee1275.rmk: likewise
8950 * conf/x86_64-ieee1275.rmk: likewise
8951
05aaebfb 89522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Support for mtime and further expandability of dir command
8955
8956 * include/grub/lib/datetime.h: moved to ...
7dd4a573 8957 * include/grub/datetime.h: ... moved here and added
05aaebfb 8958 declaration of grub_unixtime2datetime. All users updated
7dd4a573 8959 * include/grub/fs.h: new syntax for dir and mtime functions in
8960 struct grub_fs
05aaebfb 8961 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
8962 and GRUB_FSHELP_FLAGS_MASK
8963 * commands/ls.c (grub_ls_list_files): Write mtime in long format
8964 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
8965 (grub_ext2_mtime): new function
8966 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
8967 (grub_hfsplus_mtime): new function
8968 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
8969 (GRUB_UFS_ATTR_FILE): likewise
8970 (GRUB_UFS_ATTR_LNK): likewise
8971 (struct grub_ufs_sblock): new fields mtime
8972 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
8973 all users updated
8974 (grub_ufs_dir): mtime support
8975 (grub_ufs_mtime): new function
8976 * fs/affs.c (grub_affs_dir): use new dir syntax
8977 * fs/afs.c (grub_afs_dir): likewise
8978 * fs/cpio.c (grub_cpio_dir): likewise
8979 * fs/fat.c (grub_fat_find_dir): likewise
8980 * fs/hfs.c (grub_hfs_dir): likewise
8981 * fs/iso9660.c (grub_iso9660_dir): likewise
8982 * fs/jfs.c (grub_jfs_dir): likewise
8983 * fs/minix.c (grub_minix_dir): likewise
8984 * fs/ntfs.c (grub_ntfs_dir): likewise
8985 * fs/reiserfs.c (grub_reiserfs_dir): likewise
8986 * fs/sfs.c (grub_sfs_dir): likewise
8987 * fs/xfs.c (grub_xfs_dir): likewise
8988 * util/hostfs.c (grub_hostfs_dir): likewise
8989 * lib/datetime.c: moved to ...
8990 * normal/datetime.c: ... moved here
8991 (grub_unixtime2datetime): new function
8992 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 8993 * normal/completion.c (iterate_dir): use new dir syntax
8994 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 8995 last modification time of a volume
7dd4a573 8996 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 8997 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 8998 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 8999 (normal_mod_SOURCES): likewise
9000 (datetime_mod_SOURCES): Removed lib/datetime.c
9001 * conf/i386-efi.rmk: likewise
7dd4a573 9002 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9003 * conf/i386-pc.rmk: likewise
9004 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9005 * conf/sparc64-ieee1275.rmk: likewise
9006 * conf/x86_64-efi.rmk: likewise
05aaebfb 9007
8a7e1a14 90082009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9011
9012 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9013 on grub_fat_find_dir
9014 (grub_fat_find_dir): use grub_fat_iterate_dir
9015 (grub_fat_label): likewise
9016
04186a9c 90172009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9018
7dd4a573 9019 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9020 and command.h
9021 remove extraneous kernel_elf_HEADERS
9022
da4c0bb6 90232009-04-04 Bean <bean123ch@gnail.com>
9024
9025 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9026
9027 * util/misc.c: Likewise.
9028
54ad9555 90292009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9030
9031 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9032 instead of grub_printf.
9033
7a6bf9f2 90342009-04-03 Robert Millan <rmh@aybabtu.com>
9035
9036 * loader/i386/linux.c (grub_linux_setup_video): Fill
9037 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9038 values from `mode info' structure instead of hardcoded
9039 values.
9040
3fcc2083 90412009-04-01 Pavel Roskin <proski@gnu.org>
9042
9043 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9044 unused now.
9045 * genmk.rb: Likewise.
9046 * configure.ac: Likewise.
9047
5ec9740b 90482009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9049
9050 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9051 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9052
5270cec8 90532009-04-01 David S. Miller <davem@davemloft.net>
9054
9055 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9056 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9057 (grub_setjmp): Mark with 'returns_twice' attribute.
9058 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9059 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9060 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9061
9c3dd854 90622009-04-01 Robert Millan <rmh@aybabtu.com>
9063
9064 Reapply fix from 2008-07-28 which was accidentally reverted; also
9065 perform the same fix to a similar check in same function.
9066
9067 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9068 with the same number are found, just use issue a warning with
9069 grub_dprintf(), as this error has been reported to be non-fatal.
9070
0d818b7e 90712009-03-31 Pavel Roskin <proski@gnu.org>
9072
9073 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9074 for cross-compilation.
9075
95646d92 90762009-03-30 Robert Millan <rmh@aybabtu.com>
9077
9078 Fix i386-ieee1275 build.
9079
9080 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9081 Remove declaration.
9082
6a003ed1 90832009-03-30 Pavel Roskin <proski@gnu.org>
9084
9085 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9086 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9087 zero-terminated, rely only on the strlen value. Fix comparison
9088 of strings differing in length.
9089
92f33540 90902009-03-30 Robert Millan <rmh@aybabtu.com>
9091
9092 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9093 checking for abi version. Improve error messages on BIOS to notify
9094 user about `linux16' command.
9095
a8c48fd5 90962009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9097
f968172e 9098 Leak fixes
a8c48fd5 9099
f968172e 9100 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9101 in case of collision
9102 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9103
9c323f09 91042009-03-29 Robert Millan <rmh@aybabtu.com>
9105
9106 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9107 set `vid_mode' accordingly.
9108 (grub_linux_boot): Process `vid_mode' and set video mode.
9109
ae68f423 91102009-03-29 Robert Millan <rmh@aybabtu.com>
9111
9112 * util/grub.d/10_linux.in (linux_entry): New function.
9113 Factorize generation of Linux boot entries.
9114
5709cfc4 91152009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9116
9117 Make the format of Environment Block plain text. The boot loader
9118 part is not tested well yet.
7dd4a573 9119
5709cfc4 9120 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9121 (buffer): Removed.
9122 (envblk): Likewise.
9123 (usage): Remove "info" and "clear". Add "unset". Update the
9124 description of "set", as this does not delete variables any
9125 longer.
9126 (create_envblk_file): Complete rewrite.
9127 (open_envblk_file): Likewise.
9128 (cmd_info): Removed.
9129 (cmd_list): Likewise.
9130 (cmd_set): Likewise.
9131 (cmd_clear): Likewise.
9132 (list_variables): New function.
9133 (write_envblk): Likewise.
9134 (set_variables): Likewise.
9135 (unset_variables): Likewise.
9136 (main): Complete rewrite.
9137
9138 * commands/loadenv.c (buffer): Removed.
9139 (envblk): Likewise.
9140 (open_envblk_file): New function.
9141 (read_envblk_file): Complete rewrite.
9142 (grub_cmd_load_env): Likewise.
9143 (grub_cmd_list_env): Likewise.
9144 (struct blocklist): New struct.
9145 (free_blocklists): New function.
9146 (check_blocklists): Likewise.
9147 (write_blocklists): Likewise.
9148 (grub_cmd_save_env): Complete rewrite.
9149
9150 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9151 a plain text signature.
9152 (GRUB_ENVBLK_MAXLEN): Removed.
9153 (struct grub_envblk): Complete rewrite.
9154 (grub_envblk_find): Removed.
9155 (grub_envblk_insert): Likewise.
9156 (grub_envblk_open): New prototype.
9157 (grub_envblk_set): Likewise.
9158 (grub_envblk_delete): Put const to VALUE.
9159 (grub_envblk_iterate): Put const to NAME and VALUE.
9160 (grub_envblk_close): New prototype.
9161 (grub_envblk_buffer): New inline function.
9162 (grub_envblk_size): Likewise.
9163
9164 * lib/envblk.c: Include grub/mm.h.
9165 (grub_env_find): Removed.
9166 (grub_envblk_open): New function.
9167 (grub_envblk_close): Likewise.
9168 (escaped_value_len): Likewise.
9169 (find_next_line): Likewise.
9170 (grub_envblk_insert): Removed.
9171 (grub_envblk_set): New function.
9172 (grub_envblk_delete): Complete rewrite.
9173 (grub_envblk_iterate): Likewise.
9174
a9368fd3 91752009-03-28 Robert Millan <rmh@aybabtu.com>
9176
9177 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9178 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9179 variables. Use 16-bit loader.
9180 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9181 loader.
9182 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9183 (grub_linux16_boot): ... this. Update all users.
9184 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9185 (grub_linux_boot): ... this. Update all users.
9186
9187 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9188 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9189 commands to `linux16' and `initrd16'.
9190 (GRUB_MOD_FINI(linux)): Rename to ...
9191 (GRUB_MOD_FINI(linux16)): ... this.
9192
e4dd5a7e 91932009-03-24 Pavel Roskin <proski@gnu.org>
9194
9195 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9196 not just for compilation.
9197
c04d6e05 91982009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 Move multiboot helper out of kernel
9201
9202 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9203 `loader/i386/multiboot_helper.S'.
9204 * conf/i386-coreboot.rmk: Likewise
9205 * conf/i386-ieee1275.rmk: Likewise
9206
9207 * kern/i386/loader.S: Move multiboot helpers from here...
9208 * loader/i386/multiboot_helper.S: ...moved here
9209 * include/grub/i386/loader.h: Move declarations of multiboot
9210 helpers from here...
9211 * include/grub/i386/multiboot.h: ...moved here
9212 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9213
42a5b3fc 92142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9215
9216 * kern/env.c (grub_env_context_open): Added an argument to specify
9217 whether a new context inherits exported variables from current
9218 one. This is useful when making a sandbox to interpret a config
9219 file.
9220 All callers updated.
9221
9222 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9223
b28bbc4e 92242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9225
9226 * kern/env.c (grub_env_context_close): Fix memory leaks.
9227
f04f02e4 92282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9229
9230 * normal/main.c (grub_normal_execute): Added an argument
9231 BATCH to specify if an interactive interface should be provided
9232 after reading a config file.
9233 All callers updated.
9234 (read_command_list): Prevent being executed twice.
9235 (read_fs_list): Likewise.
9236
42a5b3fc 9237 * include/grub/normal.h (grub_normal_execute): Updated the
9238 prototype.
f04f02e4 9239
41473ac2 92402009-03-22 Pavel Roskin <proski@gno.org>
9241
fbc00b0c 9242 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9243 _start.
9244 * kern/i386/pc/startup.S: Likewise.
9245 * kern/i386/efi/startup.S: Likewise.
9246 * kern/i386/ieee1275/startup.S: Likewise.
9247 * kern/i386/coreboot/startup.S: Likewise.
9248 * kern/x86_64/efi/startup.S: Likewise.
9249
41473ac2 9250 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9251 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9252 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9253
2274cc8f 92542009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9257
9258 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9259 limit detection.
9260 Use vaddr of correct segment for entry_point.
9261
b1b797cb 92622009-03-21 Bean <bean123ch@gmail.com>
9263
9264 * commands/blocklist.c: Add include file <grub/command.h>, remove
9265 <grub/normal.h> and <grub/arg.h>.
9266 (grub_cmd_blocklist): Use the new command interface.
9267 (GRUB_MOD_INIT): Likewise.
9268 (GRUB_MOD_FINI): Likewise.
9269 * commands/boot.c: Likewise.
9270 * commands/cat.c: Likewise.
9271 * commands/cmp.c: Likewise.
9272 * commands/configfile.c: Likewise.
9273 * commands/crc.c: Likewise.
9274 * commands/echo.c: Likewise.
9275 * commands/halt.c: Likewise.
9276 * commands/handler.c: Likewise.
9277 * commands/hdparm.c: Likewise.
9278 * commands/help.c: Likewise.
9279 * commands/hexdump.c: Likewise.
9280 * commands/loadenv.c: Likewise.
9281 * commands/ls.c: Likewise.
9282 * commands/lsmmap.c: Likewise.
9283 * commands/lspci.c: Likewise.
9284 * commands/loadenv.c: Likewise.
9285 * commands/read.c: Likewise.
9286 * commands/reboot.c: Likewise.
9287 * commands/search.c: Likewise.
9288 * commands/sleep.c: Likewise.
9289 * commands/test.c: Likewise.
9290 * commands/usbtest.c: Likewise.
9291 * commands/videotest.c: Likewise.
9292 * commands/i386/cpuid.c: Likewise.
9293 * commands/i386/pc/halt.c: Likewise.
9294 * commands/i386/pc/play.c: Likewise.
9295 * commands/i386/pc/pxecmd.c: Likewise.
9296 * commands/i386/pc/vbeinfo.c: Likewise.
9297 * commands/i386/pc/vbetest.c: Likewise.
9298 * commands/ieee1275/suspend.c: Likewise.
9299 * disk/loopback.c: Likewise.
9300 * font/font_cmd.c: Likewise.
9301 * hello/hello.c: Likewise.
9302 * loader/efi/appleloader.c: Likewise.
9303 * loader/efi/chainloader.c: Likewise.
9304 * loader/i386/bsd.c: Likewise.
9305 * loader/i386/efi/linux.c: Likewise.
9306 * loader/i386/ieee1275/linux.c: Likewise.
9307 * loader/i386/linux.c: Likewise.
9308 * loader/i386/pc/chainloader.c: Likewise.
9309 * loader/i386/pc/linux.c: Likewise.
9310 * loader/powerpc/ieee1275/linux.c: Likewise.
9311 * loader/multiboot_loader.c: Likewise.
9312 * term/gfxterm.c: Likewise.
9313 * term/i386/pc/serial.c: Likewise.
9314 * term/terminfo.c: Likewise.
9315
9316 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9317 * term/i386/pc/vga.c: Likewise.
9318 * video/readers/jpeg.c: Likewise.
9319 * video/readers/png.c: Likewise.
9320 * video/readers/tga.c: Likewise.
9321
9322 * util/grub-fstest (cmd_loopback): Removed.
9323 (cmd_blocklist): Likewise.
9324 (cmd_ls): Likewise.
9325 (grub_register_command): Likewise.
9326 (grub_unregister_command): Likewise.
9327 (execute_command): Use grub_command_find to locate command and execute
9328 it.
9329
9330 * include/grub/efi/chainloader.h: Removed.
9331 * loader/efi/chainloader_normal.c: Likewise.
9332 * loader/i386/bsd_normal.c: Likewise.
9333 * loader/i386/pc/chainloader_normal.c: Likewise.
9334 * loader/i386/pc/multiboot_normal.c: Likewise.
9335 * loader/linux_normal.c: Likewise.
9336 * loader/multiboot_loader_normal.c: Likewise.
9337 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9338
9339 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9340 and grub_register_command_p1.
9341
9342 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9343 kern/command.c, lib/arg.c and commands/extcmd.c.
9344 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9345 (minicmd_mod_SOURCES): New variable.
9346 (minicmd_mod_CFLAGS): Likewise.
9347 (minicmd_mod_LDFLAGS): Likewise.
9348 (extcmd_mod_SOURCES): Likewise.
9349 (extcmd_mod_CFLAGS): Likewise.
9350 (extcmd_mod_LDFLAGS): Likewise.
9351 (boot_mod_SOURCES): Removed.
9352 (boot_mod_CFLAGS): Likewise.
9353 (boot_mod_LDFLAGS): Likewise.
9354
9355 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9356 kern/corecmd.c.
9357 (kernel_img_HEADERS): Add command.h.
9358 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9359 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9360 and lib/arg.c.
9361 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9362 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9363 remove the corresponding normal mode command.
9364 (normal_mod_SOURCES): Remove normal/arg.c.
9365 * conf/i386-coreboot.rmk: Likewise.
9366 * conf/i386-efi.rmk: Likewise.
9367 * conf/i386-ieee1275.rmk: Likewise.
9368 * conf/powerpc-ieee1275.rmk: Likewise.
9369 * conf/x86_64-efi.rmk: Likewise.
9370
9371 * include/grub/arg.h: Move from here ...
9372 * include/grub/lib/arg.h: ... to here.
9373
9374 * normal/arg.c: Move from here ...
9375 * lib/arg.c: ... to here.
9376
9377 * commands/extcmd.c: New file.
9378 * commands/minicmd.c: Likewise.
9379 * include/grub/command.h: Likewise.
9380 * include/grub/extcmd.h: Likewise.
9381 * kern/command.c: Likewise.
9382 * kern/corecmd.c: Likewise.
9383
9384 * kern/list.c (grub_list_iterate): Return int instead of void.
9385 (grub_list_insert): New function.
9386 (grub_prio_list_insert): Likewise.
9387
9388 * kern/rescue.c (grub_rescue_command): Removed.
9389 (grub_rescue_command_list): Likewise.
9390 (grub_rescue_register_command): Likewise.
9391 (grub_rescue_unregister_command): Likewise.
9392 (grub_rescue_cmd_boot): Move to minicmd.c
9393 (grub_rescue_cmd_help): Likewise.
9394 (grub_rescue_cmd_info): Likewise.
9395 (grub_rescue_cmd_boot): Likewise.
9396 (grub_rescue_cmd_testload): Likewise.
9397 (grub_rescue_cmd_dump): Likewise.
9398 (grub_rescue_cmd_rmmod): Likewise.
9399 (grub_rescue_cmd_lsmod): Likewise.
9400 (grub_rescue_cmd_exit): Likewise.
9401 (grub_rescue_print_devices): Moved to corecmd.c.
9402 (grub_rescue_print_files): Likewise.
9403 (grub_rescue_cmd_ls): Likewise.
9404 (grub_rescue_cmd_insmod): Likewise.
9405 (grub_rescue_cmd_set): Likewise.
9406 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9407 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9408 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9409 commands, remove grub_rescue_register_command calls.
b1b797cb 9410
7d074e3c 9411 * normal/command.c (grub_register_command): Removed.
b1b797cb 9412 (grub_unregister_command): Likewise.
9413 (grub_command_find): Likewise.
9414 (grub_iterate_commands): Likewise.
9415 (rescue_command): Likewise.
9416 (export_command): Moved to corecmd.c.
9417 (set_command): Removed.
9418 (unset_command): Likewise.
9419 (insmod_command): Likewise.
9420 (rmmod_command): Likewise.
9421 (lsmod_command): Likewise.
9422 (grub_command_init): Likewise.
9423
9424 * normal/completion.c (iterate_command): Use cmd->prio to check for
9425 active command.
9426 (complete_arguments): Use grub_extcmd_t structure to find options.
9427 (grub_normal_do_completion): Change function grub_iterate_commands to
9428 grub_command_iterate.
9429
9430 * normal/execute.c (grub_script_execute_cmd): No need to parse
9431 argument here.
9432
9433 * normal/main.c (grub_dyncmd_dispatcher): New function.
9434 (read_command_list): Register unload commands as dyncmd.
9435 (grub_cmd_normal): Use new command interface, register rescue,
9436 unregister normal at entry, register normal, unregister rescue at exit.
9437
9438 * include/grub/list.h (grub_list_test_t): New type.
9439 (grub_list_iterate): Return int instead of void.
9440 (grub_list_insert): New function.
9441 (GRUB_AS_NAMED_LIST_P): New macro.
9442 (GRUB_AS_PRIO_LIST): Likewise.
9443 (GRUB_AS_PRIO_LIST_P): Likewise.
9444 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9445 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9446 (grub_prio_list): New structure.
9447 (grub_prio_list_insert): New function.
9448 (grub_prio_list_remove): New inline function.
9449
9450 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9451 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9452 (GRUB_COMMAND_FLAG_MENU): Likewise.
9453 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9454 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9455 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9456 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9457 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9458 (grub_command): Likewise.
9459 (grub_register_command): Likewise.
9460 (grub_command_find): Likewise.
9461 (grub_iterate_commands): Likewise.
9462 (grub_command_init): Likewise.
9463 (grub_arg_parse): Likewise.
9464 (grub_arg_show_help): Likewise.
9465
9466 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9467 (grub_rescue_unregister_command): Likewise.
9468
9469 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9470 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9471 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9472
9473 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9474 grub_rescue_cmd_initrd.
9475 * include/grub/i386/loader.h: Likewise.
9476 * include/grub/x86_64/loader.h: Likewise.
9477
9478 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9479
1f4147aa 94802009-03-21 Bean <bean123ch@gmail.com>
9481
9482 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9483 instead of stat in mingw environment.
9484
9485 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9486
9487 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9488
9489 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9490 AC_CONFIG_LINKS.
9491
2156d5ba 94922009-03-21 Bean <bean123ch@gmail.com>
9493
9494 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9495 out of range error.
9496
177b82ca 94972009-03-18 Michel Dänzer <michel@daenzer.net>
9498
9499 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9500 checking inode flags for EXT4_EXTENTS_FLAG.
9501
14aad807 95022009-03-18 Robert Millan <rmh@aybabtu.com>
9503
9504 * loader/i386/linux.c: Include `<grub/video.h>' and
9505 `<grub/i386/pc/vbe.h>'..
9506 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9507 (grub_linux32_boot): Attempt to configure video settings with
9508 grub_linux_setup_video().
9509 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9510 to avoid grub_console_fini() which would step out of graphical mode
9511 unconditionally.
9512
8cf83a27 95132009-03-14 Robert Millan <rmh@aybabtu.com>
9514
9515 Fix build on powerpc.
9516 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9517
40164e75 95182009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9521 background image command.
9522
c58bc32a 95232009-03-12 Colin D Bennett <colin@gibibit.com>
9524
9525 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9526 (grub_gfxterm_putchar): Extract pairs of identical calls to
9527 draw_cursor out of conditional blocks.
9528
5415144a 95292009-03-11 Pavel Roskin <proski@gnu.org>
9530
9531 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9532 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9533
6394042e 95342009-03-11 Robert Millan <rmh@aybabtu.com>
9535
9536 * loader/i386/multiboot_elfxx.c
9537 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
9538
b7b50e5f 95392009-03-11 Felix Zielcke <fzielcke@z-51.de>
9540
9541 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
9542 `kern/handler.c'.
9543
1ca7fc96 95442009-03-11 Robert Millan <rmh@aybabtu.com>
9545
9546 * loader/i386/multiboot.c (code_size): New variable.
9547 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 9548 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 9549 4-byte alignment to MBI and others by increasing
7d074e3c 9550 `boot_loader_name_length' appropriately.
1ca7fc96 9551
9552 * loader/i386/multiboot_elfxx.c
9553 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
9554
a83ea1d2 95552009-03-09 Felix Zielcke <fzielcke@z-51.de>
9556
9557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
9558 `fs/ext2.c'.
9559
aa9f3bff 95602009-03-08 Robert Millan <rmh@aybabtu.com>
9561
9562 Make loader/i386/linux.c usable on i386-pc again.
9563
9564 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
9565 memory to heap.
9566 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
9567 `#error' stanza.
9568
d8b3b60e 95692009-03-07 Bean <bean123ch@gmail.com>
9570
9571 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
9572 allocation.
9573
b362c9e9 95742009-03-06 Robert Millan <rmh@aybabtu.com>
9575
9576 Fix display issue on terminals with screen size other than 80x25
9577 (e.g. gfxterm with resolution higher than 640x480).
9578
9579 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 9580 position relative to the center of the terminal instead of relying
b362c9e9 9581 on a hardcoded offset.
9582
9304eef1 95832009-03-04 Robert Millan <rmh@aybabtu.com>
9584
9585 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
9586 installed.
9587
9588 * Makefile.in (host_kernel): New variable.
9589 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
9590 scripts instead of just the windows one.
9591 * configure.ac: Initialize and AC_SUBST `host_kernel'.
9592
eabc95fb 95932009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 9594
9595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
9596 `kern/handler.c'.
9597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9598 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9599 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9601 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9602 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9603
ceb1223c 96042009-03-04 Felix Zielcke <fzielcke@z-51.de>
9605
9606 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
9607 or if there's no space for the disk label and print the partition number on a
9608 invalid magic.
9609
4910684a 96102009-03-04 Felix Zielcke <fzielcke@z-51.de>
9611
9612 * util/misc.c: Include <time.h>.
9613 (grub_millisleep): New function.
9614
7e9ca17a 96152009-03-04 Bean <bean123ch@gmail.com>
9616
9617 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
9618 another option -mno-red-zone.
9619
9620 * commands/handler.c: Change module description.
9621
9622 * kern/handler.c: Add missing space at the end of description line.
9623
9624 * kern/list.c: Likewise.
9625
f501677c 96262009-03-03 Robert Millan <rmh@aybabtu.com>
9627
9628 Move more components to the relocation area, and fix mbi pointer
9629 handling to use the destination rather than the origin (thanks to
9630 Vladimir Serbinenko for spotting).
9631
9632 * loader/i386/multiboot.c (mbi_dest): New variable.
9633 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
9634 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
9635 relocation area.
9636
9902d047 96372009-03-01 Bean <bean123ch@gmail.com>
9638
50fb7002 9639 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 9640 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
9641 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
9642 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
9643
9644 * loader/i386/efi/linux.c (acpi_guid): New variable.
9645 (acpi_guid): Likewise.
9646 (EBDA_SEG_ADDR): New constant.
9647 (LOW_MEM_ADDR): Likewise.
9648 (FAKE_EBDA_SEG): Likewise.
9649 (fake_bios_data): New function.
9650 (grub_linux_boot): Call fake_bios_data.
9651
71b9f361 96522009-03-01 Bean <bean123ch@gmail.com>
9653
9654 * commands/terminal.c: Removed.
9655
9656 * commands/handler.c: New file.
9657
9658 * include/grub/list.h: Likewise.
9659
9660 * include/grub/handler.h: Likewise.
9661
9662 * kern/list.c: Likewise.
9663
9664 * kern/handler.c: Likewise.
9665
9666 * kern/term.h: Include header file <grub/handler.h>.
9667 (grub_term_input): Move next field to the beginning.
9668 (grub_term_output): Likewise.
9669 (grub_term_input_class): New variable.
9670 (grub_term_output_class): Likewise.
9671 (grub_term_register_input): Changed to inline function.
9672 (grub_term_register_output): Likewise.
9673 (grub_term_unregister_input): Likewise.
9674 (grub_term_unregister_output): Likewise.
9675 (grub_term_set_current_input): Likewise.
9676 (grub_term_set_current_output): Likewise.
9677 (grub_term_get_current_input): Likewise.
9678 (grub_term_get_current_output): Likewise.
9679 (grub_term_iterate_input): Removed.
9680 (grub_term_iterate_output): Likewise.
9681
9682 * kern/term.c (grub_term_list_input): Removed.
9683 (grub_term_list_output): Likewise.
9684 (grub_term_input_class): New variable.
9685 (grub_term_output_class): Likewise.
50fb7002 9686 (grub_cur_term_input): Change variable as macro.
71b9f361 9687 (grub_cur_term_output): Likewise.
9688 (grub_term_register_input): Removed.
9689 (grub_term_register_output): Likewise.
9690 (grub_term_unregister_input): Likewise.
9691 (grub_term_unregister_output): Likewise.
9692 (grub_term_set_current_input): Likewise.
9693 (grub_term_set_current_output): Likewise.
9694 (grub_term_iterate_input): Likewise.
9695 (grub_term_iterate_output): Likewise.
9696 (grub_term_get_current_input): Likewise.
9697 (grub_term_get_current_output): Likewise.
9698
9699 * util/grub-editenv.c: Include header file <grub/handler.h>.
9700 (grub_term_get_current_input): Removed.
9701 (grub_term_get_current_output): Likewise.
9702 (grub_term_input_class): New variable.
50fb7002 9703 (grub_term_output_class): Likewise.
71b9f361 9704
9705 * util/grub-fstest.c (grub_term_get_current_input): Removed.
9706 (grub_term_get_current_output): Likewise.
9707 (grub_term_input_class): New variable.
50fb7002 9708 (grub_term_output_class): Likewise.
71b9f361 9709
9710 * util/grub-probe.c (grub_term_get_current_input): Removed.
9711 (grub_term_get_current_output): Likewise.
9712 (grub_term_input_class): New variable.
50fb7002 9713 (grub_term_output_class): Likewise.
71b9f361 9714
9715 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
9716 (grub_term_get_current_output): Likewise.
9717 (grub_term_input_class): New variable.
50fb7002 9718 (grub_term_output_class): Likewise.
71b9f361 9719
9720 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
9721 (terminal_mod_SOURCES): Likewise.
9722 (terminal_mod_CFLAGS): Likewise.
9723 (terminal_mod_LDFLAGS): Likewise.
9724
9725 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
9726 handler.c.
9727 (kernel_img_SOURCES): Add list.c and handler.c.
9728 (kernel_img_HEADERS): Add list.h and handler.h.
9729
9730 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9731 handler.c.
9732 (kernel_mod_SOURCES): Add list.c and handler.c.
9733 (kernel_mod_HEADERS): Add list.h and handler.h.
9734
9735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
9736 handler.c.
9737 (kernel_elf_SOURCES): Add list.c and handler.c.
9738 (kernel_elf_HEADERS): Add list.h and handler.h.
9739
9740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9741 handler.c.
9742 (kernel_elf_SOURCES): Add list.c and handler.c.
9743 (kernel_elf_HEADERS): Add list.h and handler.h.
9744
9745 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9746 handler.c.
9747 (kernel_mod_SOURCES): Add list.c and handler.c.
9748 (kernel_mod_HEADERS): Add list.h and handler.h.
9749
9750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9751 handler.c.
9752 (kernel_elf_SOURCES): Add list.c and handler.c.
9753 (kernel_elf_HEADERS): Add list.h and handler.h.
9754
8a31787f 97552009-02-27 Robert Millan <rmh@aybabtu.com>
9756
9757 Factorize elf32 / elf64 code in Multiboot loader. This will
9758 prevent it from getting out of sync again.
9759
9760 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
9761 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
9762 grub_multiboot_load_elf64): Move from here ...
9763 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
9764 grub_multiboot_load_elf): ... to here (new file).
9765
51cd3dfc 97662009-02-27 Robert Millan <rmh@aybabtu.com>
9767
9768 * util/grub.d/10_linux.in: Rename "single-user mode" to
9769 "recovery mode".
9770
6e8c9c3a 97712009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 Don't leak in SCSI code.
9774 * disk/scsi.c (grub_scsi_close): free `scsi'.
9775
4b6bf4f9 97762009-02-27 Robert Millan <rmh@aybabtu.com>
9777
9778 * loader/i386/pc/multiboot.c: Move from here ...
9779 * loader/i386/multiboot.c: ... to here. Update all users.
9780
b9413424 97812009-02-27 Robert Millan <rmh@aybabtu.com>
9782
9783 Patch from Alexandre Bique <bique.alexandre@gmail.com>
9784 * util/i386/pc/grub-setup.c (setup): Fix directory path.
9785
50fb7002 97862009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 9787
9788 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
9789 b-tree.
9790
8cc50345 97912009-02-27 Robert Millan <rmh@aybabtu.com>
9792
9793 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
9794 `0x' qualifier as 0 when base is specified as parameter).
9795
6e09b8b7 97962009-02-24 Bean <bean123ch@gmail.com>
9797
9798 * configure.ac: Check for -mcmodel=large in x86_64 target.
9799
9800 * include/grub/efi/api.h (efi_call_10): New macro.
9801 (efi_wrap_10): New function.
9802
9803 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
9804 (GRUB_PE32_REL_BASED_HIGH): Likewise.
9805 (GRUB_PE32_REL_BASED_LOW): Likewise.
9806 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
9807 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
9808 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
9809 (GRUB_PE32_REL_BASED_SECTION): Likewise.
9810 (GRUB_PE32_REL_BASED_REL): Likewise.
9811 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
9812 (GRUB_PE32_REL_BASED_DIR64): Likewise.
9813 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
9814
9815 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
9816 issue.
9817
9818 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
9819 (efi_wrap_10): New function.
9820
9821 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
9822
9823 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
9824 MB/MBP model (NV chipset).
9825 (devdata_devs): Add devpath_5 to the list.
9826
9827 * load/i386/efi/linux.c (video_base): Remove variable.
9828 (RGB_MASK): New macro.
9829 (RGB_MAGIC): Likewise.
9830 (LINE_MIN): Likewise.
9831 (LINE_MAX): Likewise.
9832 (FBTEST_STEP): Likewise.
9833 (FBTEST_COUNT): Likewise.
9834 (fb_list): New variable.
9835 (grub_find_video_card): Remove function.
9836 (find_framebuf): New function.
9837 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
9838 line length.
9839
9840 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
9841 problem for x86_64.
9842
74b21bee 98432009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
9844
9845 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
9846
9847 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
9848 coding tool name.
9849
a455f472 98502009-02-22 Robert Millan <rmh@aybabtu.com>
9851
9852 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
9853 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
9854 in our relocation, instead of using it directly from heap. Also
9855 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
9856
6374daf3 98572009-02-21 Robert Millan <rmh@aybabtu.com>
9858
9859 Implement USB keyboard support (based on patch by Marco Gerards)
9860
9861 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
9862 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
9863 (usb_keyboard_mod_LDFLAGS): New variables.
9864
9865 * term/usb_keyboard.c: New file.
9866
8fa4ea70 98672009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Corrected wrong declaration
9870
9871 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
9872
353976ac 98732009-02-14 Christian Franke <franke@computer.org>
9874
9875 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
9876 (grub_lspci_iter): Print class code and programming interface byte.
9877
6aa1169b 98782009-02-14 Christian Franke <franke@computer.org>
9879
9880 * gendistlist.sh: Ignore `.svn' directories.
9881
265372ca 98822009-02-14 Felix Zielcke <fzielcke@z-51.de>
9883
9884 * fs/fat.c: Add 2009 to Copyright line.
9885
9ff516f3 98862009-02-14 Christian Franke <franke@computer.org>
9887
9888 * commands/hdparm.c: New file. Provides `hdparm' command
9889 which sends ATA commands via grub_disk_ata_pass_through ().
9890
9891 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
9892
9893 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
9894 and <grub/cpu/io.h> to include/grub/ata.h.
9895 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
9896 (GRUB_CDROM_SECTOR_SIZE): Remove.
9897 (GRUB_ATA_*): Move to include/grub/ata.h.
9898 (GRUB_ATAPI_*): Likewise.
9899 (enum grub_ata_commands): Likewise.
9900 (enum grub_ata_timeout_milliseconds): Likewise.
9901 (struct grub_ata_device): Likewise.
9902 (grub_ata_regset): Likewise.
9903 (grub_ata_regget): Likewise.
9904 (grub_ata_regset2): Likewise.
9905 (grub_ata_regget2): Likewise.
9906 (grub_ata_check_ready): Likewise.
9907 (grub_ata_wait_not_busy): Remove static, exported in
9908 include/grub/ata.h.
9909 (grub_ata_wait_drq): Likewise.
9910 (grub_ata_pio_read): Likewise.
9911
9912 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
9913 function for hdparm.mod.
9914
9915 * include/grub/ata.h: New file, contains declarations from
9916 disk/ata.c.
9917 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
9918
9919 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
9920 (grub_disk_ata_pass_through): New exported variable.
9921
9922 * kern/disk.c (grub_disk_ata_pass_through): New variable.
9923
772e23da 99242009-02-13 Colin D Bennett <colin@gibibit.com>
9925
9926 Support multiple fallback entries, and provide an API to support
9927 executing default+fallback menu entries. Renamed the `terminal' menu
9928 viewer to `text'.
9929
9930 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
9931 variable declaration.
9932 (grub_menu_execute_callback): New structure declaration.
9933 (grub_menu_execute_callback_t): New typedef.
9934 (grub_menu_execute_with_fallback): New function declaration.
9935 (grub_menu_get_entry): Likewise.
9936 (grub_menu_get_timeout): Likewise.
9937 (grub_menu_set_timeout): Likewise.
9938
9939 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
9940
9941 * normal/menu.c (grub_wait_after_message): Moved to
9942 `normal/menu_text.c'.
9943 (draw_border): Likewise.
9944 (print_message): Likewise.
9945 (print_entry): Likewise.
9946 (print_entries): Likewise.
9947 (grub_menu_init_page): Likewise.
9948 (get_entry_number): Likewise.
9949 (print_timeout): Likewise.
9950 (run_menu): Likewise.
9951 (grub_menu_execute_entry): Likewise.
9952 (show_text_menu): Likewise.
9953 (get_and_remove_first_entry_number): New function.
9954 (grub_menu_execute_with_fallback): Likewise.
9955 (get_entry): Renamed to ...
9956 (grub_menu_get_entry): .. this and made it global.
9957 (get_timeout): Renamed to ...
9958 (grub_menu_get_timeout): ... this and made it global.
9959 (set_timeout): Renamed to ...
9960 (grub_menu_set_timeout): ... this and made it global.
9961 (grub_normal_terminal_menu_viewer): Renamed to ...
9962 (grub_normal_text_menu_viewer): ... this.
9963
9964 * normal/menu_text.c: New file. Extracted text-menu-specific code
9965 from normal/menu.c.
9966
9967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
9968 (normal_mod_SOURCES): Likewise.
9969
9970 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9971 (normal_mod_SOURCES): Likewise.
9972
9973 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9974 (normal_mod_SOURCES): Likewise.
9975
9976 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
9977 (normal_mod_SOURCES): Likewise.
9978
9979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9980 (normal_mod_SOURCES): Likewise.
9981
9982 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9983 (normal_mod_SOURCES): Likewise.
9984
9985 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9986 (normal_mod_SOURCES): Likewise.
9987
16ac430e 99882009-02-11 Robert Millan <rmh@aybabtu.com>
9989
9990 * util/grub.d/00_header.in: Update old reference to `font' command.
9991
06ff20fc 99922009-02-10 Felix Zielcke <fzielcke@z-51.de>
9993
9994 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
9995
9996 Based on patch from Javier MartĂ­n.
9997
96da9407 99982009-02-09 Felix Zielcke <fzielcke@z-51.de>
9999
10000 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10001 to avoid false positives with FAT.
96da9407 10002 (grub_fstest_SOURCES): Likewise.
10003 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10004 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10006 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10008 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10009
6dca6fe4 100102009-02-09 Felix Zielcke <fzielcke@z-51.de>
10011
06ff20fc 10012 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10013 bpb.version_specific.fat12_or_fat16.fstype and
10014 bpb.version_specific.fat32.fstype.
10015
2550c62f 100162009-02-08 Robert Millan <rmh@aybabtu.com>
10017
be110b30 10018 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10019
56978920 100202009-02-08 Robert Millan <rmh@aybabtu.com>
10021
10022 * Makefile.in (host_os, host_cpu): New variables.
10023 (target_os): Remove. Update all users.
10024
d64399b5 100252009-02-08 Marco Gerards <marco@gnu.org>
10026
10027 * Makefile.in (enable_grub_emu_usb): New variable.
10028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10029 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10030 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10031 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10032 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10033 `usbtest.mod' and `usbms.mod'.
10034 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10035 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10036 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10037 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10038 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10039 variables.
10040
10041 * disk/usbms.c: New file.
10042
10043 * include/grub/usb.h: Likewise.
10044
10045 * include/grub/usbtrans.h: Likewise.
10046
10047 * include/grub/usbdesc.h: Likewise.
10048
10049 * bus/usb/usbtrans.c: Likewise.
10050
10051 * bus/usb/ohci.c: Likewise.
10052
10053 * bus/usb/uhci.c: Likewise.
10054
10055 * bus/usb/usbhub.c: Likewise.
10056
10057 * bus/usb/usb.c: Likewise.
10058
10059 * commands/usbtest.c: Likewise.
10060
10061 * util/usb.c: Likewise.
50fb7002 10062
d64399b5 10063 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10064
10065 * configure.ac: Test for libusb presence.
50fb7002 10066
d64399b5 10067 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10068
2b40d6bb 100692009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10070
10071 * kern/mm.c: Add more comments.
10072
73a4ce81 100732009-02-08 Robert Millan <rmh@aybabtu.com>
10074
10075 Patch from Javier MartĂ­n.
10076 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10077 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10078
f821ce59 100792009-02-08 Robert Millan <rmh@aybabtu.com>
10080
10081 * fs/cpio.c: Split tar functionality to ...
10082 * fs/tar.c: ... here (new file). Update all users.
10083
aebfc4b0 100842009-02-07 Robert Millan <rmh@aybabtu.com>
10085
10086 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10087 backward-incompatible features.
10088
10089 Based on patch from Javier MartĂ­n, with some adjustments.
10090
50fb7002 100912009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10092
10093 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10094
0bb5115e 100952009-02-07 Robert Millan <rmh@aybabtu.com>
10096
10097 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10098 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10099 after the RAID stuff.
10100
38a0f8e7 101012009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10102
50fb7002 10103 Fixes problem when running vbetest command as reported by
38a0f8e7 10104 Vladimir Serbinenko <phcoder@gmail.com>.
10105
10106 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10107
3143cc1c 101082009-02-04 Felix Zielcke <fzielcke@z-51.de>
10109
10110 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10111 /dev/md/NpN style mdraid devices.
10112
9cba6fce 101132009-02-03 Felix Zielcke <fzielcke@z-51.de>
10114
10115 * util/unifont2pff.rb: Remove.
10116
e507a2c1 101172009-02-03 Felix Zielcke <fzielcke@z-51.de>
10118
10119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10120 `#'.
10121
d2c2b4cd 101222009-02-03 Felix Zielcke <fzielcke@z-51.de>
10123
10124 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10125 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10127 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10130 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10131
b4315fb0 101322009-02-02 Christian Franke <franke@computer.org>
10133
10134 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10135
de3aa260 101362009-02-01 Felix Zielcke <fzielcke@z-51.de>
10137
7c3ff286 10138 * INSTALL: Note that we now require at least autoconf 2.59 and
10139 that LZO is optional.
de3aa260 10140
825a182b 101412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10142
10143 Base on patch on bug #24154 created by Tomas Tintera
10144 <trosos@seznam.cz>.
10145
10146 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10147
a69ef770 101482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10149
7c3ff286 10150 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10151 <bero@arklinux.org>.
10152
10153 * normal/parser.y (script_init): Add missing semicolon.
10154
6fa42fa6 101552009-01-31 Colin D Bennett <colin@gibibit.com>
10156
7c3ff286 10157 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10158 (free_menu_entry_classes): Added.
10159 (grub_normal_menu_addentry): Added class property handling.
10160 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10161 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10162
10163 * normal/menu_viewer.c: New file.
10164
10165 * normal/menu.c (run_menu_entry): Renamed to ...
10166 (grub_menu_execute_entry): ... this and made it as global.
10167 (grub_menu_run): Renamed to ...
10168 (show_text_menu): ... this and made it local.
10169 (show_text_menu): Adapt to new function names.
10170 (grub_normal_terminal_menu_viewer): New global variable.
10171
10172 * include/grub/menu.h: New file.
10173
10174 * include/grub/menu_viewer.h: New file.
10175
10176 * include/grub/normal.h: Added include to grub/menu.h.
10177 (grub_menu_entry): Moved to include/grub/menu.h.
10178 (grub_menu_entry_t): Likewise.
10179 (grub_menu): Likewise.
10180 (grub_menu_t): Likewise.
10181 (grub_normal_terminal_menu_viewer): Added.
10182 (grub_menu_execute_entry): Likewise.
10183 (grub_menu_run): Removed.
10184
10185 * DISTLIST: Added include/grub/menu.h.
10186 Added include/grub/menu_viewer.h.
10187 Added normal/menu_viewer.c.
10188
101892009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10190
10191 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10192 arglist for menutitle arguments.
10193
10194 * normal/main.c (grub_normal_menu_addentry): Likewise.
10195
10196 * normal/parser.y (menuentry): Likewise.
10197
10198 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10199
10200 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10201 (grub_script_create_cmdmenu): Likewise.
10202
10203 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10204
10205 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10206 changes.
10207
10208 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10209
10210 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10211
10212 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10213
10214 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10215
10216 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10217
10218 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10219
56192c23 102202009-01-30 Christian Franke <franke@computer.org>
10221
10222 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10223 in option help text.
10224
d72521b3 102252009-01-27 Pavel Roskin <proski@gnu.org>
10226
10227 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10228
994b5e84 102292009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10230
10231 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10232
10233 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10234
10235 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10236 unregister function.
10237
6a7eab2c 102382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10239
10240 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10241
10242 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10243
10244 * util/grub-mkfont.c (usage): Fix typo.
10245
10246 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10247
1806b56e 102482009-01-26 Daniel Mierswa <impulze@impulze.org>
10249
3fb18f09 10250 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10251
336e1fb9 10252 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10253
1806b56e 10254 * kern/misc.c (grub_strcasecmp): New function.
10255 (grub_strcasecmp): Use grub_size_t instead of int for length.
10256 Fix return value.
10257 * include/grub/misc.h: Update function prototypes.
10258
580b2a0f 102592009-01-26 Robert Millan <rmh@aybabtu.com>
10260
10261 * configure.ac: Fix cross-compilation check.
ef257b36 10262
d31c24f1 102632009-01-22 Christian Franke <franke@computer.org>
10264
10265 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10266 (precision) digit string. Allow `.format2' without `format1' (width).
10267 Limit input chars for `%s' output to `format2' if specified. This is
10268 compatible with standard printf ().
10269
3138b44c 102702009-01-22 Christian Franke <franke@computer.org>
10271
10272 * disk/ata.c (grub_ata_wait_status): Replace by ...
10273 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10274 other status bits may be invalid while BSY is asserted.
10275 (grub_ata_check_ready): New function.
10276 (grub_ata_cmd): Removed.
10277 (grub_ata_wait_drq): New function.
10278 (grub_ata_strncpy): Remove inline.
10279 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10280 and error check now done by grub_ata_wait_drq ().
10281 (grub_ata_pio_write): Likewise.
10282 (grub_atapi_identify): Set DEV before check for !BSY. Use
10283 grub_ata_wait_drq () to wait for data.
10284 (grub_ata_device_initialize): Add status register check to
10285 detect missing SATA slave devices. Add debug messages.
10286 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10287 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10288 transfer loop by grub_ata_pio_write ().
10289 (grub_ata_identify): Set DEV before check for !BSY. Use
10290 grub_ata_wait_drq () to wait for data.
ef257b36 10291 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10292 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10293 read/write in one loop. Fix invalid command on write. Fix incomplete
10294 command on (size % batch) == 0. Add missing error check after write of
10295 last block. Add debug messages.
10296 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10297
59a64ef6 102982009-01-19 Christian Franke <franke@computer.org>
10299
10300 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10301 (GRUB_ATAPI_IREASON_*): Likewise.
10302 (grub_ata_pio_write): Fix timeout error return.
10303 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10304 (grub_atapi_wait_drq): New function.
10305 (grub_atapi_packet): New parameter `size'.
10306 Use grub_atapi_wait_drq () and direct write instead of
10307 grub_ata_pio_write ().
10308 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10309 reads the number of bytes requested by the device for each DRQ
10310 assertion.
10311 (grub_atapi_write): Remove old implementation, return not
10312 implemented instead.
10313
1cfe20b3 103142009-01-19 Christian Franke <franke@computer.org>
10315
10316 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10317 of 512 to calculate data size.
10318 (grub_scsi_read12): Likewise.
10319 (grub_scsi_write10): Likewise.
10320 (grub_scsi_write12): Likewise.
10321 (grub_scsi_read): Adjust size according to blocksize.
10322 Add checks for invalid blocksize and unaligned transfer.
10323
bee5fe5d 103242009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10325
10326 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10327
ef257b36 10328 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10329 width glyphs.
10330
3e643f8c 103312009-01-19 Robert Millan <rmh@aybabtu.com>
10332
10333 * config.guess: Update to latest version from config git.
10334 * config.sub: Likewise.
10335
4fa80998 103362009-01-17 Felix Zielcke <fzielcke@z-51.de>
10337
10338 * Makefile.in: Change font compilation to use new grub-mkfont instead
10339 of java version.
10340
10341 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10342 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10343 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10344 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10345 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10346 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10347 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10348 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10349 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10350
7086085b 103512009-01-16 Christian Franke <franke@computer.org>
10352
10353 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10354 (enum grub_ata_timeout_milliseconds): New enum.
10355 (grub_ata_wait_status): Add parameter milliseconds.
10356 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10357 recovery from timed-out commands.
10358 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10359 return grub_errno instead of REG_ERROR.
10360 (grub_ata_pio_write): Add parameter milliseconds.
10361 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10362 Pass milliseconds to grub_ata_wait_status () and
10363 grub_ata_pio_read ().
10364 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10365 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10366 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10367 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10368 It is not suitable for device detection, because DEV bit is ignored,
10369 the command may run too long, and not all devices set the signature
10370 properly.
10371 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10372 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10373 Fix device selection, DEV bit must be set first to address the registers
10374 of the correct device.
10375 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10376 grub_ata_pio_read/write ().
10377 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10378 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10379
4a412913 103802009-01-13 Carles Pina i Estany <carles@pina.cat>
10381
10382 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10383
7795c55e 103842009-01-13 Bean <bean123ch@gmail.com>
d913988c 10385
10386 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10387
7795c55e 103882009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10389
10390 * Makefile.in: (enable_grub_mkfont): New variable.
10391 (freetype_cflags): Likewise.
10392 (freetype_libs): Likewise.
10393
10394 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10395 (grub_mkfont_SOURCES): New variable.
10396 (grub_mkfont_CFLAGS): Likewise.
10397 (grub_mkfont_LDFLAGS): Likewise.
10398
10399 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10400 library if `--enable-grub-mkfont' is requested.
10401 (enable_grub_mkfont): New variable.
10402 (freetype_cflags): Likewise.
10403 (freetype_libs): Likewise.
10404
10405 * util/grub-mkfont.c: New file.
10406
093af1fe 104072009-01-12 Christian Franke <franke@computer.org>
10408
10409 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10410 mode check. Fix setting of compat_use[].
10411
f36cc108 104122009-01-10 Robert Millan <rmh@aybabtu.com>
10413
10414 Update a few copyright years which we forgot to do in 2008 (only for
10415 files whose changes made in 2008 were copyright-significant)
10416
10417 * Makefile.in: Add 2008 to Copyright line.
10418 * disk/ieee1275/ofdisk.c: Likewise.
10419 * disk/efi/efidisk.c: Likewise.
10420 * kern/dl.c: Likewise.
10421 * kern/sparc64/ieee1275/init.c: Likewise.
10422 * kern/mm.c: Likewise.
10423 * kern/efi/mm.c: Likewise.
10424 * boot/i386/pc/boot.S: Likewise.
10425 * genfslist.sh: Likewise.
10426 * fs/iso9660.c: Likewise.
10427 * fs/hfs.c: Likewise.
10428 * fs/jfs.c: Likewise.
10429 * fs/minix.c: Likewise.
10430 * fs/ufs.c: Likewise.
10431 * gensymlist.sh.in: Likewise.
10432 * genkernsyms.sh.in: Likewise.
10433 * include/grub/misc.h: Likewise.
10434 * include/grub/types.h: Likewise.
10435 * include/grub/symbol.h: Likewise.
10436 * include/grub/elf.h: Likewise.
10437 * include/grub/kernel.h: Likewise.
10438 * include/grub/disk.h: Likewise.
10439 * include/grub/dl.h: Likewise.
10440 * include/grub/i386/linux.h: Likewise.
10441 * include/grub/i386/pc/biosdisk.h: Likewise.
10442 * include/grub/efi/api.h: Likewise.
10443 * include/grub/efi/pe32.h: Likewise.
10444 * include/grub/util/misc.h: Likewise.
10445 * normal/execute.c: Likewise.
10446 * normal/arg.c: Likewise.
10447 * normal/completion.c: Likewise.
10448 * normal/lexer.c: Likewise.
10449 * normal/parser.y: Likewise.
10450 * normal/misc.c: Likewise.
10451 * commands/i386/pc/vbeinfo.c: Likewise.
10452 * commands/hexdump.c: Likewise.
10453 * commands/terminal.c: Likewise.
10454 * commands/ls.c: Likewise.
10455 * commands/help.c: Likewise.
10456 * partmap/pc.c: Likewise.
10457 * loader/efi/chainloader.c: Likewise.
10458 * loader/multiboot_loader.c: Likewise.
10459 * loader/i386/pc/multiboot2.c: Likewise.
10460 * term/efi/console.c: Likewise.
10461 * term/i386/pc/serial.c: Likewise.
10462 * util/lvm.c: Likewise.
10463 * util/console.c: Likewise.
10464 * util/i386/efi/grub-mkimage.c: Likewise.
10465 * util/raid.c: Likewise.
10466
7f02114b 104672009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10468
10469 * commands/videotest.c: Removed include to grub/machine/memory.h.
10470
10471 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10472 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10473 (video_mod_SOURCES): Removed.
10474 (video_mod_CFLAGS): Likewise.
10475 (video_mod_LDFLAGS): Likewise.
10476 (gfxterm_mod_SOURCES): Likewise.
10477 (gfxterm_mod_CFLAGS): Likewise.
10478 (gfxterm_mod_LDFLAGS): Likewise.
10479 (videotest_mod_SOURCES): Likewise.
10480 (videotest_mod_CFLAGS): Likewise.
10481 (videotest_mod_LDFLAGS): Likewise.
10482 (bitmap_mod_SOURCES): Likewise.
10483 (bitmap_mod_CFLAGS): Likewise.
10484 (bitmap_mod_LDFLAGS): Likewise.
10485 (tga_mod_SOURCES): Likewise.
10486 (tga_mod_CFLAGS): Likewise.
10487 (tga_mod_LDFLAGS): Likewise.
10488 (jpeg_mod_SOURCES): Likewise.
10489 (jpeg_mod_CFLAGS): Likewise.
10490 (jpeg_mod_LDFLAGS): Likewise.
10491 (png_mod_SOURCES): Likewise.
10492 (png_mod_CFLAGS): Likewise.
10493 (png_mod_LDFLAGS): Likewise.
10494
10495 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10496 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10497 (video_mod_SOURCES): Added.
10498 (video_mod_CFLAGS): Likewise.
10499 (video_mod_LDFLAGS): Likewise.
10500 (videotest_mod_SOURCES): Likewise.
10501 (videotest_mod_CFLAGS): Likewise.
10502 (videotest_mod_LDFLAGS): Likewise.
10503 (bitmap_mod_SOURCES): Likewise.
10504 (bitmap_mod_CFLAGS): Likewise.
10505 (bitmap_mod_LDFLAGS): Likewise.
10506 (tga_mod_SOURCES): Likewise.
10507 (tga_mod_CFLAGS): Likewise.
10508 (tga_mod_LDFLAGS): Likewise.
10509 (jpeg_mod_SOURCES): Likewise.
10510 (jpeg_mod_CFLAGS): Likewise.
10511 (jpeg_mod_LDFLAGS): Likewise.
10512 (png_mod_SOURCES): Likewise.
10513 (png_mod_CFLAGS): Likewise.
10514 (png_mod_LDFLAGS): Likewise.
10515 (gfxterm_mod_SOURCES): Likewise.
10516 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10517 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10518
10519 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10520 grub/machine/console.h.
10521
644fff97 105222009-01-04 Jerone Young <jerone@gmail.com>
10523
10524 Make on screen instructions clearer
10525
10526 Based on patch created by Jidanni <jidanni@jidanni.org>
10527
10528 * normal/menu.c: print clearer instructions on the screen
10529
1e901a75 105302009-01-02 Colin D Bennett <colin@gibibit.com>
10531
10532 New font engine.
34c44600 10533
1e901a75 10534 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10535 build system and fixed gfxterm.c to work with different sized fonts.
10536
10537 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 10538
1e901a75 10539 * configure: Re-generated.
34c44600 10540
1e901a75 10541 * DISTLIST: Removed font/manager.c.
10542 Added font/font.c.
10543 Added font/font_cmd.c.
34c44600 10544
1e901a75 10545 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
10546 compilation.
34c44600 10547
1e901a75 10548 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 10549
10550 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 10551
10552 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 10553
1e901a75 10554 * normal/menu.c: Likewise.
34c44600 10555
1e901a75 10556 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
10557 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 10558
1e901a75 10559 * include/grub/font.h: Replaced with new file.
34c44600 10560
1e901a75 10561 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
10562 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
10563 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
10564 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
10565 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 10566 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 10567 fg_red, fg_green, fg_blue, fg_alpha.
10568 (grub_video_adapter): Removed blit_glyph.
34c44600 10569 (grub_video_blit_glyph): Removed.
10570
1e901a75 10571 * font/manager.c: Removed file.
34c44600 10572
10573 * font/font.c: New file.
10574
1e901a75 10575 * font/font_cmd.c: Likewise.
34c44600 10576
1e901a75 10577 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 10578
1e901a75 10579 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
10580 (grub_video_vbe_map_rgba): Likewise.
10581 (grub_video_vbe_unmap_color_int): Likewise.
10582 (grub_video_vbe_blit_glyph): Removed.
10583 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 10584
1e901a75 10585 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
10586 (get_pixel): Likewise.
34c44600 10587 (set_pixel): Likewise.
10588
1e901a75 10589 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 10590
1e901a75 10591 * term/gfxterm.c: Adapted to new font engine.
34c44600 10592
1e901a75 10593 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 10594
1e901a75 10595 * term/i386/pc/vga.c: Likewise.
34c44600 10596
1e901a75 10597 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 10598
1e901a75 10599 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 10600
1e901a75 10601 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10602
1e901a75 10603 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10604
1e901a75 10605 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 10606
1e901a75 10607 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 10608
1e901a75 10609 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 10610
1e901a75 10611 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 10612
1e901a75 10613 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10614
10615 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 10616
1e901a75 10617 * util/grub-mkconfig_lib.in: Changed font extension.
10618
278922e8 106192008-12-28 Felix Zielcke <fzielcke@z-51.de>
10620
10621 * util/getroot.c (grub_util_get_grub_dev): Add support for
10622 /dev/md/dNNpNN style partitionable mdraid devices.
10623
3ced05cf 106242008-12-12 Alex Smith <alex@alex-smith.me.uk>
10625
10626 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
10627 at a time limit of the PXE TFTP API correctly.
10628 (grub_pxefs_close): Likewise.
10629
7fd0ee30 106302008-11-29 Robert Millan <rmh@aybabtu.com>
10631
34c44600 10632 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 10633 grub_ata_device_initialize() calls.
10634
34c44600 106352008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 10636
10637 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
10638 iteration failed.
10639 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
10640
89313780 106412008-11-28 Robert Millan <rmh@aybabtu.com>
10642
10643 Fix build on powerpc-ieee1275. Based on patch created by
10644 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
10645 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10646 `kern/ieee1275/mmap.c'.
10647 * include/grub/powerpc/ieee1275/memory.h: New file.
10648
15257703 10649 Provide grub-install on coreboot.
10650 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
10651 (grub_install_SOURCES): New variable.
10652 * util/i386/pc/grub-install.in: Add a few condition checks to make it
10653 usable on coreboot.
10654
9fc5388a 106552008-11-25 Felix Zielcke <fzielcke@z-51.de>
10656
10657 * util/grub-fstest.c (grub_term_get_current_input): Change return type
10658 to `grub_term_input_t'.
10659 (grub_term_get_current_output): Change return type to
10660 `grub_term_output_t'.
10661
bc3a2f31 106622008-11-22 Robert Millan <rmh@aybabtu.com>
10663
34c44600 10664 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 10665 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
10666 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
10667 grub_vga_text_cls().
10668
80fc88f2 10669 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 10670 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 10671
cbf36fd3 10672 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
10673 to 0x200000 (avoids trouble with some OFW implementations, and matches
10674 with the one in Yaboot).
10675 Reported by Manoel Abranches
10676
73e8e268 106772008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 10678
10679 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
10680 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
10681
73e8e268 10682 * util/grub-mkconfig_lib.in (grub_warn): New function.
10683 (convert_system_path_to_grub_path): Use grub_warn() when issuing
10684 warnings, to obtain consistent formatting.
10685 * util/grub.d/00_header.in: Likewise.
10686 * util/update-grub_lib.in: Likewise.
10687
e94045a1 10688 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 10689 Move comment text to `#error' stanza.
e94045a1 10690
79d29fd7 10691 Harmonize ieee1275's grub_available_iterate() with the generic
10692 grub_machine_mmap_iterate() interface (fixes a recently-introduced
10693 build problem on i386-ieee1275):
10694 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
10695 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
10696 parameter `type'. Update all users of this function.
10697 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
10698 `kern/ieee1275/mmap.c'.
10699 * kern/ieee1275/init.c
10700 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
10701 with ...
10702 (grub_machine_mmap_iterate): ... this.
10703 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
10704 return type to `grub_err_t'. Update all implementations of this
10705 function prototype.
10706 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
10707 Likewise.
10708
60d6b16e 10709 Add `lsmmap' command (lists firmware-provided memory map):
10710 * commands/lsmmap.c: New file.
10711 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
10712 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
10713 variables.
10714 * conf/powerpc-ieee1275.rmk: Likewise.
10715 * conf/i386-coreboot.rmk: Likewise.
10716 * conf/i386-ieee1275.rmk: Likewise.
10717
ebaaf49b 107182008-11-19 Robert Millan <rmh@aybabtu.com>
10719
10720 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 10721 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
10722 constraints to initrd allocation (based on code from
10723 loader/i386/pc/linux.c). Without them, initrd was allocated too high
10724 for Linux to find it.
ebaaf49b 10725
dfab719f 107262008-11-14 Robert Millan <rmh@aybabtu.com>
10727
10728 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
10729 order to cope with duplicate slashes.
10730
10fc3eb9 107312008-11-14 Robert Millan <rmh@aybabtu.com>
10732
10733 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
10734 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
10735 don't want to mess with lower memory, because it is used in the Linux
10736 loader.
10737
10738 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 10739 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 10740 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
10741 is in our heap (probably as a result of it being corrupted during
2f2a3442 10742 decompression). Add #error instance with comment to explain why this
10743 loader isn't currently usable on PC/BIOS.
10fc3eb9 10744
e2e07847 107452008-11-14 Robert Millan <rmh@aybabtu.com>
10746
10747 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 10748 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 10749
fe8e8d69 107502008-11-12 Robert Millan <rmh@aybabtu.com>
10751
10752 Make loader/i386/linux.c buildable on i386-pc (although disabled).
10753
10754 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
10755 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
10756 from here ...
10757 * include/grub/i386/pc/memory.h: ... to here.
10758
976b07d0 107592008-11-12 Robert Millan <rmh@aybabtu.com>
10760
10761 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
10762 split).
10763
10764 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
10765 (grub_console_cur_color, grub_console_real_putchar)
10766 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10767 (grub_console_setcolorstate, grub_console_setcolor)
10768 (grub_console_getcolor): Move from here ...
10769 * include/grub/i386/vga_common.h: ... to here (new file).
10770
10771 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
10772 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
10773 `<grub/i386/io.h>'.
10774 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
10775 `<grub/i386/vga_common.h>'.
10776
76679cd3 107772008-11-12 Robert Millan <rmh@aybabtu.com>
10778
10779 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
10780 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
10781 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
10782 variables.
10783 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10784 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
10785
10786 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
10787 grub_console_init() with call to grub_vga_text_init().
10788 (grub_machine_fini): Replace call to
10789 grub_console_fini() with call to grub_vga_text_fini() and
10790 grub_at_keyboard_fini().
10791
10792 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
10793 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10794 (grub_console_setcolorstate, grub_console_setcolor)
10795 (grub_console_getcolor): New function prototypes.
10796
10797 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
10798 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
10799 (grub_vga_text_setcursor): Static-ize.
10800 (grub_vga_text_term): New structure.
10801 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
10802
10803 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
10804 (grub_console_cur_color, grub_console_standard_color)
10805 (grub_console_normal_color, grub_console_highlight_color)
10806 (map_char, grub_console_putchar, grub_console_getcharwidth)
10807 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
10808 (grub_console_getcolor): Move from here ...
10809 * term/i386/vga_common.c: ... to here (same function names).
10810
95b841d3 108112008-11-12 Robert Millan <rmh@aybabtu.com>
10812
10813 Use newly-added Multiboot support in coreboot.
10814
10815 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10816 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
10817
10818 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
10819 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
10820 (codestart): Store the MBI in `startup_multiboot_info' when we're
10821 being loaded using Multiboot.
10822
10823 * kern/i386/coreboot/init.c (grub_machine_init): Move
10824 grub_at_keyboard_init() call to beginning of function (useful for
10825 debugging). Call grub_machine_mmap_init() before attempting to use
10826 grub_machine_mmap_iterate().
10827 (grub_lower_mem, grub_upper_mem): Move from here ...
10828 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
10829 here (new file).
10830
10831 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
10832 function prototype.
10833
761ca975 108342008-11-12 Robert Millan <rmh@aybabtu.com>
10835
10836 Fix a regression introduced by the at_keyboard.mod split. Because
10837 some terminals are default on some platforms and non-default on
10838 others, the first terminal being registered determines which is
10839 going to be default.
10840
10841 * kern/term.c (grub_term_register_input): If this is the first
10842 terminal being registered, set it as the current one.
10843 (grub_term_register_output): Likewise.
10844
10845 * term/efi/console.c (grub_console_init): Do not call
10846 grub_term_set_current_output() or grub_term_set_current_input().
10847 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
10848 * term/i386/pc/console.c (grub_console_init): Likewise.
10849 (grub_console_fini): Do not call grub_term_set_current_input()
10850 (but leave grub_term_set_current_output() to restore text mode).
10851
6c529df7 108522008-11-10 Robert Millan <rmh@aybabtu.com>
10853
10854 * util/grub.d/00_header.in: Add backward compatibility check for
10855 versions of terminal.mod that don't understand `terminal_input' or
10856 `terminal_output'.
10857
132e4113 108582008-11-09 Robert Millan <rmh@aybabtu.com>
10859
10860 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
10861 `terminal_input' / `terminal_output', not `terminal'.
10862
ac293d50 108632008-11-08 Robert Millan <rmh@aybabtu.com>
10864
10865 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 10866 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 10867
0025933a 108682008-11-08 Robert Millan <rmh@aybabtu.com>
10869
10870 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 10871 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 10872 members. Update all users.
10873 * util/console.c (grub_ncurses_term): Split in ...
10874 (grub_ncurses_term_input): ... this, and ...
10875 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 10876 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 10877
37c86336 108782008-11-08 Robert Millan <rmh@aybabtu.com>
10879
10880 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
10881 (PKGDATA): Add $(pkgdata_SRCDIR).
10882 (pkglib_BUILDDIR): New variable.
10883 (pkgdata_SRCDIR): New variable.
10884 (build_env.mk): New target.
10885 (include_DATA): New variable.
10886 (install-local): Install $(include_DATA) files in $(includedir).
10887
b6c15a2d 108882008-11-07 Pavel Roskin <proski@gnu.org>
10889
d99d46f1 10890 * gendistlist.sh: Use C locale for sorting to ensure consistent
10891 output on all systems.
10892
b6c15a2d 10893 * util/grub.d/00_header.in: Remove incorrect space before
10894 "serial".
10895
c32ee8c9 108962008-11-07 Robert Millan <rmh@aybabtu.com>
10897
10898 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
10899 per specification.
10900 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
10901 * loader/multiboot_loader.c (find_multi_boot2_header): New function
10902 (based on find_multi_boot1_header).
10903 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
10904 using find_multi_boot2_header(), and abort if neither Multiboot or
10905 Multiboot headers were found.
10906
651c29b7 109072008-11-07 Robert Millan <rmh@aybabtu.com>
10908
10909 Modularize at_keyboard.mod:
10910
10911 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
10912 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10913 (at_keyboard_mod_LDFLAGS): New variables.
10914
10915 Actual terminal split:
10916
10917 * include/grub/term.h (struct grub_term): Split in ...
10918 (struct grub_term_input): ... this, and ...
10919 (struct grub_term_output): ... this. Update all users.
10920 (grub_term_set_current): Split in ...
10921 (grub_term_set_current_input): ... this, and ...
10922 (grub_term_set_current_output): ... this.
10923 (grub_term_get_current): Split in ...
10924 (grub_term_get_current_input): ... this, and ...
10925 (grub_term_get_current_output): ... this.
10926 (grub_term_register): Split in ...
10927 (grub_term_register_input): ... this, and ...
10928 (grub_term_register_output): ... this.
10929 (grub_term_unregister): Split in ...
10930 (grub_term_unregister_input): ... this, and ...
10931 (grub_term_unregister_output): ... this.
10932 (grub_term_iterate): Split in ...
10933 (grub_term_iterate_input): ... this, and ...
10934 (grub_term_iterate_output): ... this.
10935
10936 * kern/term.c (grub_term_list): Split in ...
10937 (grub_term_list_input): ... this, and ...
10938 (grub_term_list_output): ... this. Update all users.
10939 (grub_cur_term): Split in ...
10940 (grub_cur_term_input): ... this, and ...
10941 (grub_cur_term_output): ... this. Update all users.
10942 (grub_term_set_current): Split in ...
10943 (grub_term_set_current_input): ... this, and ...
10944 (grub_term_set_current_output): ... this.
10945 (grub_term_get_current): Split in ...
10946 (grub_term_get_current_input): ... this, and ...
10947 (grub_term_get_current_output): ... this.
10948 (grub_term_register): Split in ...
10949 (grub_term_register_input): ... this, and ...
10950 (grub_term_register_output): ... this.
10951 (grub_term_unregister): Split in ...
10952 (grub_term_unregister_input): ... this, and ...
10953 (grub_term_unregister_output): ... this.
10954 (grub_term_iterate): Split in ...
10955 (grub_term_iterate_input): ... this, and ...
10956 (grub_term_iterate_output): ... this.
10957
10958 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
10959 a check for input and one for output (and only attempt to get keys
10960 from user when input works).
10961
10962 * util/grub-probe.c (grub_term_get_current): Split in ...
10963 (grub_term_get_current_input): ... this, and ...
10964 (grub_term_get_current_output): ... this.
10965 * util/grub-fstest.c: Likewise.
10966 * util/i386/pc/grub-setup.c: Likewise.
10967 * util/grub-editenv.c: Likewise.
10968
10969 Portability adjustments:
10970
10971 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
10972 `term/i386/pc/at_keyboard.c'.
10973 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
10974 grub_keyboard_controller_init() (now handled by terminal .init).
10975 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
10976 grub_at_keyboard_init().
10977 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
10978 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
10979 at_keyboard.mod via input terminal interface).
10980 * include/grub/i386/coreboot/console.h: Convert into a stub for
10981 `<grub/i386/pc/console.h>'.
10982
10983 Migrate full terminals to new API:
10984
10985 * term/efi/console.c (grub_console_term): Split into ...
10986 (grub_console_term_input): ... this, and ...
10987 (grub_console_term_output): ... this. Update all users.
10988 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
10989 (grub_ofconsole_init): Split into ...
10990 (grub_ofconsole_init_input): ... this, and ...
10991 (grub_ofconsole_init_output): ... this.
10992 (grub_ofconsole_term): Split into ...
10993 (grub_ofconsole_term_input): ... this, and ...
10994 (grub_ofconsole_term_output): ... this. Update all users.
10995 * term/i386/pc/serial.c (grub_serial_term): Split into ...
10996 (grub_serial_term_input): ... this, and ...
10997 (grub_serial_term_output): ... this. Update all users.
10998 * term/i386/pc/console.c (grub_console_term): Split into ...
10999 (grub_console_term_input): ... this, and ...
11000 (grub_console_term_output): ... this. Update all users.
11001 (grub_console_term_input): Only enable it on PC/BIOS platform.
11002 (grub_console_init): Remove grub_keyboard_controller_init() call.
11003
11004 Migrate input terminals to new API:
11005
11006 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11007 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11008 i386-specific anyway).
11009 (grub_console_checkkey): Rename to ...
11010 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11011 users.
11012 (grub_keyboard_controller_orig): New variable.
11013 (grub_console_getkey): Rename to ...
11014 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11015 users.
11016 (grub_keyboard_controller_init): Static-ize. Save original
11017 controller value so that it can be restored ...
11018 (grub_keyboard_controller_fini): ... here (new function).
11019 (grub_at_keyboard_term): New structure.
11020 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11021 functions.
11022
11023 Migrate output terminals to new API:
11024
11025 * term/i386/pc/vga.c (grub_vga_term): Change type to
11026 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11027 members. Update all users.
11028 * term/gfxterm.c (grub_video_term): Change type to
11029 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11030 members. Update all users.
11031 * include/grub/i386/pc/console.h (grub_console_checkkey)
11032 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11033 etc).
11034
11035 Migrate `terminal' command and userland tools to new API:
11036
11037 * commands/terminal.c (grub_cmd_terminal): Split into ...
11038 (grub_cmd_terminal_input): ... this, and ...
11039 (grub_cmd_terminal_output): ... this.
11040 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11041 `terminal_input' and `terminal_output'.
11042 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11043 `terminal_input' / `terminal_output' API.
11044 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11045 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11046 provided ${GRUB_TERMINAL}, convert it).
11047
96e5d876 110482008-11-04 Robert Millan <rmh@aybabtu.com>
11049
11050 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11051 for FreeBSD.
11052 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11053
556f3775 110542008-11-03 Bean <bean123ch@gmail.com>
11055
11056 * kern/elf.c (grub_elf32_load): Revert to previous code.
11057 (grub_elf64_load): Likewise.
11058
11059 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11060
926b9823 110612008-11-01 Robert Millan <rmh@aybabtu.com>
11062
11063 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11064 (TARGET_CPPFLAGS): Likewise.
11065 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11066
1432e958 110672008-11-01 Carles Pina i Estany <carles@pina.cat>
11068
11069 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11070
dba3f844 110712008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11072
11073 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11074 addition of objects until the code is not going to be able to fail.
11075
dba3f844 110762008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11077
11078 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11079 (add a missing NULL check, and correct them by moving the pointer
11080 operations after the actual check).
11081
7ab28c21 110822008-10-29 Robert Millan <rmh@aybabtu.com>
11083
11084 * util/i386/pc/grub-install.in: Handle empty string as output from
11085 make_system_path_relative_to_its_root().
11086
1b7748eb 110872008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11088
11089 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11090 circular metadata worst case scenario. If the metadata is circular
11091 then copy the wrap in place.
11092 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11093 project lib/format_text/layout.h
11094 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11095
c9618ab2 110962008-10-03 Felix Zielcke <fzielcke@z-51.de>
11097
7a36edca 11098 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11099
bf981c62 111002008-10-03 Felix Zielcke <fzielcke@z-51.de>
11101
11102 * util/update-grub_lib.in: Mention filename in warning message.
11103
6d994591 111042008-09-29 Felix Zielcke <fzielcke@z-51.de>
11105
11106 * NEWS: Update for rename of update-grub to grub-mkconfig.
11107
18ade780 111082008-09-29 Felix Zielcke <fzielcke@z-51.de>
11109
11110 * util/update-grub_lib.in: Copy to ...
11111 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11112 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11113 * util/update-grub.in: Rename to ...
11114 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11115 option. Add `--output' option to allow users to specify the generated
11116 configuration file. Default to stdout.
11117 (update_grub_dir): Rename to ...
11118 (grub_mkconfig_dir): ... this.
11119 (grub_cfg): Default to an empty string.
11120 * conf/common.rmk (update-grub): Rename to ...
11121 (grub-mkconfig): ... this.
11122 (update-grub_lib): Copy to ...
11123 (grub-mkconfig_lib): ... this.
11124 (update-grub_SCRIPTS): Copy to ...
11125 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11126 (update-grub_DATA): Rename to ...
11127 (grub-mkconfig_DATA): ... this.
11128
556ce6ac 111292008-09-28 Robert Millan <rmh@aybabtu.com>
11130
11131 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11132 to `modified'. Add the real `created' field.
11133 (grub_iso9660_uuid): Use `modified' rather than `created' for
11134 constructing the UUID.
11135
111362008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11137
11138 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11139 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11140
92274e85 111412008-09-28 Bean <bean123ch@gmail.com>
11142
11143 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11144 Thanks to Christian Franke for finding this bug.
11145
add6f17a 111462008-09-25 Robert Millan <rmh@aybabtu.com>
11147
11148 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11149 instances of grub_util_get_disk_name() (see previous commit).
11150
d2a367b8 111512008-09-25 Robert Millan <rmh@aybabtu.com>
11152
11153 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11154 `util/i386/get_disk_name.c'.
11155 * conf/i386-efi.rmk: Likewise.
11156 * conf/x86_64-efi.rmk: Likewise.
11157 * conf/i386-coreboot.rmk: Likewise.
11158 * conf/i386-ieee1275.rmk: Likewise.
11159 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11160 `util/ieee1275/get_disk_name.c'.
11161 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11162 * util/ieee1275/get_disk_name.c: Remove file.
11163 * util/i386/get_disk_name.c: Remove file.
11164 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11165 "hd%d" for device.map entries, rather than using
11166 grub_util_get_disk_name().
11167
81a06771 111682008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11169
11170 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11171 warning.
11172 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11173
5a004279 111742008-09-24 Carles Pina i Estany <carles@pina.cat>
11175
11176 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11177 Changed to 0x5100.
11178 (GRUB_TERM_PPAGE): Changed to 0x4900.
11179
397093d3 111802008-09-24 Robert Millan <rmh@aybabtu.com>
11181
11182 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11183 macros (they were i386-pc specific).
11184 * include/grub/sparc64/ieee1275/console.h: Likewise.
11185 * include/grub/efi/console.h: Likewise.
11186
a91b6c7c 111872008-09-22 Bean <bean123ch@gmail.com>
11188
11189 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11190 resident and in attribute list.
11191
11192 * include/grub/ntfs.h (BMP_LEN): Removed.
11193
c40fd116 111942008-09-22 Bean <bean123ch@gmail.com>
11195
81a06771 11196 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11197 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11198
11199 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11200 error occurs, as grub_disk_open will call grub_disk_close, which will
11201 call p->close (scsi).
11202
81a06771 112032008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11204
11205 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11206 (AC_PREREQ): Bumped to 2.59.
11207 (AC_TRY_COMPILE): Replace obsolete macro with ...
11208 (AC_COMPILE_IFELSE): ... this.
11209 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11210 (AC_LINK_IFELSE): ... this.
11211
5dc43410 112122008-09-21 Felix Zielcke <fzielcke@z-51.de>
11213
11214 * autogen.sh: Add a call to `gendistlist.sh'.
11215
9035dce4 112162008-09-19 Christian Franke <franke@computer.org>
11217
11218 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11219 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11220 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11221 Export __enable_execute_stack() to modules.
11222 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11223 New function.
11224
7fd75377 112252008-09-09 Felix Zielcke <fzielcke@z-51.de>
11226
040030b3 11227 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11228 Sort the list.
11229
112302008-09-09 Felix Zielcke <fzielcke@z-51.de>
11231
11232 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11233 #include <grub/util/hostdisk.h>.
11234
89d5ffcf 112352008-09-08 Robert Millan <rmh@aybabtu.com>
11236
11237 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11238 segments when their filesz is zero (grub_file_read() interprets
81a06771 11239 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11240 Use `lowest_segment' rather than 0 for calculating the current
11241 segment load address.
11242
40da438f 112432008-09-08 Robert Millan <rmh@aybabtu.com>
11244
11245 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11246 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11247 clobbered useful information.
11248
ddbf5556 112492008-09-08 Robert Millan <rmh@aybabtu.com>
11250
11251 * include/grub/util/biosdisk.h: Move to ...
11252 * include/grub/util/hostdisk.h: ... here. Update all users.
11253 * util/biosdisk.c: Move to ...
11254 * util/hostdisk.c: ... here. Update all users.
11255
783d0f48 112562008-09-07 Robert Millan <rmh@aybabtu.com>
11257
11258 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11259 variables.
11260 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11261 and length can be stored directly in the `mbi->mmap_addr' and
11262 `mbi->mmap_length' struct fields.
11263
548e2ea5 112642008-09-07 Robert Millan <rmh@aybabtu.com>
11265
11266 * conf/i386.rmk: New file. Provides declaration for building
11267 `cpuid.mod'.
11268 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11269 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11270 variables.
11271 Include `conf/i386.mk'.
11272 * conf/i386-efi.rmk: Likewise.
11273 * conf/x86_64-efi.rmk: Likewise.
11274 * conf/i386-coreboot.rmk: Likewise.
11275 * conf/i386-ieee1275.rmk: Likewise.
11276
0ea85a37 112772008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11278
11279 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11280 Adds optimization support for BGR based modes.
11281
11282 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11283 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11284 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11285 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11286 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11287 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11288 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11289 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11290 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11291 (grub_video_i386_vbeblit_index_index): Likewise.
11292 (grub_video_i386_vbeblit_replace_directN): Added.
11293 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11294 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11295 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11296 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11297 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11298 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11299 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11300 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11301 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11302 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11303 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11304 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11305 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11306
11307 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11308 (grub_video_i386_vbefill_R8G8B8): Likewise.
11309 (grub_video_i386_vbefill_index): Likewise.
11310 (grub_video_i386_vbefill_direct32): Added.
11311 (grub_video_i386_vbefill_direct24): Likewise.
11312 (grub_video_i386_vbefill_direct16): Likewise.
11313 (grub_video_i386_vbefill_direct8): Likewise.
11314
81a06771 11315 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11316 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11317 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11318 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11319 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11320 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11321
0ea85a37 11322 * video/video.c (grub_video_get_blit_format): Updated to use new
11323 blit formats. Added handling for 16 bit color modes.
81a06771 11324
11325 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11326 fillers.
11327 (common_blitter): Updated to use new blitters.
11328
11329 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11330 Removed.
11331 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11332 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11333 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11334 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11335 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11336 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11337 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11338 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11339 (grub_video_i386_vbeblit_index_index): Likewise.
11340 (grub_video_i386_vbeblit_replace_directN): Added.
11341 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11342 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11343 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11344 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11345 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11346 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11347 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11348 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11349 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11350 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11351 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11352 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11353 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11354
0ea85a37 11355 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11356 (grub_video_i386_vbefill_R8G8B8): Likewise.
11357 (grub_video_i386_vbefill_index): Likewise.
11358 (grub_video_i386_vbefill_direct32): Added.
11359 (grub_video_i386_vbefill_direct24): Likewise.
11360 (grub_video_i386_vbefill_direct16): Likewise.
11361 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11362
0ea85a37 11363 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11364 types.
81a06771 11365
0ea85a37 11366 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11367 types.
81a06771 11368
0ea85a37 11369 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11370 blitter types.
81a06771 11371
0ea85a37 11372 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11373 types.
11374
e8a83df6 113752008-09-06 Felix Zielcke <fzielcke@z-51.de>
11376
11377 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11378 RAID level 1.
11379
6bcd8ee5 113802008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11381
6bcd8ee5 11382 * fs/iso9660.c (grub_iso9660_date): New structure.
11383 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11384 (grub_iso9660_uuid): New function.
c375ae58 11385
59261157 113862008-09-05 Bean <bean123ch@gmail.com>
11387
11388 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11389
11390 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11391 insensitive bit for names in Win32 and Win32 & DOS namespace.
11392
11393 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11394
11395 * include/grub/types.h (LONG_MAX): Likewise.
11396
58b6645a 113972008-09-04 Felix Zielcke <fzielcke@z-51.de>
11398
4ee55921 11399 * util/getroot.c: Include <config.h>.
11400 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11401 add support for /dev/md/N devices and handle LVM double dash escaping.
11402
114032008-09-04 Felix Zielcke <fzielcke@z-51.de>
11404
11405 * config.guess: Update to latest version from config git.
11406 * config.sub: Likewise.
58b6645a 11407
9124f65d 114082008-09-03 Robert Millan <rmh@aybabtu.com>
11409
11410 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11411 `disk->total_sectors'.
11412
81a06771 114132008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11414
11415 * include/grub/normal.h: Fixed incorrect comment for
11416 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11417
81a06771 114182008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11419
11420 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11421 values with defines.
11422
11423 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11424 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11425 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11426 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11427 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11428 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11429 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11430 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11431 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11432 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11433 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11434 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11435 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11436 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11437 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11438 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11439 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11440 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11441 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11442
93d5cbf8 114432008-08-31 Robert Millan <rmh@aybabtu.com>
11444
11445 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11446 declaration.
11447 (grub_multiboot): Fix a few warnings.
11448
21751d50 114492008-08-31 Robert Millan <rmh@aybabtu.com>
11450
11451 * loader/i386/pc/multiboot.c: Update comment not to say that
11452 boot_device support is unimplemented.
11453
e27a75c5 114542008-08-31 Robert Millan <rmh@aybabtu.com>
11455
11456 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11457 or memory map support are unimplemented.
11458
81a06771 114592008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11460
11461 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11462
81a06771 114632008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11464
11465 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11466 total video memory in 'vbeinfo' output; show color format details for
11467 each video mode.
11468
7c5d8d95 114692008-08-30 Pavel Roskin <proski@gnu.org>
11470
11471 * util/genmoddep.c: Remove for real this time.
11472 * DISTLIST: Remove util/genmoddep.c.
11473
4cebd25a 114742008-08-30 Robert Millan <rmh@aybabtu.com>
11475
11476 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11477 as required by Multiboot spec (it was already 4-byte aligned, but
11478 only by chance).
11479
b497a269 114802008-08-29 Pavel Roskin <proski@gnu.org>
11481
e3925185 11482 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11483 * kern/powerpc/ieee1275/startup.S: ... this.
11484 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11485 * DISTLIST: Likewise.
11486
b497a269 11487 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11488 grub/cpu/kernel.h. Add start label for consistency with other
11489 platforms. Add grub_prefix immediately after start. Add jump
11490 to the code after grub_prefix.
11491 * include/grub/powerpc/kernel.h: Provide valid values for
11492 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11493
6e5a42fe 114942008-08-29 Bean <bean123ch@gmail.com>
11495
11496 * configure.ac: Change host_os to cygwin for mingw.
11497 (asprintf): New check for function.
11498
11499 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11500 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11501
11502 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11503 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11504 sync, sleep and grub_util_get_disk_size for mingw.
11505
11506 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11507 to get size in mingw.
11508 (open_device): Use flag O_BINARY if it's defined.
11509 (find_root_device): Add dummy code for mingw.
11510
11511 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11512 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11513 (get_scsi_disk_name): Return 0 for mingw.
11514
11515 * util/hostfs.c: #include <grub/util/misc.h>.
11516 (grub_hostfs_open): Use "rb" flag to open file, use
11517 grub_util_get_disk_size to get disk size for mingw.
11518
11519 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11520 (asprintf): New function if HAVE_ASPRINTF is not set.
11521 (sync): New function for mingw.
11522 (sleep): Likewise.
11523 (grub_util_get_disk_size): Likewise.
11524
ab3f2673 115252008-08-28 Pavel Roskin <proski@gnu.org>
11526
11527 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11528 kern/time.c.
11529
1c282483 115302008-08-28 Robert Millan <rmh@aybabtu.com>
11531
11532 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11533
678e849c 115342008-08-28 Robert Millan <rmh@aybabtu.com>
11535
11536 Change find_grub_drive() syntax so it doesn't prevent it from
11537 detecting NULL names as errors.
11538
11539 * util/biosdisk.c (find_grub_drive): Move free slot search code
11540 from here ...
11541 (find_free_slot): ... to here.
11542 (read_device_map): Use find_free_slot() to search for free slots.
11543
965c75ca 115442008-08-27 Marco Gerards <marco@gnu.org>
11545
11546 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
11547 (scsi_mod_SOURCES): New variable.
11548 (scsi_mod_CFLAGS): Likewise
11549 (scsi_mod_LDFLAGS): Likewise.
11550
11551 * disk/scsi.c: New file.
11552
11553 * include/grub/scsi.h: Likewise.
11554
11555 * include/grub/scsicmd.h: Likewise.
11556
11557 * disk/ata.c: Include <grub/scsi.h>.
11558 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
11559 instead.
11560 (grub_ata_iterate): Skip ATAPI devices.
11561 (grub_ata_open): Only handle ATAPI devices.
11562 (struct grub_atapi_read): Removed.
11563 (grub_atapi_readsector): Likewise.
11564 (grub_ata_read): No longer handle ATAPI devices.
11565 (grub_ata_write): Likewise.
11566 (grub_atapi_iterate): New function.
11567 (grub_atapi_read): Likewise.
11568 (grub_atapi_write): Likewise.
11569 (grub_atapi_open): Likewise.
11570 (grub_atapi_close): Likewise.
11571 (grub_atapi_dev): New variable.
11572 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
11573 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
11574
11575 * include/grub/disk.h (enum grub_disk_dev_id): Add
11576 `GRUB_DISK_DEVICE_SCSI_ID'.
11577
c07ae501 115782008-08-26 Robert Millan <rmh@aybabtu.com>
11579
11580 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
11581 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
11582 descriptive.
11583
5ed20adc 115842008-08-23 Bean <bean123ch@gmail.com>
11585
11586 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
11587 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11588 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
11589 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
11590 dm_nv.mod.
11591 (raid5rec_mod_SOURCES): New macro.
11592 (raid5rec_mod_CFLAGS): Likewise.
11593 (raid5rec_mod_LDFLAGS): Likewise.
11594 (raid6rec_mod_SOURCES): Likewise.
11595 (raid6rec_mod_CFLAGS): Likewise.
11596 (raid6rec_mod_LDFLAGS): Likewise.
11597 (mdraid_mod_SOURCES): Likewise.
11598 (mdraid_mod_CFLAGS): Likewise.
11599 (mdraid_mod_LDFLAGS): Likewise.
11600 (dm_nv_mod_SOURCES): Likewise.
11601 (dm_nv_mod_CFLAGS): Likewise.
11602 (dm_nv_mod_LDFLAGS): Likewise.
11603
11604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
11605 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11606 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11607
11608 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
11609 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11610
11611 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11612
11613 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11614
11615 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11616
11617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11618
11619 * disk/raid5_recover.c: New file.
11620
11621 * disk/raid6_recover.c: Likewise.
11622
11623 * disk/mdraid_linux.c: Likewise.
11624
11625 * disk/dmraid_nvidia.c: Likewise.
11626
11627 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
11628 ULONG_MAX.
11629
11630 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
11631 calculate the size of raid device.
11632 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
11633 different layout of raid5.
11634 (grub_raid_scan_device): Remove code specific to mdraid.
11635 (grub_raid_list): New variable.
11636 (free_array): New function.
11637 (grub_raid_register): Likewise.
11638 (grub_raid_unregister): Likewise.
11639 (grub_raid_rescan): Likewise.
11640 (GRUB_MOD_INIT): Don't iterate device here.
11641 (GRUB_MOD_FINI): Use free_array to release resource.
11642
11643 * include/grub/raid.h: Remove macro and structure specific to mdraid.
11644 (grub_raid5_recover_func_t): New function variable type.
11645 (grub_raid6_recover_func_t): Likewise.
11646 (grub_raid5_recover_func): New variable.
11647 (grub_raid6_recover_func): Likewise.
11648 (grub_raid_register): New function.
11649 (grub_raid_unregister): Likewise.
11650 (grub_raid_rescan): Likewise.
11651 (grub_raid_block_xor): Likewise.
11652
11653 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
11654 (CMD_CRC): New macro.
11655 (part): Removed.
11656 (read_file): Handle device as well as file.
11657 (cmd_crc): New function.
11658 (fstest): Handle multiple disks.
11659 (options): Remove part, raw and long, add root and diskcount.
11660 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 11661 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 11662 add handling for the new options, support multiple disks.
11663
11664 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
11665
29c18915 116662008-08-23 Bean <bean123ch@gmail.com>
11667
11668 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
11669
11670 * genfslist.sh: Ignore kernel.mod.
11671
11672 * genpartmaplist.sh: Likewise.
11673
8415f261 116742008-08-23 Robert Millan <rmh@aybabtu.com>
11675
11676 * util/getroot.c (find_root_device): Skip anything that starts with
11677 a dot, not just directories. This avoids things like /dev/.tmp.md0.
11678
d5a7dc5b 116792008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 11680
d5a7dc5b 11681 * util/update-grub.in (GRUB_GFXMODE): Export variable.
11682 * util/grub.d/00_header.in: Allow the administrator to change default
11683 gfxmode via ${GRUB_GFXMODE}.
11684
380cfbb4 116852008-08-21 Felix Zielcke <fzielcke@z-51.de>
11686
11687 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
11688
c9baafe7 116892008-08-21 Robert Millan <rmh@aybabtu.com>
11690
11691 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
11692 loader.
11693 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
11694 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
11695
e290bef2 116962008-08-20 Carles Pina i Estany <carles@pina.cat>
11697
11698 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
11699 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
11700
f9dbfc96 117012008-08-19 Robert Millan <rmh@aybabtu.com>
11702
11703 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
11704 (struct grub_virtual_screen): Remove `cursor_color'.
11705 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
11706 initialization.
11707 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
11708
dd6bd6ab 117092008-08-18 Robert Millan <rmh@aybabtu.com>
11710
11711 Unify (identical) linux_normal.c files.
11712 * loader/i386/efi/linux_normal.c: Move from here ...
11713 * loader/linux_normal.c: ... to here. Update all users.
11714 * loader/i386/pc/linux_normal.c: Delete. Update all users.
11715 * loader/i386/ieee1275/linux_normal.c: Likewise.
11716
7f42f83e 117172008-08-18 Robert Millan <rmh@aybabtu.com>
11718
11719 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
11720 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
11721 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
11722 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
11723 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
11724 New macros.
11725 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
11726 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
11727 (GRUB_LINUX_CL_END_OFFSET): ... to here.
11728 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
11729 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
11730 (GRUB_EFI_CL_END_OFFSET): Rename to ...
11731 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
11732 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
11733 Initialize `params->video_cursor_x' and `params->video_cursor_y'
11734 portably using grub_getxy().
11735 Replace `-EFI' with `-bzImage' in boot message.
11736
38487ddb 117372008-08-17 Robert Millan <rmh@aybabtu.com>
11738
11739 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
11740
deceb3ec 117412008-08-17 Robert Millan <rmh@aybabtu.com>
11742
11743 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
11744
11745 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
11746 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
11747 (grub_machine_mmap_iterate): New function declaration.
11748 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
11749 structure.
11750 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
11751 macros.
11752
11753 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
11754 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
11755 Move e820 parsing from here ...
11756 * kern/i386/pc/mmap.c: New file.
11757 (grub_machine_mmap_iterate): ... to here.
11758
11759 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
11760 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
11761 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
11762 (grub_available_iterate): Redeclare to return `void', and redeclare
11763 its hook to use grub_uint64_t as addr and size parameters, and rename
11764 to ...
11765 (grub_machine_mmap_iterate): ... this. Update all users.
11766
11767 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
11768 to make it more readable. Rename to ...
11769 (grub_machine_mmap_iterate): ... this.
11770
11771 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
11772 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
11773 (grub_multiboot): Allocate an extra region after the payload, and fill
11774 it with a Multiboot memory map. Adjust a.out loader to calculate size
11775 with the extra space.
11776 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
11777 with the extra space.
11778
f8aa0f43 117792008-08-17 Carles Pina i Estany <carles@pina.cat>
11780
9807deb9 11781 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 11782
605f5bb6 117832008-08-17 Felix Zielcke <fzielcke@z-51.de>
11784
11785 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
11786 mdate-sh to the list `find' searches for.
11787 * DISTLIST: Regenerated.
11788
210db6c6 117892008-08-16 Felix Zielcke <fzielcke@z-51.de>
11790
11791 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
11792 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 11793 genmoddep.awk, gensymlist.sh.in.
11794 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 11795 * DISTLIST: Regenerated.
48cdbfd4 11796 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 11797
1082b929 117982008-08-16 Robert Millan <rmh@aybabtu.com>
11799
11800 * disk/raid.c (grub_raid_init): Handle/report errors set by
11801 grub_device_iterate().
11802 * disk/lvm.c (grub_lvm_init): Likewise.
11803
42ce5170 118042008-08-15 Bean <bean123ch@gmail.com>
11805
11806 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11807 and datehook.mod.
11808 (datetime_mod_SOURCES): New macro.
11809 (datetime_mod_CFLAGS): Likewise.
11810 (datetime_mod_LDFLAGS): Likewise.
11811 (date_mod_SOURCES): Likewise.
11812 (date_mod_CFLAGS): Likewise.
11813 (date_mod_LDFLAGS): Likewise.
11814 (datehook_mod_SOURCES): Likewise.
11815 (datehook_mod_CFLAGS): Likewise.
11816 (datehook_mod_LDFLAGS): Likewise.
11817
11818 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11819 and datehook.mod.
11820 (datetime_mod_SOURCES): New macro.
11821 (datetime_mod_CFLAGS): Likewise.
11822 (datetime_mod_LDFLAGS): Likewise.
11823 (date_mod_SOURCES): Likewise.
11824 (date_mod_CFLAGS): Likewise.
11825 (date_mod_LDFLAGS): Likewise.
11826 (datehook_mod_SOURCES): Likewise.
11827 (datehook_mod_CFLAGS): Likewise.
11828 (datehook_mod_LDFLAGS): Likewise.
11829
11830 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11831 and datehook.mod.
11832 (datetime_mod_SOURCES): New macro.
11833 (datetime_mod_CFLAGS): Likewise.
11834 (datetime_mod_LDFLAGS): Likewise.
11835 (date_mod_SOURCES): Likewise.
11836 (date_mod_CFLAGS): Likewise.
11837 (date_mod_LDFLAGS): Likewise.
11838 (datehook_mod_SOURCES): Likewise.
11839 (datehook_mod_CFLAGS): Likewise.
11840 (datehook_mod_LDFLAGS): Likewise.
11841
11842 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11843 and datehook.mod.
11844 (datetime_mod_SOURCES): New macro.
11845 (datetime_mod_CFLAGS): Likewise.
11846 (datetime_mod_LDFLAGS): Likewise.
11847 (date_mod_SOURCES): Likewise.
11848 (date_mod_CFLAGS): Likewise.
11849 (date_mod_LDFLAGS): Likewise.
11850 (datehook_mod_SOURCES): Likewise.
11851 (datehook_mod_CFLAGS): Likewise.
11852 (datehook_mod_LDFLAGS): Likewise.
11853
11854 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11855 and datehook.mod.
11856 (datetime_mod_SOURCES): New macro.
11857 (datetime_mod_CFLAGS): Likewise.
11858 (datetime_mod_LDFLAGS): Likewise.
11859 (date_mod_SOURCES): Likewise.
11860 (date_mod_CFLAGS): Likewise.
11861 (date_mod_LDFLAGS): Likewise.
11862 (datehook_mod_SOURCES): Likewise.
11863 (datehook_mod_CFLAGS): Likewise.
11864 (datehook_mod_LDFLAGS): Likewise.
11865
11866 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
11867
11868 * commands/date.c: New file.
11869
11870 * hook/datehook.c: Likewise.
11871
11872 * include/grub/lib/datetime.h: Likewise.
11873
11874 * include/grub/i386/cmos.h: Likewise.
11875
11876 * lib/datetime.c: Likewise.
11877
11878 * lib/i386/datetime.c: Likewise.
11879
11880 * lib/efi/datetime.c: Likewise.
11881
0e9242da 118822008-08-14 Robert Millan <rmh@aybabtu.com>
11883
11884 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
11885 (grub_mkelfimage_SOURCES): New variable.
11886 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
11887
11888 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
11889 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
11890 * conf/powerpc-ieee1275.rmk: Likewise.
11891 * conf/i386-ieee1275.rmk: Likewise.
11892
11893 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
11894 * kern/i386/coreboot/init.c: Likewise.
11895
11896 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
11897 with `<grub/cpu/kernel.h>'.
11898 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
11899 to ...
11900 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
11901 * kern/i386/coreboot/startup.S: Likewise.
11902
11903 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
11904 (GRUB_MOD_GAP): Remove.
11905 * include/grub/powerpc/kernel.h: New file.
11906 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
11907 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11908 * include/grub/i386/kernel.h: New file.
11909 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
11910 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
11911 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
11912
11913 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
11914 `grub-mkelfimage'.
11915 Use --directory when invoking grub_mkimage.
11916
11917 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
11918 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
11919 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
11920 and GRUB_KERNEL_CPU_PREFIX.
11921
b86408f8 119222008-08-14 Felix Zielcke <fzielcke@z-51.de>
11923
d5e619ca 11924 * include/grub/err.h (grub_err_printf): New function prototype.
11925 * util/misc.c (grub_err_printf): New function.
11926 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
11927 grub_printf.
11928 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 11929
7161f0e0 119302008-08-13 Robert Millan <rmh@aybabtu.com>
11931
11932 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
11933
a1967522 119342008-08-13 Robert Millan <rmh@aybabtu.com>
11935
11936 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
11937 boot entry.
11938
371458b5 119392008-08-12 Robert Millan <rmh@aybabtu.com>
11940
11941 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
11942 of the relocation code from here ...
11943 (grub_multiboot): ... to here.
11944 (forward_relocator, backward_relocator): Move from here ...
11945 * kern/i386/loader.S (grub_multiboot_forward_relocator)
11946 (grub_multiboot_backward_relocator): ... to here.
11947 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
11948 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
11949 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
11950 (grub_multiboot_forward_relocator_end)
11951 (grub_multiboot_backward_relocator)
11952 (grub_multiboot_backward_relocator_end): New variables.
11953
05f9452b 119542008-08-12 Bean <bean123ch@gmail.com>
11955
11956 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
11957
20024ab0 119582008-08-11 Robert Millan <rmh@aybabtu.com>
11959
11960 * kern/i386/linuxbios/startup.S: Move from here ...
11961 * kern/i386/coreboot/startup.S: ... to here.
11962
11963 * kern/i386/linuxbios/init.c: Move from here ...
11964 * kern/i386/coreboot/init.c: ... to here.
11965
11966 * kern/i386/linuxbios/table.c: Move from here ...
11967 * kern/i386/coreboot/mmap.c: ... to here.
11968
11969 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
11970
e352e9cd 119712008-08-11 Robert Millan <rmh@aybabtu.com>
11972
11973 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
11974 errors. Leave it to the upper layer to handle them.
11975
2d05bc6a 119762008-08-09 Christian Franke <franke@computer.org>
11977
11978 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
11979 * conf/common.rmk: Install `grub-pe2elf' only if requested.
11980 Install `grub.d/10_windows' only on Cygwin.
11981 * configure.ac: Add subst of `target_os'.
11982 Check `target_os' also before setting TARGET_OBJ2ELF.
11983 Add `--enable-grub-pe2elf'.
11984
042bd419 119852008-08-08 Robert Millan <rmh@aybabtu.com>
11986
11987 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11988 (grub_last_time): Change type to grub_uint64_t.
11989 (grub_disk_open): Migrate code from to using grub_get_time_ms().
11990 (grub_disk_close): Likewise.
11991
11992 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
11993 (run_menu): Migrate code from to using grub_get_time_ms().
11994
11995 * util/misc.c (grub_get_time_ms): New function.
11996
7f280db5 119972008-08-08 Marco Gerards <marco@gnu.org>
11998
11999 * disk/ata.c (grub_ata_regget): Change return type to
12000 `grub_uint8_t'.
12001 (grub_ata_regget2): Likewise.
12002 (grub_ata_wait_status): New function.
12003 (grub_ata_wait_busy): Removed function, updated all users to use
12004 `grub_ata_wait_status'.
12005 (grub_ata_wait_drq): Likewise.
12006 (grub_ata_cmd): New function.
12007 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12008 error handling.
12009 (grub_ata_pio_write): Add error handling.
12010 (grub_atapi_identify): Likewise.
12011 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12012 handling.
12013 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12014 handling. Actually use the detected registers. Reorder the
12015 detection logic such that it is easier to read.
12016 (grub_ata_pciinit): Do not assign the same ID to each controller.
12017 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12018 handling.
12019 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12020
12021 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12022
1fbc5e66 120232008-08-08 Marco Gerards <marco@gnu.org>
12024
12025 * NEWS: Update.
12026
819ce6c0 120272008-08-07 Bean <bean123ch@gmail.com>
12028
12029 * include/grub/x86_64/pci.h: New file.
12030
5c41d44d 120312008-08-07 Christian Franke <franke@computer.org>
12032
12033 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12034 (TIMER2_GATE): Likewise.
12035 (grub_pit_wait): Add enable/disable of the timer2 gate
12036 bit of port 0x61. This fixes a possible infinite loop.
12037
5ebc275d 120382008-08-07 Bean <bean123ch@gmail.com>
12039
12040 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12041 kern/i386/tsc.c and kern/i386/pit.c.
12042
12043 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12044 x86_64 platform.
12045
12046 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12047 <grub/i386/tsc.h>.
12048
12049 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12050
e383b3d0 120512008-08-07 Bean <bean123ch@gmail.com>
12052
12053 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12054
12055 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12056
12057 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12058 multiple inclusion. Add #include <grub/types.h>.
12059
1cbb58ac 120602008-08-06 Christian Franke <franke@computer.org>
12061
12062 * conf/common.rmk: Build and install `10_windows'.
12063 * util/grub.d/10_windows.in: New script.
12064
337f5a1e 120652008-08-06 Pavel Roskin <proski@gnu.org>
12066
12067 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12068
057bc4ac 120692008-08-06 Robert Millan <rmh@aybabtu.com>
12070
12071 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12072 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12073
2b99f123 120742008-08-06 Bean <bean123ch@gmail.com>
12075
12076 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12077 (grub_pxefs_fs_int): Remove dummy definition.
12078 (grub_pxefs_open): Use data->block_size to store the current block
12079 size setting.
12080 (grub_pxefs_read): Use block size stored in data->block_size. As the
12081 value of grub_pxe_blksize can be changed after the file is opened.
12082
9f0234cb 120832008-08-06 Bean <bean123ch@gmail.com>
12084
12085 * fs/i386/pc/pxe.c (curr_file): new variable.
12086 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12087 require the dummy internal file system anymore.
12088 (grub_pxefs_read): Removed.
12089 (grub_pxefs_close): Likewise.
12090 (grub_pxefs_fs_int): Likewise.
12091 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12092 connection when we switch file.
12093 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12094
a55d42e0 120952008-08-06 Robert Millan <rmh@aybabtu.com>
12096
12097 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12098 `halt.mod'.
12099 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12100 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12101
12102 * kern/i386/halt.c: New file.
12103 * kern/i386/reboot.c: Likewise.
12104 * include/grub/i386/reboot.h: Likewise.
12105 * include/grub/i386/halt.h: Likewise.
12106
12107 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12108 Include `<grub/cpu/halt.h>'.
12109 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12110 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12111
12112 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12113 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12114 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12115 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12116 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12117 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12118 from here ...
12119 * include/grub/i386/at_keyboard.h: ... to here.
12120
24371d26 121212008-08-05 Robert Millan <rmh@aybabtu.com>
12122
12123 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12124 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12125 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12126 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12127 `kern/generic/millisleep.c'.
12128
12129 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12130 instead of grub_get_rtc().
12131 (grub_tsc_init): Initialize `tsc_boot_time'.
12132
12133 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12134 (grub_machine_init): Use grub_tsc_init() rather than
12135 installing an RTC-based handler via grub_install_get_time_ms().
12136
12137 * kern/i386/pit.c: New file.
12138 * include/grub/i386/pit.h: Likewise.
12139
9e7007b3 121402008-08-05 Bean <bean123ch@gmail.com>
12141
12142 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12143
12144 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12145 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12146 (pxe_mod_SOURCES): New macro.
12147 (pxe_mod_CFLAGS): Likewise.
12148 (pxe_mod_LDFLAGS): Likewise.
12149 (pxecmd_mod_SOURCES): Likewise.
12150 (pxecmd_mod_CFLAGS): Likewise.
12151 (pxecmd_mod_LDFLAGS): Likewise.
12152
12153 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12154 (grub_pxe_call): Likewise.
12155
12156 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12157
12158 * commands/i386/pc/pxecmd.c: New file.
12159
9f0234cb 12160 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12161
12162 * include/grub/i386/pc/pxe.h: Likewise.
12163
6977d49f 121642008-08-05 Bean <bean123ch@gmail.com>
12165
12166 * util/console.c (grub_console_cur_color): New variable.
12167 (grub_console_standard_color): Likewise.
12168 (grub_console_normal_color): Likewise.
12169 (grub_console_highlight_color): Likewise.
12170 (color_map): Likewise.
12171 (use_color): Likewise.
12172 (NUM_COLORS): New macro.
12173 (grub_ncurses_setcolorstate): Handle color properly.
12174 (grub_ncurses_setcolor): Don't change color here, just remember the
12175 settings, color will be set in grub_ncurses_setcolorstate.
12176 (grub_ncurses_getcolor): New function.
12177 (grub_ncurses_init): Initialize color pairs.
12178 (grub_ncurses_term): New member grub_ncurses_getcolor.
12179
9c2ff3ee 121802008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12181
9c2ff3ee 12182 High resolution timer support. Implemented for x86 CPUs using TSC.
12183 Extracted generic grub_millisleep() so it's linked in only as needed.
12184 This requires a Pentium compatible CPU; if the RDTSC instruction is
12185 not supported, then it falls back on the generic grub_get_time_ms()
12186 implementation that uses the machine's RTC.
12187
12188 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12189 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12190 `kern/generic/millisleep.c'.
12191
12192 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12193 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12194
12195 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12196 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12197
12198 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12199
12200 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12201 `kern/generic/millisleep.c'.
12202
12203 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12204
12205 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12206
12207 * kern/generic/rtc_get_time_ms.c: New file.
12208
12209 * kern/generic/millisleep.c: New file.
337f5a1e 12210
9c2ff3ee 12211 * kern/misc.c: Don't include
12212 <kern/time.h> anymore.
12213 (grub_millisleep_generic): Removed.
12214
12215 * commands/sleep.c (grub_interruptible_millisleep): Uses
12216 grub_get_time_ms() instead of grub_get_rtc().
12217
12218 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12219 function.
12220 (grub_cpu_is_cpuid_supported): New inline function.
12221 (grub_cpu_is_tsc_supported): New inline function.
12222 (grub_tsc_init): New function prototype.
12223 (grub_tsc_get_time_ms): New function prototype.
12224
12225 * kern/i386/tsc.c (grub_get_time_ms): New file.
12226
12227 * include/grub/time.h: Include <grub/types.h.
12228 (grub_millisleep_generic): Removed.
12229 (grub_get_time_ms): New prototype.
12230 (grub_install_get_time_ms): New prototype.
12231 (grub_rtc_get_time_ms): New prototype.
12232
12233 * kern/time.c (grub_get_time_ms): New function.
12234 (grub_install_get_time_ms): New function.
12235
12236 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12237 <grub/time.h> anymore.
12238 (grub_millisleep): Removed.
12239 (grub_machine_init): Call grub_tsc_init.
12240
12241 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12242 get_time_ms() implementation.
12243
12244 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12245 (ieee1275_get_time_ms): New function.
12246 (grub_machine_init): Install get_time_ms() implementation.
12247
12248 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12249 (grub_machine_init): Call grub_tsc_init().
12250 (grub_millisleep): Removed.
bf06a93f 12251
9c2ff3ee 12252 * kern/ieee1275/init.c (grub_millisleep): Removed.
12253 (grub_machine_init): Install ieee1275_get_time_ms()
12254 implementation.
12255 (ieee1275_get_time_ms): New function.
12256 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12257 real work.
12258
9ec92aaf 122592008-08-05 Marco Gerards <marco@gnu.org>
12260
12261 * disk/ata.c: Include <grub/pci.h>.
12262 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12263 (grub_ata_initialize): Rewritten.
12264 (grub_ata_device_initialize): New function.
12265
8d23f507 122662008-08-04 Pavel Roskin <proski@gnu.org>
12267
12268 * kern/main.c: Include grub/mm.h.
12269
5e15ee3d 122702008-08-04 Robert Millan <rmh@aybabtu.com>
12271
12272 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12273 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12274 corruption problem).
12275
a9053f8f 122762008-08-04 Robert Millan <rmh@aybabtu.com>
12277
12278 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12279 warnings introduced in my last commit.
12280
dd19c7d7 122812008-08-03 Robert Millan <rmh@aybabtu.com>
12282
12283 Make PCI available on all i386 architectures.
12284
12285 * include/grub/i386/pc/pci.h: Move from here ...
12286 * include/grub/i386/pci.h: ... to here.
12287
12288 * include/grub/i386/pc/pci.h: Remove.
12289 * include/grub/i386/efi/pci.h: Remove.
12290 * include/grub/x86_64/efi/pci.h: Remove.
12291
12292 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12293 `<grub/cpu/pci.h>'.
12294
12295 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12296 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12297 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12298
12299 * conf/i386-ieee1275.rmk: Likewise.
12300
e14a6184 123012008-08-03 Robert Millan <rmh@aybabtu.com>
12302
12303 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12304 (grub_console_setcursor): Make it possible to set cursor off.
12305
52768e37 123062008-08-03 Robert Millan <rmh@aybabtu.com>
12307
12308 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12309 of modules instead of assuming which platform provides what.
12310 * util/update-grub.in: Likewise.
12311
2d52f57f 123122008-08-03 Robert Millan <rmh@aybabtu.com>
12313
12314 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12315 instead of `grub_install_dos_part' to determine whether a drive needs
12316 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12317 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12318
2a5cd121 123192008-08-02 Robert Millan <rmh@aybabtu.com>
12320
12321 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12322
93808428 123232008-08-02 Robert Millan <rmh@aybabtu.com>
12324
12325 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12326 of informational grub_dprintf() calls.
12327
3bd0a12a 123282008-08-02 Robert Millan <rmh@aybabtu.com>
12329
12330 * disk/memdisk.c (memdisk_size): Don't initialize.
12331 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12332
12333 * include/grub/i386/pc/kernel.h
12334 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12335 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12336 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12337 (grub_arch_memdisk_size): Remove.
12338
12339 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12340 field (was only used to transfer a constant). Add `type' field to
12341 support multiple module types.
12342 (grub_module_iterate): New function.
12343
12344 * kern/device.c (grub_device_open): Do not hide error messages
12345 when grub_disk_open() fails. Use grub_print_error() instead.
12346
12347 * kern/i386/pc/init.c (grub_arch_modules_addr)
12348 (grub_arch_memdisk_size): Remove functions.
12349 (grub_arch_modules_addr): Return the module address in high memory
12350 (now that it isn't copied anymore).
12351
12352 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12353 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12354 decompression routine (grub_total_module_size already includes that
12355 now). Don't copy modules back to low memory.
12356
12357 * kern/main.c: Include `<grub/mm.h>'.
12358 (grub_load_modules): Split out (and use) ...
12359 (grub_module_iterate): ... this function, which iterates through
12360 module objects and runs a hook.
12361 Comment out grub_mm_init_region() call, as it would cause non-ELF
12362 modules to be overwritten.
12363
12364 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12365 the memdisk image in its own region, make it part of the module list.
12366 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12367 (main): Parse --memdisk|-m option, and pass user-provided path as
12368 parameter to generate_image().
12369 (add_segments): Pass `memdisk_path' down to load_modules().
12370 (load_modules): Embed memdisk image in module section when requested.
12371 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12372 `header.type' instead of `header.offset'.
12373
12374 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12375 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12376 (memdisk_mod_LDFLAGS): New variables.
12377 * conf/i386-coreboot.rmk: Likewise.
12378 * conf/i386-ieee1275.rmk: Likewise.
12379
a927cc73 123802008-08-02 Robert Millan <rmh@aybabtu.com>
12381
12382 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12383 (backward_relocator): New variables. Used to allocate and relocate
12384 the payload, respectively.
12385 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12386 address, install the appropriate relocator code in each bound of
a927cc73 12387 the payload, and set the entry point such that
12388 grub_multiboot_real_boot() will jump to one of them.
12389
12390 * kern/i386/loader.S (grub_multiboot_payload_size)
12391 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12392 (grub_multiboot_payload_entry_offset): New variables.
12393 (grub_multiboot_real_boot): Set cpu context to what the relocator
12394 expects, and jump to the relocator instead of the payload.
12395
12396 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12397 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12398 (grub_multiboot_payload_entry_offset): Export.
12399
b15d8a0c 124002008-08-01 Bean <bean123ch@gmail.com>
12401
12402 * normal/menu_entry.c (editor_getline): Don't return the original
12403 string as result, as it will be released by lexer once it has done
12404 using it.
12405
cdfb3d22 124062008-08-01 Robert Millan <rmh@aybabtu.com>
12407
12408 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12409 within menuentries, not before them.
12410 util/grub.d/10_hurd.in: Likewise.
12411
9175e93d 124122008-08-01 Bean <bean123ch@gmail.com>
12413
12414 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12415 (bufio_mod_SOURCES): New macro.
12416 (bufio_mod_CFLAGS): Likewise.
12417 (bufio_mod_LDFLAGS): Likewise.
12418
12419 * include/grub/bufio.h: New file.
12420
12421 * io/bufio.c: Likewise.
12422
12423 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12424 (grub_video_reader_png): Use grub_buffile_open to open file.
12425
12426 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12427 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12428
12429 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12430 (grub_video_reader_tga): Use grub_buffile_open to open file.
12431
12432 * font/manager.c: Include <grub/bufio.h>.
12433 (add_font): Use grub_buffile_open to open file.
12434
3d8383e7 124352008-07-31 Robert Millan <rmh@aybabtu.com>
12436
12437 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12438 ELF segments, use a macro for arbitrarily accessing any of them instead
12439 of preparing a pointer that allows access to one at a time.
12440 (grub_multiboot_load_elf64): Likewise.
12441
16e641b6 124422008-07-31 Bean <bean123ch@gmail.com>
12443
12444 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12445 GRUB_KERNEL_MACHINE_DATA_END.
12446
59198b72 124472008-07-30 Robert Millan <rmh@aybabtu.com>
12448
12449 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12450 Increase from 0x50 to 0x60.
12451 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12452 use UUIDs to identify the root drive for them. If that's not
12453 possible, abort.
12454 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12455 check, for cross-disk installs.
12456
ae88bca3 124572008-07-30 Robert Millan <rmh@aybabtu.com>
12458
12459 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12460 is non-empty, use it to set the `prefix' environment variable instead
12461 of the usual approach.
12462 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12463 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12464 environment variable instead of dummy make_install_device().
12465
12466 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12467 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12468 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12469
12470 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12471 New variable reference.
12472 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12473 New macro. Defines offset of `grub_prefix' within startup.S (relative
12474 to `start').
12475 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12476 section within startup.S (relative to `start').
12477 * include/grub/i386/coreboot/kernel.h: Likewise.
12478
12479 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12480 Overwrite grub_prefix with its contents, at the beginning of the
12481 first segment.
12482 (main): Understand -p|--prefix.
12483
14f41dd1 124842008-07-30 Robert Millan <rmh@aybabtu.com>
12485
12486 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12487
4ca049a3 124882008-07-30 Robert Millan <rmh@aybabtu.com>
12489
12490 * term/i386/pc/vga_text.c (grub_console_cls): Use
12491 grub_console_gotoxy() to go back to beginning of the screen.
12492 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12493
2921d337 124942008-07-29 Christian Franke <franke@computer.org>
12495
12496 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12497 Add conversion of emulated mount points on Cygwin.
12498
b609876d 124992008-07-29 Christian Franke <franke@computer.org>
12500
12501 * util/update-grub.in: Add a check for admin
12502 group on Cygwin.
12503 Remove old `grub.cfg.new' before creation.
12504 Add `-f' to `mv' to handle the different filesystem
12505 semantics of Windows.
12506
e93e4679 125072008-07-29 Bean <bean123ch@gmail.com>
12508
12509 * normal/main.c (get_line): Fix buffer overflow bug.
12510
41694fd0 125112008-07-28 Robert Millan <rmh@aybabtu.com>
12512
12513 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12514 (struct grub_apple_header): New struct. Describes the layout of
12515 the partmap header.
12516 (apple_partition_map_iterate): Check the header magic as well as the
12517 partition magic (which was already being checked).
12518
cfd0b4e6 125192008-07-28 Pavel Roskin <proski@gnu.org>
12520
12521 * genmk.rb: Add a warning to the beginning of the output that
12522 it's a generated file and should not be edited.
12523
93cce016 125242008-07-28 Robert Millan <rmh@aybabtu.com>
12525
12526 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12527 with the same number are found, just use issue a warning with
12528 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12529
cd1df915 125302008-07-27 Robert Millan <rmh@aybabtu.com>
12531
12532 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12533 information.
12534
b70a8427 125352008-07-27 Bean <bean123ch@gmail.com>
12536
12537 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
12538 (grub_fat_find_dir): Ignore case when comparing filename.
12539
8f5e379f 125402008-07-27 Bean <bean123ch@gmail.com>
12541
12542 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
12543 smallino, as it's more descriptive, and i8count can be confused with
12544 the other field count.
12545 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
12546 inode type.
12547
a85cd5a0 125482008-07-27 Bean <bean123ch@gmail.com>
12549
12550 * commands/crc.c: New file.
12551
12552 * lib/crc.c: Likewise.
12553
12554 * include/grub/lib/crc.h: Likewise.
12555
12556 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
12557
12558 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
12559 (hexdump): Move this function to ...
12560
12561 * lib/hexdump.c: ... here.
12562
12563 * include/grub/hexdump.h: Renamed to ...
12564
12565 * include/grub/lib/hexdump.h: ... this.
12566
12567 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
12568
12569 * util/grub-editenv.c: Likewise.
12570
12571 * include/envblk.h: Renamed to ...
12572
12573 * include/lib/envblk.h: ... this.
12574
12575 * util/envblk.c: Renamed to ...
12576
12577 * lib/envblk.c: ... this.
12578
12579 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
12580 lib/hexdump.c.
12581 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
12582 (pkglib_MODULES): Add crc.mod.
12583 (hexdump_mod_SOURCES): Add lib/hexdump.c.
12584 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
12585 (crc_mod_SOURCES): New macro.
12586 (crc_mod_CFLAGS): Likewise.
12587 (crc_mod_LDFLAGS): Likewise.
12588
12589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
12590
12591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12592
12593 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12594
12595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12596
12597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12598
c298def0 125992008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 12600
12601 * commands/help.c: Include <grub/term.h>.
12602 (TERM_WIDTH): Removed. Updated all users.
12603
cc349fb3 126042008-07-27 Pavel Roskin <proski@gnu.org>
12605
12606 * util/getroot.c (find_root_device): Rephrase a comment to avoid
12607 spurious warnings about a comment within a comment.
12608
9051607e 126092008-07-25 Robert Millan <rmh@aybabtu.com>
12610
12611 * util/getroot.c (find_root_device): Skip devices that match
12612 /dev/dm-[0-9]. This lets the real device be found for any type of
12613 abstraction (LVM, EVMS, RAID..).
12614 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
12615 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
12616 device is found first, find_root_device() will now skip it.
12617
01453bfc 126182008-07-24 Pavel Roskin <proski@gnu.org>
12619
12620 * include/grub/types.h: Use __builtin_bswap32() and
12621 __builtin_bswap64() with gcc 4.3 and newer.
12622
6af9849f 126232008-07-24 Christian Franke <franke@computer.org>
12624
3a0fa256 12625 * util/i386/pc/grub-install.in: If `--debug' is specified,
12626 pass `--verbose' to grub-setup.
12627 Abort script if make_system_path_relative_to_its_root() fails.
12628
7810e747 126292008-07-24 Bean <bean123ch@gmail.com>
12630
12631 * configure.ac: Fixed a bug caused by the previous cygwin patch,
12632 variable `target_platform' should be `platform'.
12633
42290e17 126342008-07-24 Bean <bean123ch@gmail.com>
12635
51cc5193 12636 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 12637 (grub_png_init_fixed_block): New function.
12638 (grub_png_decode_image_data): Handle fixed huffman code compression.
12639
2a8a80e4 126402008-07-24 Bean <bean123ch@gmail.com>
12641
12642 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
12643 (grub_pe2elf_SOURCES): New macro.
12644 (CLEANFILES): Add grub-pe2elf.
12645
12646 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
12647 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
12648 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
12649 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
12650 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
12651 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
12652 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
12653 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
12654 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
12655 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
12656 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
12657 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
12658 (GRUB_PE32_DT_FUNCTION): Likewise.
12659 (GRUB_PE32_REL_I386_DIR32): Likewise.
12660 (GRUB_PE32_REL_I386_REL32): Likewise.
12661 (grub_pe32_symbol): New structure.
12662 (grub_pe32_reloc): Likewise.
12663
12664 * util/grub-pe2elf.c: New file.
12665
12666 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
12667 start symbol in non pc platform.
12668
12669 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
12670
12671 The following patches are from Christian Franke.
12672
12673 * include/grub/dl.h: Remove .previous, gas supports this only
12674 for ELF format.
12675
12676 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
12677 Remove .type, gas supports this only for ELF format.
12678
12679 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
12680 nullbytes in symbol table. This fixes an infinite loop if table is
12681 zero filled.
12682
12683 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
12684 TARGET_IMG_LDFLAGS and EXEEXT.
12685
12686 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
12687 TARGET_IMG_LDFLAGS_AC.
12688 (grub_CHECK_STACK_ARG_PROBE): New function.
12689
12690 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
12691
12692 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
12693
12694 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
12695 to set TARGET_IMG_LD* accordingly.
12696 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
12697 Add call to grub_CHECK_STACK_ARG_PROBE.
12698 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
12699
12700 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
12701
12702 * genmk.rb: Add EXEEXT to CLEANFILES.
12703
12ccdb75 127042008-07-23 Robert Millan <rmh@aybabtu.com>
12705
12706 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
12707 define the codes for arrows and lines used for the menu).
12708 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
12709 as well.
12710
12711 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
12712 fonts, because the latter are too slow.
12713
18eeaf04 127142008-07-21 Bean <bean123ch@gmail.com>
12715
12716 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
12717 a20. Run keyboard test last, as it will cause macbook to halt.
12718
b095e2ad 127192008-07-18 Pavel Roskin <proski@gnu.org>
12720
12721 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
12722 load foreign architecture modules correctly anyway. Keep
12723 support for loading host architecture modules, whether we
12724 compile them or not.
12725
737feb35 127262008-07-17 Pavel Roskin <proski@gnu.org>
12727
3f4ce737 12728 * configure.ac: Use -m32 or -m64 regardless of whether we had to
12729 change target_cpu. The compiler default can mismatch target_cpu
12730 in any case.
12731
4ad2d049 12732 * disk/efi/efidisk.c: Fix format warnings on x86_64.
12733 * kern/efi/efi.c: Likewise.
12734
f6130a12 12735 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
12736 target compiler is functional.
12737 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
12738 are set up.
12739
58393a2d 12740 * configure.ac: Default to efi platform for x86_64-apple. Allow
12741 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
12742 adjustments from the rest, only do them if target is not
12743 explicitly given. Merge other adjustments with the final sanity
12744 check. Remove an extraneous check for supported CPU. Be
12745 specific which CPU and which platform is not supported.
12746
737feb35 12747 * configure.ac: Default to pc platform for x86_64.
12748
546f966a 127492008-07-17 Robert Millan <rmh@aybabtu.com>
12750
12751 Partial LinuxBIOS -> Coreboot rename.
12752
12753 * conf/i386-linuxbios.rmk: Renamed to ...
12754 * conf/i386-coreboot.rmk: ... this.
12755 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
12756 * configure.ac: Accept "coreboot" as input platform (but maintain
12757 compatibility with "linuxbios").
12758 * include/grub/i386/linuxbios: Renamed to ...
12759 * include/grub/i386/coreboot: ... this.
12760
20011694 127612008-07-17 Bean <bean123ch@gmail.com>
12762
12763 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 12764 (appleldr_mod_SOURCE): New variable.
20011694 12765 (appleldr_mod_CFLAGS): Likewise.
12766 (appleldr_mod_LDFLAGS): Likewise.
12767 (pci_mod_SOURCES): Likewise.
12768 (pci_mod_CFLAGS): Likewise.
12769 (pci_mod_LDFLAGS): Likewise.
12770 (lspci_mod_SOURCES): Likewise.
12771 (lspci_mod_CFLAGS): Likewise.
12772 (lspci_mod_LDFLAGS): Likewise.
12773
12774 * conf/x86_64-efi.rmk: New file.
12775
12776 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
12777 macro.
12778 (grub_efidisk_write): Likewise.
12779
12780 * include/efi/api.h (efi_call_0): New macro.
12781 (efi_call_1): Likewise.
12782 (efi_call_2): Likewise.
12783 (efi_call_3): Likewise.
12784 (efi_call_4): Likewise.
12785 (efi_call_5): Likewise.
12786 (efi_call_6): Likewise.
12787
12788 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
12789 grub_rescue_cmd_chainloader.
12790
12791 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
12792 (grub_pe32_optional_header): Change some fields based on i386 or
12793 x86_64 platform.
12794 (GRUB_PE32_PE32_MAGIC): Likewise.
12795
12796 * include/grub/efi/uga_draw.h: New file.
12797
12798 * include/grub/elf.h (STN_ABS): New constant.
12799 (R_X86_64_NONE): Relocation constant for x86_64.
12800 (R_X86_64_64): Likewise.
12801 (R_X86_64_PC32): Likewise.
12802 (R_X86_64_GOT32): Likewise.
12803 (R_X86_64_PLT32): Likewise.
12804 (R_X86_64_COPY): Likewise.
12805 (R_X86_64_GLOB_DAT): Likewise.
12806 (R_X86_64_JUMP_SLOT): Likewise.
12807 (R_X86_64_RELATIVE): Likewise.
12808 (R_X86_64_GOTPCREL): Likewise.
12809 (R_X86_64_32): Likewise.
12810 (R_X86_64_32S): Likewise.
12811 (R_X86_64_16): Likewise.
12812 (R_X86_64_PC16): Likewise.
12813 (R_X86_64_8): Likewise.
12814 (R_X86_64_PC8): Likewise.
12815
12816 * include/grub/i386/efi/pci.h: New file.
12817
12818 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
12819 Change it value based on platform.
12820 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
12821 (GRUB_E820_RAM): Likewise.
12822 (GRUB_E820_RESERVED): Likewise.
12823 (GRUB_E820_ACPI): Likewise.
12824 (GRUB_E820_NVS): Likewise.
12825 (GRUB_E820_EXEC_CODE): Likewise.
12826 (GRUB_E820_MAX_ENTRY): Likewise.
12827 (grub_e820_mmap): New structure.
12828 (linux_kernel_header): Change the efi field according to different
12829 kernel version, also field from linux_kernel_header.
12830
12831 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
12832
12833 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
12834 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
12835 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
12836 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
12837 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
12838 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
12839 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
12840 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
12841 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
12842 (GRUB_PCI_ADDR_IO_MASK): Likewise.
12843
12844 * include/grub/x86_64/efi/kernel.h: New file.
12845
12846 * include/grub/x86_64/efi/loader.h: Likewise.
12847
12848 * include/grub/x86_64/efi/machine.h: Likewise.
12849
12850 * include/grub/x86_64/efi/pci.h: Likewise.
12851
12852 * include/grub/x86_64/efi/time.h: Likewise.
12853
12854 * include/grub/x86_64/linux.h: Likewise.
12855
12856 * include/grub/x86_64/setjmp.h: Likewise.
12857
12858 * include/grub/x86_64/time.h: Likewise.
12859
12860 * include/grub/x86_64/types.h: Likewise.
12861
12862 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
12863 GRUB_TARGET_SIZEOF_VOID_P.
12864
12865 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
12866 (grub_efi_locate_handle): Likewise.
12867 (grub_efi_open_protocol): Likewise.
12868 (grub_efi_set_text_mode): Likewise.
12869 (grub_efi_stall): Likewise.
12870 (grub_exit): Likewise.
12871 (grub_reboot): Likewise.
12872 (grub_halt): Likewise.
12873 (grub_efi_exit_boot_services): Likewise.
12874 (grub_get_rtc): Likewise.
12875
12876 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
12877 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
12878 (grub_efi_allocate_pages): Wrap efi calls.
12879 (grub_efi_free_pages): Wrap efi calls.
12880 (grub_efi_get_memory_map): Wrap efi calls.
12881
12882 * kern/x86_64/dl.c: New file.
12883
12884 * kern/x86_64/efi/callwrap.S: Likewise.
12885
12886 * kern/x86_64/efi/startup.S: Likewise.
12887
12888 * loader/efi/appleloader.c: Likewise.
12889
12890 * loader/efi/chainloader.c (cmdline): New variable.
12891 (grub_chainloader_unload): Wrap efi calls.
12892 (grub_chainloader_boot): Likewise.
12893 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
12894 command line.
12895
12896 * loader/efi/chainloader_normal.c (chainloader_command):
12897 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
12898 command line.
12899
12900 * loader/i386/efi/linux.c (allocate_pages): Change allocation
12901 method.
12902 (grub_e820_add_region): New function.
12903 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
12904 booting.
12905 (grub_find_video_card): New function.
12906 (grub_linux_setup_video): New function.
12907 (grub_rescue_cmd_linux): Probe for video information.
12908
12909 * normal/x86_64/setjmp.S: New file.
12910
12911 * term/efi/console.c (map_char): New function.
12912 (grub_console_putchar): Map unicode char.
12913 (grub_console_checkkey): Wrap efi calls.
12914 (grub_console_getkey): Likewise.
12915 (grub_console_getwh): Likewise.
12916 (grub_console_gotoxy): Likewise.
12917 (grub_console_cls): Likewise.
12918 (grub_console_setcolorstate): Likewise.
12919 (grub_console_setcursor): Likewise.
12920
12921 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
12922
59652a20 129232008-07-16 Pavel Roskin <proski@gnu.org>
12924
ef294055 12925 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
12926 format strings.
12927
59652a20 12928 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
12929 pointer, not an integer. This fixes a warning and prevents
12930 precision loss on 64-bit systems.
12931 (relocate_addresses): Remove unneeded cast.
12932
afc3b5d7 129332008-07-15 Pavel Roskin <proski@gnu.org>
12934
506b2b3e 12935 * kern/i386/ieee1275/init.c: Include grub/cache.h.
12936
62ead89c 12937 * term/ieee1275/ofconsole.c: Disable code unused on i386.
12938
c4cd51d7 12939 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
12940 Fix comparison between signed and unsigned.
12941
0d3d8f28 12942 * include/grub/i386/ieee1275/console.h: Declare
12943 grub_console_init() and grub_console_fini().
12944
8804b286 12945 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
12946 It's empty and unused.
12947
ee01cf35 12948 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
12949 beginning to avoid warnings with some compilers.
12950
afc3b5d7 12951 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
12952 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
12953
e4e8eaa5 129542008-07-14 Pavel Roskin <proski@gnu.org>
12955
407aceb4 12956 * kern/env.c (grub_register_variable_hook): Don't copy empty
12957 string, it leaks memory. Pass "" to grub_env_set(), it should
12958 handle constant strings.
12959
e4e8eaa5 12960 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
12961 * commands/cmp.c (grub_cmd_cmp): Likewise.
12962 * kern/dl.c (grub_dl_flush_cache): Likewise.
12963 (grub_dl_load_core): Likewise.
12964 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
12965 (grub_elf64_load_phdrs): Likewise.
12966
d4e2dad3 129672008-07-13 Pavel Roskin <proski@gnu.org>
12968
12969 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
12970 between signed and unsigned.
12971 (LzmaEnc_Finish): Fix warning about an unused parameter.
12972
aa24b516 129732008-07-13 Bean <bean123ch@gmail.com>
12974
12975 * Makefile.in (enable_lzo): New rule.
12976
12977 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
12978
12979 * configure.ac (ENABLE_LZO): New option --enable-lzo.
12980
12981 * boot/i386/pc/lnxboot.S: #include <config.h>.
12982
12983 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 12984 its value according to the compression algorithm used, lzo or lzma.
aa24b516 12985
12986 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
12987 compression algorithm according to configure macro.
12988
12989 * kern/i386/pc/startup.S (codestart): Likewise.
12990
12991 * kern/i386/pc/lzma_decode.S: New file.
12992
12993 * include/grub/lib/LzFind.h: Likewise.
12994
12995 * include/grub/lib/LzHash.h: Likewise.
12996
12997 * include/grub/lib/LzmaDec.h: Likewise.
12998
12999 * include/grub/lib/LzmaEnc.h: Likewise.
13000
13001 * include/grub/lib/LzmaTypes.h: Likewise.
13002
13003 * lib/LzFind.c: Likewise.
13004
13005 * lib/LzmaDec.c: Likewise.
13006
13007 * lib/LzmaEnc.c: Likewise.
13008
4ae821ac 130092008-07-13 Bean <bean123ch@gmail.com>
13010
13011 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13012 (grub_ext4_extent_header): New structure.
13013 (grub_ext4_extent): Likewise.
13014 (grub_ext4_extent_idx): Likewise.
13015 (grub_ext4_find_leaf): New function.
13016 (grub_ext2_read_block): Handle extents.
13017
9a745147 130182008-07-12 Robert Millan <rmh@aybabtu.com>
13019
13020 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13021
d49a4cf6 130222008-07-11 Robert Millan <rmh@aybabtu.com>
13023
13024 * util/grub.d/40_custom.in: New file. Example on how to add custom
13025 entries to /etc/grub.d.
13026 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13027 40_custom (implicitly, by merging all the grub.d rules).
13028
947414b4 130292008-07-11 Pavel Roskin <proski@gnu.org>
13030
0059cf6f 13031 * commands/read.c (grub_getline): Fix invalid memory access.
13032 Don't add newline to the variable value.
13033
947414b4 13034 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13035 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13036 (serial_hw_get_port): Check validity of the port number.
13037 (grub_cmd_serial): Check return value of serial_hw_get_port().
13038
62a02d00 130392008-07-07 Pavel Roskin <proski@gnu.org>
13040
13041 * boot/i386/pc/diskboot.S (notification_string): Replace
13042 "Loading kernel" with just "loading". This is shorter, less
13043 confusing and saves a few bytes for possible future changes.
13044
3e5581b0 130452008-07-05 Pavel Roskin <proski@gnu.org>
13046
ea387a48 13047 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13048 size for ATAPI devices, they are undefined. Output sector
13049 number in decimal form.
13050
3e5581b0 13051 * disk/ata.c: Use named constants for status bits.
13052
fdecb8fd 130532008-07-04 Pavel Roskin <proski@gnu.org>
13054
bcd35b90 13055 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13056 grub_addr_t before casting it to the void pointer to fix a
13057 warning. Non-addressable regions are discarded earlier.
13058 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13059 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13060 (check_signature): Don't shadow table_header.
13061 (grub_linuxbios_table_iterate): Cast numeric constants to
13062 grub_linuxbios_table_header_t.
13063 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13064 grub_stop().
13065
af58ab3d 13066 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13067 prevent warnings.
13068
1759aa57 13069 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13070 pointer, which can cause warnings. Support 64-bit addresses.
13071
fdecb8fd 13072 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13073 of sizeof(long). This fixes PowerPC image generation on x86_64.
13074
8516d2a8 130752008-07-04 Robert Millan <rmh@aybabtu.com>
13076
13077 This fixes a performance issue when pc & gpt partmap iterators
13078 didn't abort iteration even after our hook found what it was
fe987087 13079 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13080
13081 Some callers relied on previous buggy behaviour, since they would
34c44600 13082 raise an error when their own hooks caused early abortion of its
8516d2a8 13083 iteration.
13084
13085 * kern/device.c (grub_device_open): Improve error message.
13086 * disk/lvm.c (grub_lvm_open): Likewise.
13087 * disk/raid.c (grub_raid_open): Likewise.
13088
13089 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13090 when hook requests it, independently of grub_errno.
13091 (pc_partition_map_probe): Do not fail when find_func() caused
13092 early abortion of pc_partition_map_iterate().
13093
13094 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13095 when hook requests it, independently of grub_errno.
13096 (gpt_partition_map_probe): Do not fail when find_func() caused
13097 early abortion of gpt_partition_map_iterate().
13098
13099 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13100 when hook requests it, independently of grub_errno. Do not fail when
13101 part_map_iterate_hook() caused early abortion of p->iterate().
13102
13103 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13104 when grub_partition_iterate() returned with non-zero.
13105
277d0de9 131062008-07-03 Pavel Roskin <proski@gnu.org>
13107
13108 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13109 like we do in grub_ata_pio_read().
13110 (grub_ata_readwrite): Always write individual sectors. Fix the
13111 sector count for the remainder.
13112 (grub_ata_write): Enable writing to ATA devices. Correctly
13113 report error for ATAPI devices.
13114
d4c9b428 131152008-07-02 Pavel Roskin <proski@gnu.org>
13116
e43fc690 13117 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13118 warning.
13119
f707af42 13120 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13121 for every read sector, we already increment it for the whole
13122 batch. This fixes reading more than 256 sectors at once.
13123
11e16b15 13124 * util/grub-editenv.c (cmd_info): Cast argument to long
13125 explicitly. ptrdiff_t reduces to int on i386.
13126
cbabfdd4 13127 * util/grub-editenv.c (main): Be specific which parameter is
13128 missing.
13129
b8fbce0a 13130 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13131 (memdisk): Make memdisk_orig_addr a pointer.
13132
c9c8e606 13133 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13134 for file offsets, use grub_off_t instead. Fix printf format
13135 warnings.
13136
ca62e598 13137 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13138 there. Real unexpected warnings should not drown in the noise
13139 about known problems.
13140
ce8d1766 13141 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13142 grub_disk_addr_t for memory addresses.
13143
00c7a56a 13144 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13145 explicitly to fix a warning.
13146
08d3ef09 13147 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13148
cb71ba20 13149 * Makefile.in (MODULE_LDFLAGS): New variable.
13150 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13151 the linker accepts --build-id=none.
13152 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13153 MODULE_LDFLAGS.
13154 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13155
d4c9b428 13156 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13157 those in Linux XFS code. Provide a way to access 64-bit parent
13158 inode.
13159 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13160 the end of struct grub_xfs_dir_header.
13161
d4156eee 131622008-07-02 Bean <bean123ch@gmail.com>
13163
13164 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13165 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13166 and GRUB_IEEE1275_FLAG_NO_ANSI.
13167
13168 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13169 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13170 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13171
13172 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13173 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13174
13175 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13176 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13177
13178 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13179 esc sequence on non ANSI terminal.
13180 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13181
13182 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13183 beginning of file.
13184
2270f77b 131852008-07-02 Bean <bean123ch@gmail.com>
13186
13187 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13188 (grub_editenv_SOURCES): New variable.
13189 (pkglib_MODULES): Add loadenv.mod.
13190 (loadenv_mod_SOURCES): New variable.
13191 (loadenv_mod_CFLAGS): Likewise.
13192 (loadenv_mod_LDFLAGS): Likewise.
13193
13194 * include/grub/envblk.h: New file.
13195
13196 * util/envblk.c: New file.
13197
13198 * util/grub-editenv.c: New file.
13199
13200 * commands/loadenv.c: New file.
13201
0e9e51ec 132022008-07-01 Pavel Roskin <proski@gnu.org>
13203
d89b7634 13204 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13205 not unsigned char. This fixes warnings and is consistent with
13206 other tags.
13207
bf1835b1 13208 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13209
8222a04b 13210 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13211
6a42d99d 13212 * term/tparm.c (analyze): Always set *popcount.
13213
10b159d1 13214 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13215 cast to fix a warning.
13216
b8789f6c 13217 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13218 cast to suppress a warning.
13219
29d7e38a 13220 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13221 grub_fshelp_read_file() expects.
13222
f341f669 13223 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13224 write uuid as a 32-bit value in CPU byte order, so declare and
13225 use it as such.
13226
0e9e51ec 13227 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13228 long if the format specifier expects it.
13229 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13230 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13231 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13232 long to fix a warning.
13233 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13234 grub_dprintf() arguments to fix warnings.
13235
3aefa857 132362008-06-30 Pavel Roskin <proski@gnu.org>
13237
56c7668b 13238 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13239 install_bsd_part immediately before core.img is embedded or
13240 modified on disk. This fixes core.img verification if core.img
13241 cannot be embedded.
13242
3aefa857 13243 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13244 core_path to calculate the blocklist.
13245 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
13246
5444088d 132472008-06-29 Robert Millan <rmh@aybabtu.com>
13248
13249 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13250 block to disk block.
13251 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13252 Patch from Niels Böhm <bitbucket@arcor.de>
13253
674835c8 132542008-06-29 Robert Millan <rmh@aybabtu.com>
13255
13256 * util/update-grub_lib.in (font_path): Search for fonts in
13257 /boot/grub first, which is more likely to be readable (we aren't
13258 deciding where fonts live, just looking for them).
13259
f527dbc8 132602008-06-26 Pavel Roskin <proski@gnu.org>
13261
6c2d8df6 13262 * util/biosdisk.c (read_device_map): Don't leave dead map
13263 entries for devices failing stat() check.
13264
f527dbc8 13265 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13266 core_path_dev for the core.img path on the target device.
13267
aebe3d13 132682008-06-26 Robert Millan <rmh@aybabtu.com>
13269
13270 * disk/fs_uuid.c: New file.
13271 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13272 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13273 (fs_uuid_mod_LDFLAGS): New variables.
13274 * include/grub/disk.h (grub_disk_dev_id): Add
13275 `GRUB_DISK_DEVICE_UUID_ID'.
13276 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13277 implement iterate().
13278
37aaf354 132792008-06-26 Robert Millan <rmh@aybabtu.com>
13280
13281 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13282 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13283 Linux image includes no initrd.
13284
25ff262a 132852008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
13286
13287 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13288 call to resolve the core image location that effectively appended the
13289 name twice.
13290
76a2bd44 132912008-06-21 Robert Millan <rmh@aybabtu.com>
13292
13293 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13294 call from here ...
13295
13296 * util/grub.d/10_hurd.in: ... to here ...
13297 * util/grub.d/10_linux.in: ... and here.
13298
650e1c79 132992008-06-19 Robert Millan <rmh@aybabtu.com>
13300
fe987087 13301 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13302 after it has been set by grub_machine_set_prefix().
13303
6ce63911 133042008-06-19 Robert Millan <rmh@aybabtu.com>
13305
13306 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13307 search result when not saving to variable, not the other way around.
13308 When saving to variable, abort iteration as soon as a match is found.
13309
73940cec 133102008-06-19 Robert Millan <rmh@aybabtu.com>
13311
13312 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13313 check for partition that provides /boot/grub. Its logic is flawed,
13314 as it prevents prepare_grub_to_access_device() from being called
13315 multiple times.
13316
3c62a39d 133172008-06-19 Robert Millan <rmh@aybabtu.com>
13318
13319 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13320 "insmod" command directly when abstraction modules are needed,
fe987087 13321 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13322 since it had already been processed).
13323
47395a42 133242008-06-19 Pavel Roskin <proski@gnu.org>
13325
13326 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13327 changed. This is needed in case GRUB_LIBDIR changes.
13328 * conf/i386-ieee1275.rmk: Likewise.
13329 * conf/i386-linuxbios.rmk: Likewise.
13330 * conf/i386-pc.rmk: Likewise.
13331 * conf/powerpc-ieee1275.rmk: Likewise.
13332
a145ac2d 133332008-06-18 Pavel Roskin <proski@gnu.org>
13334
13335 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13336 kernel_elf_symlist.c to symlist.c for consistency with other
13337 architectures. Update all users.
13338 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13339
7847c51e 133402008-06-18 Robert Millan <rmh@aybabtu.com>
13341
13342 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13343 it in prefix.
13344
13345 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13346 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13347 a RAID device, run setup() for all members independently on whether
13348 LVM abstraction is being used.
13349 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13350 If grub-mkimage has set `*install_dos_part == -2', don't override this
13351 value.
13352 Perform *install_dos_part adjustments independently on whether
13353 we're embedding or not.
13354 Clarify error message when image is too big for embedding.
13355 Remove duplicate *install_dos_part stanza.
13356
b23e5644 133572008-06-17 Robert Millan <rmh@aybabtu.com>
13358
13359 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13360 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13361 variables.
13362 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13363 values in grub_ofconsole_normal_color and
13364 grub_ofconsole_highlight_color (they're not directly related to
13365 background and foreground).
13366 (grub_ofconsole_setcolorstate): Extract background and foreground
13367 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13368
0aac2f79 133692008-06-17 Robert Millan <rmh@aybabtu.com>
13370
13371 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13372 /boot/grub for the check in last commit, not /boot (they could be
13373 different partitions).
13374
3cca7ef3 133752008-06-16 Robert Millan <rmh@aybabtu.com>
13376
13377 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13378 asked to setup access for the same partition that provides /boot,
13379 don't bother using UUIDs since our root already has the value we
13380 want.
13381
347396d8 133822008-06-16 Robert Millan <rmh@aybabtu.com>
13383
13384 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13385 I2O devices.
13386 Patch from Sven Mueller <sven@debian.org>.
13387
991477f8 133882008-06-16 Robert Millan <rmh@aybabtu.com>
13389
13390 * util/update-grub.in: Check for $EUID instead of $UID.
13391 Reported by Vincent Zweije.
13392
d31a32a1 133932008-06-16 Bean <bean123ch@gmail.com>
13394
fe987087 13395 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13396 (grub_ext2_read_block): Likewise.
13397 (grub_ext2_read_inode): Likewise.
13398 (grub_ext2_mount): Likewise.
13399 (grub_ext2_close): Likewise.
13400 (grub_ext3_get_journal): Removed.
13401
fe987087 13402 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13403 (grub_reiserfs_read_symlink): Likewise.
13404 (grub_reiserfs_mount): Likewise.
13405 (grub_reiserfs_open): Likewise.
13406 (grub_reiserfs_read): Likewise.
13407 (grub_reiserfs_close): Likewise.
13408 (grub_reiserfs_get_journal): Removed.
13409
13410 * fs/fshelp.c (grub_fshelp_read): Removed.
13411 (grub_fshelp_map_block): Likewise.
13412
13413 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13414 (grub_fshelp_journal): Likewise.
13415 (grub_fshelp_read): Likewise.
13416 (grub_fshelp_map_block): Likewise.
13417
3540a760 134182008-06-16 Pavel Roskin <proski@gnu.org>
13419
13420 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13421 floating point anymore.
13422 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13423
95614c84 134242008-06-15 Pavel Roskin <proski@gnu.org>
13425
13426 * commands/ls.c (grub_ls_list_files): Use integer calculations
13427 for human readable format, avoid floating point use.
13428 * kern/misc.c (grub_ftoa): Remove.
13429 (grub_vsprintf): Remove floating point support.
13430
50465dd6 134312008-06-15 Robert Millan <rmh@aybabtu.com>
13432
fe6b695a 13433 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13434 devices.
13435 Reported by Max Vozeler.
13436
a9207284 134372008-06-15 Robert Millan <rmh@aybabtu.com>
13438
13439 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13440 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13441 skipped later.
13442 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13443 the beginning of the prefix.
13444
13445 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13446 It is assumed that if we have a memdisk, grub-mkimage has set
13447 grub_prefix to include the "(memdisk)" drive in it.
13448
a7cbd45a 134492008-06-15 Robert Millan <rmh@aybabtu.com>
13450
13451 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13452 Initialize keyboard controller after registering the terminal, so that
13453 grub_printf() can be called from grub_keyboard_controller_init().
13454
21cf716a 134552008-06-15 Robert Millan <rmh@aybabtu.com>
13456
13457 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13458 extent-btree which is written as big endian on disk.
13459 Reported by Alain Greppin <al@chilibi.org>.
13460
23a64d8e 134612008-06-14 Robert Millan <rmh@aybabtu.com>
13462
13463 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13464 * util/i386/pc/grub-install.in (modules): Likewise.
13465
d687651c 134662008-06-13 Pavel Roskin <proski@gnu.org>
13467
13468 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13469
dfe9ddd4 134702008-06-13 Bean <bean123ch@gmail.com>
13471
13472 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13473
13474 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13475
13476 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13477 to indicate sparse block.
13478
16ae7781 134792008-06-12 Pavel Roskin <proski@gnu.org>
13480
e6d1a308 13481 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13482 number, grub_fshelp_read() does it for us.
13483
16ae7781 13484 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13485 linear disk read with journal translation.
13486 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13487 * include/grub/fshelp.h: Declare grub_fshelp_read().
13488
40fd3a2b 134892008-06-09 Pavel Roskin <proski@gnu.org>
13490
13491 * fs/minix.c (grub_minix_mount): Handle error reading
13492 superblock.
13493
f5679726 134942008-06-08 Robert Millan <rmh@aybabtu.com>
13495
13496 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13497 don't append the RAID prefix afterwards.
13498 Reported by Clint Adams.
13499
ce525529 135002008-06-08 Robert Millan <rmh@aybabtu.com>
13501
13502 Based on description from Pavel:
13503 * kern/disk.c (grub_disk_check_range): Rename to ...
13504 (grub_disk_adjust_range): ... this. Add a comment explaining the
13505 tasks performed by this function.
13506
ad4936a0 135072008-06-08 Robert Millan <rmh@aybabtu.com>
13508
13509 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13510 `num_serial' (for consistency with other variables).
13511 (struct grub_ntfs_data): Add `uuid' member.
13512 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13513 (grub_ntfs_uuid): New function.
13514 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13515
dc20b0f9 135162008-06-07 Pavel Roskin <proski@gnu.org>
13517
13518 * util/biosdisk.c (open_device): Revert last change to the
13519 function, it broke installation. The sector needs to be
13520 different dependent on which device is opened.
13521
c5e3cfba 135222008-06-06 Robert Millan <rmh@aybabtu.com>
13523
13524 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13525 rest of GRUB, and breakage doesn't happen if its value were modified.
13526
13527 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13528 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13529 a constant (same value).
13530 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13531 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13532
26a1f8c4 135332008-06-06 Robert Millan <rmh@aybabtu.com>
13534
13535 * util/biosdisk.c (open_device): Do not modify sector offset when
13536 accessing a partition. kern/disk.c already handles this for us.
13537
25d6b327 135382008-06-06 Robert Millan <rmh@aybabtu.com>
13539
13540 * util/grub-emu.c (grub_machine_init): Move code in this function from
13541 here ...
13542 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
13543 segfault in case grub_printf() is called).
13544
13545 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
13546 grub_probe. Update all users not to explicitly add it again.
13547 (grub_device): New variable; contains corresponding device for grubdir.
13548 (fs_module, partmap_module, devabstraction_module): Pass
13549 `--device ${grub_device}' to grub_probe to avoid traversing /dev
13550 every time.
13551
9ece62fb 135522008-06-05 Robert Millan <rmh@aybabtu.com>
13553
13554 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
13555 is found, print it (same layout as with labels).
13556
1ad36d37 135572008-06-04 Robert Millan <rmh@aybabtu.com>
13558
13559 * util/biosdisk.c (get_drive): Rename to ...
13560 (find_grub_drive): ... this. Update all users.
13561
13562 (get_os_disk): Rename to ...
13563 (convert_system_partition_to_system_disk): ... this. Update all users.
13564
13565 (find_drive): Rename to ...
13566 (find_system_device): ... this. Update all users.
13567
e6a30859 135682008-06-04 Robert Millan <rmh@aybabtu.com>
13569
13570 * util/biosdisk.c (get_os_disk): Handle IDA devices.
13571 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13572 (make_device_map): Likewise.
13573
00c108a4 135742008-06-01 Robert Millan <rmh@aybabtu.com>
13575
13576 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
13577 before dereferencing it.
13578
13579 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
13580 union with fat12/fat16-specific ones. Add some new fields, including
13581 `num_serial' for both versions.
13582 (struct grub_fat_data): Add `uuid' member.
13583 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
13584 names. Initialize `data->uuid' using `num_serial'.
13585 (grub_fat_uuid): New function.
13586 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
13587
13588 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
13589 (grub_reiserfs_uuid): New function.
13590 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
13591 member.
13592
13593 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
13594 (grub_xfs_uuid): New function.
13595 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
13596
1385c5bb 135972008-06-01 Robert Millan <rmh@aybabtu.com>
13598
13599 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
13600 code that is backward compatible with pre-uuid search command.
13601
c682dfd7 136022008-05-31 Robert Millan <rmh@aybabtu.com>
13603
13604 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
13605 floppies after everything else, to ensure floppy drive isn't accessed
13606 unnecessarily (patch from Bean).
13607
b7db5d47 136082008-05-31 Robert Millan <rmh@aybabtu.com>
13609
13610 * commands/search.c (search_label, search_fs_uuid, search_file): Do
13611 not print device names when we were asked to set a variable.
13612
6e037aa9 136132008-05-31 Robert Millan <rmh@aybabtu.com>
13614
13615 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
13616 using "cursor-on" and "cursor-off" commands (understood at least by
13617 the Open Firmware flavour on OLPC).
13618
41305bc8 136192008-05-31 Michael Gorven <michael@gorven.za.net>
13620
13621 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
13622 on and off sequences.
13623
69ba137e 136242008-05-31 Robert Millan <rmh@aybabtu.com>
13625
13626 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
13627 * util/update-grub.in: Likewise.
13628
520ae21b 136292008-05-30 Pavel Roskin <proski@gnu.org>
13630
13631 * util/biosdisk.c (linux_find_partition): Simplify logic and
13632 make the code more universal. Keep special processing for
13633 devfs, but use a simple rule for all other devices. If the
13634 device ends with a number, append 'p' and the partition number.
13635 Otherwise, append only the partition number.
13636
5786569b 136372008-05-30 Robert Millan <rmh@aybabtu.com>
13638
13639 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
13640 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
13641 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
13642 the `root' parameter to Linux.
13643
51500452 136442008-05-30 Robert Millan <rmh@aybabtu.com>
13645
13646 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
13647 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
13648 --fs_uuid with --fs-uuid.
13649 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
13650 all filesystems support them).
13651
811d3878 136522008-05-30 Robert Millan <rmh@aybabtu.com>
13653
13654 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 13655 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 13656
cab63c95 136572008-05-30 Robert Millan <rmh@aybabtu.com>
13658
13659 * util/grub.d/00_header.in: Remove obsolete comment referencing
13660 convert_system_path_to_grub_path().
13661 * util/update-grub.in: Likewise.
13662 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
13663 (convert_system_path_to_grub_path): Add a warning message explaining
13664 that this function is deprecated. Rely on is_path_readable_by_grub()
13665 for the readability checks.
13666 (font_path): Use is_path_readable_by_grub() for the readability
13667 check rather than convert_system_path_to_grub_path().
13668
972e2f7a 136692008-05-30 Robert Millan <rmh@aybabtu.com>
13670
13671 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
13672 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
13673 converting it first.
13674 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
13675 grub.cfg for access to font file, and afterwards call it again to set
13676 the root device.
13677
62191274 136782008-05-30 Robert Millan <rmh@aybabtu.com>
13679
13680 * commands/search.c (options): Add --fs_uuid option.
13681 (search_fs_uuid): New function.
13682 (grub_cmd_search): Fix --set argument passing.
13683 Use search_fs_uuid() when requested via --fs_uuid.
13684 (grub_search_init): Update help message.
13685 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
13686 and redeclare it as an array of 16-bit words.
13687 (grub_ext2_uuid): New function.
13688 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
13689 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
13690 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
13691 (GRUB_DEVICE_BOOT_UUID): New variables.
13692 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
13693 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
13694 whenever possible.
13695 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
13696 just assume `root' variable has the right value.
13697 * util/grub.d/10_linux.in: Likewise.
13698 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
13699 via PRINT_FS_UUID.
13700 (main): Recognise `-t fs_uuid' argument.
13701
01b73ec8 137022008-05-30 Robert Millan <rmh@aybabtu.com>
13703
13704 * util/biosdisk.c (map): Redefine structure to hold information
13705 about GRUB drive name.
fe6b695a 13706 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 13707 drive names.
13708 (call_hook): Remove.
13709 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
13710 member. Assume drive has partitions.
13711 (grub_util_biosdisk_open): Access device names via `.device' struct
13712 member.
13713 (open_device): Likewise.
13714 (find_drive): Likewise.
13715 (read_device_map): Adjust map[] usage to match the new struct
13716 definition. Don't check for duplicates (still possible, but not cheap
13717 anymore).
13718 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
13719 (make_device_name): Remove assumption of BIOS-like drive names.
13720
22f16596 137212008-05-30 Pavel Roskin <proski@gnu.org>
13722
13723 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
13724 compiling execute.c doesn't need grub_script.tab.h anymore.
13725 (normal/command.c_DEPENDENCIES): Likewise.
13726 (normal/function.c_DEPENDENCIES): Likewise.
13727 * conf/i386-ieee1275.rmk: Likewise.
13728 * conf/i386-linuxbios.rmk: Likewise.
13729 * conf/i386-pc.rmk: Likewise.
13730 * conf/powerpc-ieee1275.rmk: Likewise.
13731 * conf/sparc64-ieee1275.rmk: Likewise.
13732
528ad8f2 137332008-05-29 Pavel Roskin <proski@gnu.org>
13734
d1dff95d 13735 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
13736 when scanning metadata for volume group name.
13737
528ad8f2 13738 * include/grub/script.h: Don't include grub_script.tab.h. It's
13739 a generated file, which may only be included from the files with
13740 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
13741 use union YYSTYPE, as the later allows forward declaration.
13742 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
13743
47248e08 137442008-05-29 Robert Millan <rmh@aybabtu.com>
13745
13746 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
13747 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
13748 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
13749 (grub_console_checkkey): Add grub_dprintf() call to report unknown
13750 scan codes.
13751
ee632529 137522008-05-29 Robert Millan <rmh@aybabtu.com>
13753
13754 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
13755 control key combinations.
13756
eee96e08 137572008-05-29 Robert Millan <rmh@aybabtu.com>
13758
13759 * util/powerpc/ieee1275/grub-install.in: Move from here ...
13760 * util/ieee1275/grub-install.in: ... to here.
13761 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
13762 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
13763 (grub_install_SOURCES): Likewise.
13764
da9a6a94 137652008-05-29 Robert Millan <rmh@aybabtu.com>
13766
13767 * fs/affs.c: Update copyright year.
13768 * fs/ext2.c: Likewise.
13769 * fs/fshelp.c: Likewise.
13770 * fs/hfsplus.c: Likewise.
13771 * fs/ntfs.c: Likewise.
13772 * fs/xfs.c: Likewise.
13773 * include/grub/fshelp.h: Likewise.
13774 * util/grub-mkdevicemap.c: Likewise.
13775
12e65f3a 137762008-05-28 Robert Millan <rmh@aybabtu.com>
13777
13778 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
13779 might need to be fatfs to support some firmware implementations
13780 (e.g. OFW or EFI).
13781
23023641 137822008-05-28 Robert Millan <rmh@aybabtu.com>
13783
13784 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
13785 devices.
13786 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13787 (make_device_map): Likewise.
13788
887d2619 137892008-05-20 Bean <bean123ch@gmail.com>
13790
13791 * fs/fshelp.c (grub_fshelp_map_block): New function.
13792 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
13793 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
13794
13795 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
13796 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
13797 (grub_fshelp_journal): New structure.
13798 (grub_fshelp_map_block): New function prototype.
13799 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
13800 (grub_fshelp_map_block): Likewise.
13801
13802 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
13803 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
13804 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
13805 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
13806 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
13807 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
13808 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
13809 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
13810 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
13811 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
13812 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
13813 (grub_ext2_sblock): New members for journal support.
13814 (grub_ext3_journal_header): New structure.
13815 (grub_ext3_journal_revoke_header): Likewise.
13816 (grub_ext3_journal_block_tag): Likewise.
13817 (grub_ext3_journal_sblock): Likewise.
13818 (grub_fshelp_node): New members logfile and journal.
13819 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
13820 grub_fshelp_map_block to get real block number.
13821 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
13822 number.
13823 (grub_ext2_read_inode): Likewise.
13824 (grub_ext3_get_journal): New function.
13825 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
13826 (grub_ext2_close): Release memory used by journal.
13827
13828 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
13829 (REISERFS_MAGIC_DESC_BLOCK): New macro.
13830 (grub_reiserfs_transaction_header): Renamed to
13831 grub_reiserfs_description_block, replace field data with real_blocks.
13832 (grub_reiserfs_commit_block): New structure.
13833 (grub_reiserfs_data): New member journal.
13834 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
13835 number.
13836 (grub_reiserfs_read_symlink): Likewise.
13837 (grub_reiserfs_iterate_dir): Likewise.
13838 (grub_reiserfs_open): Likewise.
13839 (grub_reiserfs_read): Likewise.
13840 (grub_reiserfs_get_journal): New function.
13841 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
13842 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
13843 using grub_reiserfs_get_journal.
13844 (grub_reiserfs_close): Release memory used by journal.
13845
13846 * fs/affs.c (grub_affs_read_block): Change block type to
13847 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
13848
13849 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
13850
13851 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
13852
13853 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
13854
13855 * fs/udf.c (grub_udf_read_block): Change block type to
13856 grub_disk_addr_t. Use type cast to avoid warning.
13857
13858 * fs/xfs.c (grub_xfs_read_block): Likewise.
13859
b7c6bed5 138602008-05-16 Christian Franke <franke@computer.org>
13861
13862 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
13863 to ensure that break with ESC will always work.
13864 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
13865 Remove ESC from keyboard queue.
13866
eedf167f 138672008-05-16 Christian Franke <franke@computer.org>
13868
13869 * util/biosdisk.c: [__CYGWIN__] Add includes.
13870 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
13871 (get_os_disk): Move variable declarations to OS specific
13872 parts to avoid warning.
13873 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
13874 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
13875 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
13876 Cygwin.
13877 * util/getroot.c: [__CYGWIN__] Add includes.
13878 (strip_extra_slashes): Fix "/" case.
13879 [__CYGWIN__] (get_win32_path): New function.
13880 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
13881 [__CYGWIN__] (find_root_device): Disable.
13882 [__CYGWIN__] (get_bootsec_serial): New function.
13883 [__CYGWIN__] (find_cygwin_root_device): Likewise.
13884 [__linux__] (grub_guess_root_device): Add early returns to simplify
13885 structure.
13886 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
13887 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
13888 check for Linux only.
13889
a079699e 138902008-05-15 Bean <bean123ch@gmail.com>
13891
13892 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
13893 keyboard hang problem in apple's intel mac.
13894
1cf4059a 138952008-05-09 Robert Millan <rmh@aybabtu.com>
13896
13897 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
13898 devices.
13899 * util/grub-mkdevicemap.c (get_virtio_disk_name)
13900 (make_device_map): Likewise.
13901 Reported by Aurelien Jarno <aurel32@debian.org>
13902
ed759390 139032008-05-07 Ian Campbell <ijc@hellion.org.uk>
13904
13905 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
13906 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
13907 (make_device_map): Output entries for xvd type disks.
13908
b56c4eaa 139092008-05-07 Robert Millan <rmh@aybabtu.com>
13910
13911 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
13912 devices.
13913 * util/grub-mkdevicemap.c (get_cciss_disk_name)
13914 (make_device_map): Likewise.
13915 Reported by Roland Dreier <rdreier@cisco.com>
13916
7f8866ed 139172008-05-07 Robert Millan <rmh@aybabtu.com>
13918
13919 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
13920 grub_strstr() call. Correct a few mistakes in failure path handling.
13921
b0346e0f 139222008-05-06 Robert Millan <rmh@aybabtu.com>
13923
13924 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13925 Do not print a trailing slash (therefore, the root directory is an
13926 empty string).
13927 (convert_system_path_to_grub_path): Do not remove trailing slash
13928 from make_system_path_relative_to_its_root() output.
13929
13930 * util/i386/pc/grub-install.in: Add trailing slash to output from
13931 make_system_path_relative_to_its_root().
13932
6cf12cbd 139332008-05-06 Robert Millan <rmh@aybabtu.com>
13934
13935 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
13936 ensures that output lines aren't intermangled with those sent to
13937 stderr (via grub_util_info()).
13938 * util/grub-probe.c (grub_refresh): Likewise.
13939 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
13940
0fbb3117 139412008-05-05 Christian Franke <franke@computer.org>
13942
13943 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
13944 Add Cygwin device names.
13945 (get_ide_disk_name) [__CYGWIN__]: Likewise.
13946 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
13947 (check_device): Return error instead of success on empty name.
13948 (make_device_map): Move label inside linux specific code to
13949 prevent compiler warning.
13950
8124cdb7 139512008-04-30 Robert Millan <rmh@aybabtu.com>
13952
13953 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
13954 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
13955 first boot option.
13956 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
13957
094c01d0 139582008-04-29 Robert Millan <rmh@aybabtu.com>
13959
13960 * docs/grub.cfg: New file (example GRUB configuration).
13961
f4b1fc02 139622008-04-26 Robert Millan <rmh@aybabtu.com>
13963
329ce2a5 13964 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
13965 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
13966 and `disk/ieee1275/nand.c'.
f4b1fc02 13967
25f16ec1 139682008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 13969
25f16ec1 13970 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
13971 i386-linuxbios.
13972
13973 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
13974 change the buffer size to 4096 for cdrom device.
13975
13976 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
13977 and nand.mod.
13978 (_linux_mod_SOURCES): New variable.
13979 (_linux_mod_CFLAGS): Likewise.
13980 (_linux_mod_LDFLAGS): Likewise.
13981 (linux_mod_SOURCES): Likewise.
13982 (linux_mod_CFLAGS): Likewise.
13983 (linux_mod_LDFLAGS): Likewise.
13984 (nand_mod_SOURCES): Likewise.
13985 (nand_mod_CFLAGS): Likewise.
13986 (nand_mod_LDFLAGS): Likewise.
13987
13988 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
13989 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
13990 type property. (nand device in olpc don't have this property)
13991
13992 * include/grub/disk.h (grub_disk_dev_id): New macro
13993 GRUB_DISK_DEVICE_NAND_ID.
13994
13995 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
13996 function prototype.
13997 (grub_rescue_cmd_initrd): Likewise.
13998
13999 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14000 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14001 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14002
25f16ec1 14003 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14004 GRUB_MACHINE_IEEE1275 is defined.
14005
14006 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14007 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14008
14009 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14010 on nested function heap_init.
14011 (grub_upper_mem): New variable for i386-ieee1275.
14012 (grub_get_extended_memory): New function for i386-ieee1275.
14013 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14014
14015 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14016 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14017 property.
f19dbdb7 14018
25f16ec1 14019 * loader/i386/ieee1275/linux.c: New file.
14020
14021 * loader/i386/ieee1275/linux_normal.c: New file.
14022
14023 * disk/ieee1275/nand.c: New file.
14024
e89d61e9 140252008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14026
14027 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14028 value.
14029 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14030
602566f6 140312008-04-18 Robert Millan <rmh@aybabtu.com>
14032
14033 Restructures early code path on ieee1275 to unify grub_main() as
14034 the first C function that is executed in every platform.
14035
14036 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14037 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14038 cmain().
14039 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14040 * kern/ieee1275/cmain.c (cmain): Rename to ...
14041 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14042 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14043 at the beginning.
14044
57490c2b 140452008-04-18 Robert Millan <rmh@aybabtu.com>
14046
14047 * util/update-grub.in: Fix syntax error when setting
14048 `GRUB_PRELOAD_MODULES'.
14049 Reported by Stephane Chazelas <stephane@artesyncp.com>
14050
1977517d 140512008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14052
14053 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14054 section into account, newer toolchains generate unique build ids
14055 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14056 we want build ids to be preserved
1977517d 14057 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14058 far from other sections don't cause the raw binary images grow
14059 size
14060
bfb1f1a2 140612008-04-15 Robert Millan <rmh@aybabtu.com>
14062
14063 * disk/lvm.c: Update copyright year.
14064 * kern/misc.c: Likewise.
14065
01979850 140662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14067
14068 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14069 there is no memory left for physical volume name.
01979850 14070
0a1150e2 140712008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14072
14073 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14074 volume name mapping to support bigger than 9 character names properly.
14075
82ead3fe 140762008-04-13 Robert Millan <rmh@aybabtu.com>
14077
14078 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14079 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14080
e54a72f5 140812008-04-13 Christian Franke <franke@computer.org>
14082
14083 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14084 to create a floppy emulation boot CD when non emulation mode
14085 does not work.
14086 Enable Joliet CD filesystem extension.
14087
9fe86034 140882008-04-13 Robert Millan <rmh@aybabtu.com>
14089
14090 * kern/misc.c (grub_strncat): Fix off-by-one error.
14091 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14092
14093 * kern/env.c (grub_env_context_close): Clear current context, not
14094 previous one.
14095 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14096
14097 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14098
7ceeee39 140992008-04-13 Robert Millan <rmh@aybabtu.com>
14100
14101 Improve robustness when handling LVM.
14102
14103 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14104 (and leave `*p' unmodified).
7ceeee39 14105 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14106 through it.
14107 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14108 iterating through it.
14109 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14110 through it.
fe6b695a 14111 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14112 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14113 Don't assume `vg->pvs != NULL' when iterating through it.
14114
58cd3d85 141152008-04-13 Robert Millan <rmh@aybabtu.com>
14116
14117 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14118 * genmk.rb (partmap): New variable.
14119 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14120 (#{partmap}): New target rule.
14121 * genpartmaplist.sh: New file.
14122 * Makefile.in (pkglib_DATA): Add partmap.lst.
14123 (partmap.lst): New target rule.
14124 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14125 modules (including all partition maps), instead of preloading them.
14126
78b51059 141272007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14128
14129 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14130 `linux-boot-prober' (if installed) to detect other operating
14131 systems which are installed on the computer and add them to
14132 the boot menu.
14133 * conf/common.rmk: Build and install 30_os-prober.
14134
a91627b4 141352008-04-12 Robert Millan <rmh@aybabtu.com>
14136
14137 * kern/powerpc/ieee1275/init.c: Move from here ...
14138 * kern/ieee1275/init.c: ... to here. Update all users.
14139
14140 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14141 * kern/ieee1275/cmain.c: ... to here. Update all users.
14142
14143 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14144 * kern/ieee1275/openfw.c: ... to here. Update all users.
14145
14146 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14147 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14148
322562ea 141492008-04-10 Pavel Roskin <proski@gnu.org>
14150
14151 * configure.ac: Always use "_cv_" in cache variables for
14152 compatibility with Autoconf 2.62.
14153
a02a73c5 141542008-04-07 Robert Millan <rmh@aybabtu.com>
14155
14156 Revert grub/machine/init.h addition by Pavel (since it breaks on
14157 i386-ieee1275 and others):
14158 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14159 * util/powerpc/ieee1275/misc.c: Likewise.
14160
25c024b1 141612008-04-07 Robert Millan <rmh@aybabtu.com>
14162
14163 * util/grub-probe.c (probe): Improve error message.
14164
3cbd2f98 141652008-04-07 Robert Millan <rmh@aybabtu.com>
14166
14167 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14168 (this prevents the presence of a bogus entry from ruining the whole
14169 thing).
14170
87a297bf 141712008-04-06 Pavel Roskin <proski@gnu.org>
14172
36747a62 14173 * util/biosdisk.c: Include grub/util/biosdisk.h.
14174 * util/grub-fstest.c (execute_command): Make static.
14175 * util/grub-mkdevicemap.c (check_device): Likewise.
14176 * util/i386/pc/misc.c: Include grub/machine/init.h.
14177 * util/powerpc/ieee1275/misc.c: Likewise.
14178 * util/lvm.c: Include grub/util/lvm.h.
14179 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14180 grub/cache.h.
14181 * util/raid.c: Include grub/util/raid.h.
14182 (grub_util_getdiskname): Make static.
14183
87a297bf 14184 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14185 grub_hostfs_fini(), as they are called from grub_init_all() and
14186 grub_fini_all() respectively. This fixes an infinite loop in
14187 grub-fstest due to double registration of hostfs.
14188 Reported by Christian Franke <Christian.Franke@t-online.de>
14189
f6ce7629 141902008-04-05 Pavel Roskin <proski@gnu.org>
14191
14192 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14193 all 8 functions. Otherwise, probe function 0 only.
14194
070e49e4 141952008-04-04 Pavel Roskin <proski@gnu.org>
14196
8b088a4c 14197 * commands/lspci.c (grub_lspci_iter): Print the bus number
14198 correctly.
14199
4f657021 14200 * commands/lspci.c (grub_pci_classes): Fix typos.
14201 (grub_lspci_iter): Don't print func twice. Print vendor ID
14202 before device ID, as it's normally done.
14203
070e49e4 14204 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14205 Fix signedness warnings.
14206 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14207 Likewise.
14208 * util/ieee1275/get_disk_name.c: Include config.h so that
14209 _GNU_SOURCE is defined and getline() is declared. Mark an
14210 unused argument as such. Fix a signedness warning.
14211
ba7328dc 142122008-04-02 Pavel Roskin <proski@gnu.org>
14213
26887f22 14214 * genkernsyms.sh.in: Use more robust assignments for CC and
14215 srcdir. Quote srcdir.
14216 * gensymlist.sh.in: Likewise. Assert at the compile time that
14217 the symbol table is not empty.
14218
ba7328dc 14219 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14220 * fs/cpio.c (grub_cpio_read): Likewise.
14221
0f582c6b 142222008-04-01 Pavel Roskin <proski@gnu.org>
14223
4b6e1995 14224 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14225 * disk/host.c (grub_host_open): Likewise.
14226 * disk/loopback.c (grub_loopback_open): Likewise.
14227 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14228 disk->id as in disk/host.c, not a multi-character constant.
14229
828a2768 14230 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14231 later is obsolete, potentially dangerous and sets a bad example.
14232 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14233 * util/misc.c (grub_util_get_image_size): Likewise.
14234
2bb4fb47 14235 * disk/loopback.c (options): Improve help for "--partitions".
14236
0f582c6b 14237 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14238 options to align them with the short options, e.g. "echo -e".
14239
a33224e0 142402008-03-31 Bean <bean123ch@gmail.com>
14241
14242 * video/reader/png.c (grub_png_data): New member is_16bit and
14243 image_data.
14244 (grub_png_decode_image_header): Detect 16 bit png image.
14245 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14246 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14247 (grub_video_reader_png): Release memory occupied by image_data.
14248
14249 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14250 4096 bytes.
14251 (grub_nfs_mount): Skip the test for sector per cluster.
14252
14253 * include/grub/ntfs.h (MAX_SPC): Removed.
14254
86cb4f54 142552008-03-31 Bean <bean123ch@gmail.com>
14256
14257 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14258 (grub_probe_SOURCES): Add fs/afs.c.
14259 (grub_fstest_SOURCES): Likewise.
14260 (afs_mod_SOURCES): New variable.
14261 (afs_mod_CFLAGS): Likewise.
14262 (afs_mod_LDFLAGS): Likewise.
14263
14264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14265 (grub_emu_SOURCES): Likewise.
14266
14267 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14268
14269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14270
14271 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14272
14273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14274
14275 * fs/afs.c: New file.
14276
17c74c21 142772008-03-30 Pavel Roskin <proski@gnu.org>
14278
4cb68e89 14279 * disk/host.c: Include grub/misc.h to fix a warning.
14280 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14281 warnings about implicit declarations.
14282
8790bb04 14283 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14284 variable.
14285 * include/grub/i386/loader.h: Change declaration of
14286 grub_linux_boot() to match what grub_loader_set() expects.
14287 * util/getroot.c (grub_guess_root_device): Return const char* to
14288 fix a warning.
14289 * util/grub-probe.c (probe): Fix a warning about uninitialized
14290 abstraction_name variable.
14291 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14292 second argument as unused to fix a warning.
14293
9a3f3296 14294 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14295 missing grub_error() call.
14296
0ecef90d 14297 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14298 2.60 and newer uses it to define datadir.
14299
0bf6d401 14300 * commands/sleep.c: Fix warning about implicit declaration.
14301 * disk/memdisk.c: Likewise.
14302 * loader/aout.c: Likewise.
14303 * loader/i386/bsd_normal.c: Likewise.
14304 * util/grub-probe.c: Likewise.
14305
7cdacf97 14306 * commands/i386/cpuid.c (has_longmode): Make static.
14307 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14308 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14309
17c74c21 14310 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14311 GDT. This is more robust, as %ds can change.
14312 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14313 calling real_to_prot().
14314 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14315
80a3e68b 143162008-03-28 Pavel Roskin <proski@gnu.org>
14317
14318 * kern/i386/pc/startup.S: Assert that uncompressed functions
14319 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14320 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14321 code, as they push parts of the code (error handlers) beyond
14322 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14323 code as correctness and size.
14324
77bcd272 143252008-03-28 Pavel Roskin <proski@gnu.org>
14326
14327 * kern/i386/pc/startup.S
14328 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14329 data block address to the real mode, keep offset minimal. This
14330 works around a bug in AWARD BIOS on old Athlon systems, which
14331 makes CD detection hang.
14332
c5dfd43b 143332008-03-26 Pavel Roskin <proski@gnu.org>
14334
14335 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14336 const.
14337 * include/grub/normal.h: Add grub_parse_color_name_pair()
14338 declaration.
14339
bf962df2 143402008-03-24 Bean <bean123ch@gmail.com>
14341
14342 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14343 (cd_count): Removed.
14344 (cd_drive): New variable.
14345 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14346 (grub_biosdisk_call_hook): Likewise.
14347 (grub_biosdisk_iterate): Change cdrom detection method.
14348 (grub_biosdisk_open): Replace cd_start with cd_drive.
14349 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14350 detect cdrom device.
14351
14352 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14353 Removed.
14354 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14355 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14356 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14357 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14358 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14359 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14360 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14361 (grub_biosdisk_cdrp): New structure.
14362 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14363
14364 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14365
14366 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14367 device.
14368
14369 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14370 New function.
14371
68e7fc7a 143722008-03-20 Robert Millan <rmh@aybabtu.com>
14373
14374 Remove 2 TiB limit in ata.mod.
14375 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14376 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14377 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14378 grub_uint64_t instead of grub_uint32_t.
14379
38ad2cf5 143802008-03-05 Bean <bean123ch@gmail.com>
14381
14382 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14383 (grub_multiboot): Set boot device.
14384
14385 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14386
2b89344e 143872008-03-02 Bean <bean123ch@gmail.com>
14388
14389 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14390 symlink_buffer.
14391
87a95d1f 143922008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14393
14394 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14395 texinfo.tex.
14396
14397 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14398 modified.
14399
14400 * docs/fdl.texi: New file.
f19dbdb7 14401
87a95d1f 14402 * docs/mdate-sh: New file. Copied from gnulib.
14403 * docs/texinfo.tex: Likewise.
14404
14405 * config.guess: Updated from gnulib.
14406 * install-sh: Likewise.
14407
7dc15d8e 144082008-02-28 Robert Millan <rmh@aybabtu.com>
14409
14410 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14411 (aout_mod_SOURCES): New variable.
14412 (aout_mod_CFLAGS): Likewise.
14413 (aout_mod_LDFLAGS): Likewise.
14414
14415 * conf/i386-ieee1275.rmk: Likewise.
14416
b00ab696 144172008-02-28 Robert Millan <rmh@aybabtu.com>
14418
14419 * util/update-grub.in: Reorganise terminal validity check. Accept
14420 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14421 Based on suggestion by Franklin PIAT.
14422
79ca2d78 144232008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14424
14425 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14426 function.
14427 * util/getroot.c (grub_util_check_block_device): New function that
14428 returns the given argument if it is a block device and returns NULL else.
14429 * util/grub-probe.c (argument_is_device): New variable.
14430 (probe): Promote device_name from a variable to an argument. Receive
14431 device_name from grub_util_check_block_device() if path is NULL and from
14432 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14433 (options): Introduce new parameter '-d, --device'.
79ca2d78 14434 (main): Add description of the new parameter to the help screen.
14435 Rename path variable to argument. Set argument_is_device if the '-d'
14436 option is given. Pass argument to probe() depending on
14437 argument_is_device.
14438
0d16e571 144392008-02-24 Bean <bean123ch@gmail.com>
14440
14441 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14442 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14443 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14444 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14445 (GRUB_ISO9660_VOLDESC_END): Likewise.
14446 (grub_iso9660_primary_voldesc): New member escape.
14447 (grub_iso9660_data): New member joliet.
14448 (grub_iso9660_convert_string): New function.
14449 (grub_iso9660_mount): Detect joliet extension.
14450 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14451 (grub_iso9660_iso9660_label): Likewise.
14452
14453 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14454 (grub_setup_SOURCES): Add fs/udf.c.
14455 (grub_fstest_SOURCES): Likewise.
14456 (udf_mod_SOURCES): New variable.
14457 (udf_mod_CFLAGS): Likewise.
14458 (udf_mod_LDFLAGS): Likewise.
14459
14460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14461 (grub_emu_SOURCES): Likewise.
14462
14463 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14464
14465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14466
14467 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14468
14469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14470
14471 * fs/udf.c: New file.
14472
8a594a17 144732008-02-24 Robert Millan <rmh@aybabtu.com>
14474
14475 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14476 (normal/lexer.c_DEPENDENCIES): New variables.
14477 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14478 (normal/lexer.c_DEPENDENCIES): Likewise.
14479 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14480 (normal/lexer.c_DEPENDENCIES): Likewise.
14481 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14482 (normal/lexer.c_DEPENDENCIES): Likewise.
14483 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14484 (normal/lexer.c_DEPENDENCIES): Likewise.
14485 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14486 (normal/lexer.c_DEPENDENCIES): Likewise.
14487
2dc33c03 144882008-02-23 Robert Millan <rmh@aybabtu.com>
14489
14490 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14491 since they were intended to be in hex. This didn't break previously
14492 because of a bug in gpt_partition_map_iterate() (see below).
14493
14494 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14495 when checking the validity of GPT header.
14496 Remove `partno', since it always provides the same information as `i'.
14497
f6f4cfb0 144982008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14499
14500 * include/grub/efi/time.h: Fix a wrong comment.
14501
79ff665f 145022008-02-19 Pavel Roskin <proski@gnu.org>
14503
14504 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14505 message.
14506
d38e24c2 145072008-02-19 Bean <bean123ch@gmail.com>
14508
14509 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14510 (aout_mod_SOURCES): New variable.
14511 (aout_mod_CFLAGS): Likewise.
14512 (aout_mod_LDFLAGS): Likewise.
14513 (_bsd_mod_SOURCES): New variable.
14514 (_bsd_mod_CFLAGS): Likewise.
14515 (_bsd_mod_LDFLAGS): Likewise.
14516 (bsd_mod_SOURCES): New variable.
14517 (bsd_mod_CFLAGS): Likewise.
14518 (bsd_mod_LDFLAGS): Likewise.
14519
14520 * include/grub/aout.h: New file.
14521
14522 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14523
14524 * include/grub/i386/bsd.h: New file.
14525
14526 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14527 to make it public.
14528
14529 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14530 function is called, so that it's possible to change it inside the hook.
14531 (grub_elf64_load): Likewise.
14532 (grub_elf_file): Don't close the file if elf header is not found.
14533 (grub_elf_close): Close the file if grub_elf_file fails (The new
14534 grub_elf_file won't close it).
14535 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14536 (grub_elf64_size): Likewise.
14537
14538 * kern/i386/loader.S (grub_unix_real_boot): New function.
14539
14540 * loader/aout.c: New file.
14541
14542 * loader/i386/bsd.c: New file.
14543
14544 * loader/i386/bsd_normal.c: New file.
14545
14546 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
14547
14548 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 14549 can test other formats.
d38e24c2 14550
b93bdb0f 145512008-02-19 Robert Millan <rmh@aybabtu.com>
14552
14553 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
14554 (grub_gpt_partition_type_empty): Redefine with macro from
14555 `<grub/gpt_partition.h>'.
14556 (gpt_partition_map_iterate): Adjust partition type comparison.
14557
14558 Export `entry' as partmap-specific `part.data' struct.
14559 (grub_gpt_header, grub_gpt_partentry): Move from here ...
14560
14561 * include/grub/gpt_partition.h (grub_gpt_header)
14562 (grub_gpt_partentry): ... to here (new file).
14563
14564 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
14565
14566 (grub_gpt_partition_type_bios_boot): New const variable, defined
14567 with macro from `<grub/gpt_partition.h>'.
14568
14569 (setup): Replace `first_start' with `embed_region', which keeps
14570 track of the embed region (and is partmap-agnostic).
14571
14572 Replace find_first_partition_start() with find_usable_region(),
14573 which finds a usable region for embedding using partmap-specific
14574 knowledge (supports PC/MSDOS and GPT).
14575
14576 Fix all assumptions that the embed region start at sector 1, using
14577 `embed_region.start' from now on. Similarly, use `embed_region.end'
14578 rather than `first_start' to calculate available size.
14579
14580 In grub_util_info() message, replace "into after the MBR" with an
14581 indication of the specific sector our embed region starts at.
14582
66cb40f6 145832008-02-19 Robert Millan <rmh@aybabtu.com>
14584
14585 * DISTLIST: Replace `commands/ieee1275/halt.c' and
14586 `commands/ieee1275/reboot.c' with `commands/halt.c' and
14587 `commands/reboot.c'.
14588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14589 (halt_mod_SOURCES): Likewise.
14590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14591 (halt_mod_SOURCES): Likewise.
14592
b7202015 145932008-02-17 Christian Franke <franke@computer.org>
14594
14595 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
14596
32b0fc49 145972008-02-17 Robert Millan <rmh@aybabtu.com>
14598
14599 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14600 set `first_start' to 0 for non-PC/MSDOS partition maps.
14601
aca63502 146022008-02-16 Robert Millan <rmh@aybabtu.com>
14603
14604 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14605 do not assume partition map is PC/MSDOS before performing checks that
14606 are specific to that layout.
14607
0de8be86 146082008-02-13 Robert Millan <rmh@aybabtu.com>
14609
14610 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
14611 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
14612 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
14613
c3db8364 146142008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
14615
14616 * configure.ac: Only a cosmetic change on the handling of
14617 -fno-stack-protector.
14618
f714229e 146192008-02-12 Alexandre Boeglin <alex@boeglin.org>
14620
c3db8364 14621 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
14622 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
14623 reboot.c.
f714229e 14624 (grub_install_SOURCES): Add halt.mod and reboot.mod.
14625 (halt_mod_SOURCES): New variable.
14626 (halt_mod_CFLAGS): Likewise.
14627 (halt_mod_LDFLAGS): Likewise.
14628 (reboot_mod_SOURCES): Likewise.
14629 (reboot_mod_CFLAGS): Likewise.
14630 (reboot_mod_LDFLAGS): Likewise.
14631
c3db8364 14632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
14633 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
14634 reboot.c.
f714229e 14635 (halt_mod_SOURCES): Likewise.
14636 (reboot_mod_SOURCES): Likewise.
14637
c3db8364 14638 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
14639 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 14640 (reboot_mod_SOURCES): Likewise.
14641
14642 * commands/i386/pc/reboot.c: merge this file ...
14643
14644 * commands/ieee1275/reboot.c: ... and this file ...
14645
14646 * commands/reboot.c: ... to this file.
c3db8364 14647 Add some precompiler directive to include the correct header for
14648 each machine.
f714229e 14649
14650 * commands/ieee1275/halt.c: move this file ...
14651
14652 * commands/halt.c: ... to here.
c3db8364 14653 Add some precompiler directive to include the correct header for
14654 each machine.
f714229e 14655
14656 * include/grub/efi/efi.h (grub_reboot): New function declaration.
14657 (grub_halt): Likewise.
14658
14659 * kern/efi/efi.c (grub_reboot): New function.
14660 (grub_halt): Likewise.
14661
c74493e0 146622008-02-12 Robert Millan <rmh@aybabtu.com>
14663
14664 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
14665 /dev (like it is done for /dev/mapper). This doesn't provide support
14666 for EVMS, but at least it is now easy to identify the problem when it
14667 arises.
14668
d0db4b04 146692008-02-11 Robert Millan <rmh@aybabtu.com>
14670
14671 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
14672 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
14673 comparing it with -1, not 0.
14674
bf748642 146752008-02-10 Robert Millan <rmh@aybabtu.com>
14676
14677 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
14678 `disk/lvm.c'.
14679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14680 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14681
14682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
14683 `disk/lvm.c' to the end of the list.
14684 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14685 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14686
b5db202a 146872008-02-10 Robert Millan <rmh@aybabtu.com>
14688
14689 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
14690 grub_print_error() instead. This will let user know why we're entering
14691 rescue mode.
14692 Based on suggestions from Sam Morris.
14693
83abee31 146942008-02-10 Alexandre Boeglin <alex@boeglin.org>
14695
14696 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
14697 on remaining N args, instead of "--" arg N times.
14698
78d5a08b 146992008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
14700
14701 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
14702 (fill_with_default_glyph): Changed to use unknown_glyph for fill
14703 pattern for unknown glyphs.
14704
68807e5f 147052008-02-09 Robert Millan <rmh@aybabtu.com>
14706
14707 * configure.ac: Probe for `help2man'.
14708 * Makefile.in (builddir): New variable.
14709 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
14710 or otherwise add a few flags/options to it.
14711 (install-local): For every executable utility or script that is
14712 installed, invoke $(HELP2MAN) to install a manpage based on --help
14713 output.
14714
14715 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
14716 that it doesn't prevent --help from working in build tree.
14717
14718 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
14719 with `bug-grub@gnu.org'.
14720 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
14721 * util/update-grub.in (usage): New function.
14722 Implement proper argument check, with support for --help and --version
14723 (as well as existing -y).
14724
147252008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 14726
14727 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
14728 avoid overwriting previous output.
14729 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
14730
c1962162 147312008-02-09 Robert Millan <rmh@aybabtu.com>
14732
14733 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
14734 drawing the menu.
14735
3dac2e3f 147362008-02-09 Robert Millan <rmh@aybabtu.com>
14737
14738 * commands/sleep.c: New file.
14739 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
14740 (sleep_mod_SOURCES): New variable.
14741 (sleep_mod_CFLAGS): Likewise.
14742 (sleep_mod_LDFLAGS): Likewise.
14743
7a634e08 147442008-02-09 Robert Millan <rmh@aybabtu.com>
14745
14746 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
14747 situations in which we can deduce the RAID size and the superblock
14748 doesn't match it.
14749
b92f0c18 147502008-02-09 Robert Millan <rmh@aybabtu.com>
14751
14752 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
14753 and return a grub_diskmemberlist_t composed of LVM physical volumes.
14754 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
14755
14756 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
14757 and return a grub_diskmemberlist_t composed of physical array members.
14758 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
14759
14760 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
14761 prototype.
14762 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
14763 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
14764 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
14765
14766 * util/grub-probe.c (probe): Move partmap probing code from here ...
14767 (probe_partmap): ... to here.
14768 (probe): Use probe_partmap() once for the disk we're probing, and
14769 additionally, when such disk contains a memberlist() struct member,
14770 once for each disk that is contained in the structure returned by
14771 memberlist().
14772
91a4bf68 147732008-02-09 Robert Millan <rmh@aybabtu.com>
14774
14775 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
14776 environment variable to 'all' in order to obtain debug output from
14777 non-util/ code.
14778 * util/i386/pc/grub-setup.c (main): Likewise.
14779
a96f9caa 147802008-02-08 Robert Millan <rmh@aybabtu.com>
14781
14782 * disk/raid.c (grub_raid_scan_device): Check for
14783 `array->device[sb.this_disk.number]' rather than for
14784 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 14785 guaranteed to be accessible.
a96f9caa 14786
b37a9222 147872008-02-08 Robert Millan <rmh@aybabtu.com>
14788
14789 * disk/raid.c: Update copyright.
14790 * fs/cpio.c: Likewise.
14791 * include/grub/raid.h: Likewise.
14792 * loader/i386/pc/multiboot.c: Likewise.
14793 * util/hostfs.c: Likewise.
14794
5626aee1 147952008-02-08 Robert Millan <rmh@aybabtu.com>
14796
14797 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
14798 to a grub_disk_t array.
14799 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
14800 `device[x]'.
14801 (grub_raid_scan_device): Replace `device[x].name' accesses with
14802 `device[x]->name'. Simplify initialization of `array->device[x]'.
14803
554f0187 148042008-02-08 Robert Millan <rmh@aybabtu.com>
14805
14806 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
14807 grub_dprintf() calls.
14808 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
14809 error message.
14810
1ec8425d 148112008-02-07 Christian Franke <franke@computer.org>
14812
14813 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
14814 instead of fseek and ftell to support large files.
14815 (grub_hostfs_read): Likewise.
14816
f2156fda 148172008-02-07 Robert Millan <rmh@aybabtu.com>
14818
14819 Patch from Jeroen Dekkers.
14820 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 14821 failure, since successfully reading all array members might not be
f2156fda 14822 required.
14823
9216e0e7 148242008-02-06 Robert Millan <rmh@aybabtu.com>
14825
14826 * util/grub-probe.c (probe): Simplify partmap probing (with the
14827 assumption that the first word up to the underscore equals to
14828 the module name).
14829
b0dfd29a 148302008-02-06 Christian Franke <franke@computer.org>
14831
14832 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
14833 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
14834 last block of a cpio or tar stream.
14835 Check for "TRAILER!!!" instead of any empty data
14836 block to detect last block of a cpio stream.
14837 (grub_cpio_dir): Fix constness of variable np.
14838 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
14839 cpio or tar trailer is detected. This fixes a crash
14840 on open of a non existing file.
14841
c32865bf 148422008-02-05 Bean <bean123ch@gmail.com>
14843
14844 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
14845 address of entry.
14846 (grub_multiboot_load_elf64): Likewise.
14847 (grub_multiboot): Initialize mbi structure.
14848
14849 * util/grub-fstest.c: Don't include unused header file script.h.
14850
fe6b695a 14851 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 14852 of file.
14853 (grub_fstest_SOURCES): Likewise.
14854
409480b7 148552008-02-05 Robert Millan <rmh@aybabtu.com>
14856
14857 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
14858 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
14859 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
14860 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
14861
14862 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
14863 (translation_table): Replace hardcoded values with macros
14864 provided by `<grub/term.h>'.
14865
14866 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
14867 (keyboard_map): Correct/add a few values, with macros provided
14868 by `<grub/term.h>'.
14869 (keyboard_map_shift): Zero values that don't differ from their
14870 `keyboard_map' equivalents.
14871 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
14872 Discard the second scan code that is always sent by Caps lock.
14873 Only use `keyboard_map_shift' when it provides a non-zero value,
14874 otherwise fallback to `keyboard_map'.
14875
99fadbaa 148762008-02-04 Bean <bean123ch@gmail.com>
14877
14878 * Makefile.in (enable_grub_fstest): New variable.
14879
14880 * conf/common.rmk (grub_fstest_init.lst): New rule.
14881 (grub_fstest_init.h): Likewise.
14882 (grub_fstest_init.c): Likewise.
14883 (util/grub-fstest.c_DEPENDENCIES): New variable.
14884 (grub_fstest_SOURCES): Likewise.
14885
14886 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
14887
14888 * util/grub-fstest.c: New file.
14889
bf567c50 148902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14891
14892 Make grub-setup handle a separate root device.
f19dbdb7 14893
bf567c50 14894 * util/i386/pc/grub-setup.c (setup): Always open the root device,
14895 so that the root device can be compared with the destination
14896 device.
14897 When embedding the core image, if the root and destination devices
14898 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
14899 0xFF.
14900 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 14901
9be6b98b 149022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14903
14904 Add support for having a grub directory in a different drive. This
14905 is still only the data handling part.
f19dbdb7 14906
9be6b98b 14907 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
14908 (codestart): Save %dh in GRUB_ROOT_DRIVE.
14909 (grub_root_drive): New variable.
14910
14911 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
14912 instead of GRUB_BOOT_DRIVE to construct a device name. Set
14913 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
14914 as it was.
14915
14916 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
14917
14918 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
14919 macro.
14920 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
14921
14922 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
14923 is bogus, because PXE booting does not specify any drive
14924 correctly.
14925
14926 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
14927 am not sure if this is really correct.
14928
14929 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
14930 is always identical to the boot drive when booting from a CD.
14931
14932 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
14933 longer.
14934 (root_drive): New variable.
14935 (real_start): Unconditionally set %dh to ROOT_DRIVE.
14936 (setup_sectors): Push %dx right after popping it, because %dh will
14937 be modified later.
14938 (copy_buffer): Restore %dx.
14939
e0ca0677 149402008-02-03 Robert Millan <rmh@aybabtu.com>
14941
14942 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
14943 use `cdboot.img' for cdrom images.
14944
3b3f6629 149452008-02-03 Robert Millan <rmh@aybabtu.com>
14946
14947 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
14948 only setup gfxterm when `font' command has succeeded.
14949
d42b3672 149502008-02-03 Robert Millan <rmh@aybabtu.com>
14951
14952 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
14953 (grub_rescue_cmd_multiboot_loader)
14954 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
14955
fa370ea6 149562008-02-03 Pavel Roskin <proski@gnu.org>
14957
e0c5dacb 14958 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 14959 %edx and %esi from stack only after grub_gate_a20() is called.
14960 grub_gate_a20() clobbers %edx.
14961
f2a76e1d 149622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
14963
14964 * configure.ac (AC_INIT): Bumped to 1.96.
14965
14966 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
14967 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
14968 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
14969 video/readers/png.c.
14970
90fd32d1 149712008-02-03 Bean <bean123ch@gmail.com>
9be665dd 14972
14973 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
14974 (cdboot_img_SOURCES): New variable.
14975 (cdboot_img_ASFLAGS): New variable.
14976 (cdboot_img_LDFLAGS): New variable.
14977
14978 * boot/i386/pc/cdboot.S: New file.
14979
14980 * disk/i386/pc/biosdisk.c (cd_start): New variable.
14981 (cd_count): Likewise.
14982 (grub_biosdisk_get_drive): Add support for cd device.
14983 (grub_biosdisk_call_hook): Likewise.
14984 (grub_biosdisk_iterate): Likewise.
14985 (grub_biosdisk_open): Likewise.
14986 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
14987 (grub_biosdisk_rw): Support reading from cd device.
14988 (GRUB_MOD_INIT): Iterate cd devices.
14989
14990 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
14991 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
14992 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
14993
14994 * kern/i386/pc/init.c (make_install_device): Check for cd device.
14995
4020aa53 149962008-02-02 Robert Millan <rmh@aybabtu.com>
14997
14998 * commands/read.c: New file.
14999 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15000 (read_mod_SOURCES): New variable.
15001 (read_mod_CFLAGS): Likewise.
15002 (read_mod_LDFLAGS): Likewise.
15003
e03a1132 150042008-02-02 Robert Millan <rmh@aybabtu.com>
15005
15006 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15007 determining whether menu has to be displayed.
15008
58c69220 150092008-02-02 Marco Gerards <marco@gnu.org>
15010
15011 * bus/pci.c: New file.
15012
15013 * include/grub/pci.h: Likewise.
15014
15015 * include/grub/i386/pc/pci.h: Likewise.
15016
15017 * commands/lspci.c: Likewise.
15018
15019 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15020 `lspci.mod'.
15021 (pci_mod_SOURCES): New variable.
15022 (pci_mod_CFLAGS): Likewise.
15023 (pci_mod_LDFLAGS): Likewise.
15024 (lspci_mod_SOURCES): Likewise.
15025 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15026 (lspci_mod_LDFLAGS): Likewise.
58c69220 15027
c004e1b4 150282008-02-02 Bean <bean123ch@gmail.com>
15029
15030 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15031 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15032
15033 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15034 (grub_xfs_btree_node): New structure.
15035 (grub_xfs_btree_root): New structure.
15036 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15037 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15038 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15039 (GRUB_XFS_EXTENT_SIZE): Likewise.
15040 (grub_xfs_read_block): Support btree format type.
15041 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15042 Use directory block as basic unit.
15043
15044 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15045
15046 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15047 __attribute__ ((__regparm__ (1))).
15048
f95562bf 150492008-02-01 Robert Millan <rmh@aybabtu.com>
15050
15051 Correct a mistake in previous commit.
15052
15053 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15054 top.
15055 (normal/command.c_DEPENDENCIES): New variable.
15056
7d31f41f 150572008-02-01 Robert Millan <rmh@aybabtu.com>
15058
15059 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15060 top.
15061 (normal/command.c_DEPENDENCIES): New variable.
15062 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15063 * conf/i386-ieee1275.rmk: Likewise.
15064 * conf/i386-linuxbios.rmk: Likewise.
15065 * conf/i386-pc.rmk: Likewise.
15066 * conf/sparc64-ieee1275.rmk: Likewise.
15067 * conf/powerpc-ieee1275.rmk: Likewise.
15068 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15069
15070 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15071
60b6be74 150722008-02-01 Robert Millan <rmh@aybabtu.com>
15073
15074 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15075 call at beginning of function.
15076
078522ab 150772008-01-31 Pavel Roskin <proski@gnu.org>
15078
15079 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15080 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15081 (grub_mkrescue_SOURCES): Likewise.
078522ab 15082 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15083
ccaa8a5f 150842008-01-30 Robert Millan <rmh@aybabtu.com>
15085
15086 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15087 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15088 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15089 (grub_probe_SOURCES): ... to here.
15090
15091 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15092 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15093 * conf/i386-ieee1275.rmk: Likewise.
15094 * conf/i386-linuxbios.rmk: Likewise.
15095 * conf/powerpc-ieee1275.rmk: Likewise.
15096
ae5a9cd7 150972008-01-30 Tristan Gingold <gingold@free.fr>
15098
15099 * kern/rescue.c: Silently accept empty lines.
15100
70bc2ef2 151012008-01-29 Bean <bean123ch@gmail.com>
15102
15103 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15104 (real_code_2): Code cleanup and change comment style.
15105 (move_memory): Avoid using 32-bit address mode.
15106
6a4d50ea 151072008-01-29 Bean <bean123ch@gmail.com>
15108
15109 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15110 (png_mod_SOURCES): New variable.
15111 (png_mod_CFLAGS): Likewise.
15112 (png_mod_LDFLAGS): Likewise.
15113
15114 * video/readers/png.c: New file.
15115
11cc30ac 151162008-01-28 Robert Millan <rmh@aybabtu.com>
15117
15118 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15119 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15120 `ifndef GRUB_MOD_GAP' hack.
15121 * util/elf/grub-mkimage.c (add_segments): Likewise.
15122
3abc589f 151232008-01-27 Robert Millan <rmh@aybabtu.com>
15124
15125 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15126 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15127 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15128
e1907778 151292008-01-27 Robert Millan <rmh@aybabtu.com>
15130
15131 Get grub-emu to build again (including parallel builds).
15132
15133 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15134 Split into ...
15135 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15136 (normal/execute.c_DEPENDENCIES): ... this, ...
15137 (grub-emu_DEPENDENCIES): ... and this.
15138
15139 * conf/i386-efi.rmk: Likewise.
15140 * conf/i386-linuxbios.rmk: Likewise.
15141 * conf/i386-ieee1275.rmk: Likewise.
15142 * conf/powerpc-ieee1275.rmk: Likewise.
15143 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15144
2216b101 151452008-01-27 Robert Millan <rmh@aybabtu.com>
15146
15147 * NEWS: Add a few items.
15148
f75172d9 151492008-01-27 Robert Millan <rmh@aybabtu.com>
15150
15151 Fix parallel builds with grub-emu. Based on earlier commit for
15152 grub-probe and grub-setup.
15153
15154 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15155 (util/grub-emu.c_DEPENDENCIES): ... this.
15156 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15157 (util/grub-emu.c_DEPENDENCIES): ... this.
15158 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15159 (util/grub-emu.c_DEPENDENCIES): ... this.
15160 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15161 (util/grub-emu.c_DEPENDENCIES): ... this.
15162 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15163 (util/grub-emu.c_DEPENDENCIES): ... this.
15164
3f51de77 151652008-01-27 Pavel Roskin <proski@gnu.org>
15166
15167 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15168 to create a gap between _end and the modules added to the image
15169 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15170 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15171 * util/elf/grub-mkimage.c (add_segments): Likewise.
15172
2033f53e 151732008-01-26 Pavel Roskin <proski@gnu.org>
15174
15175 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15176 just return an error.
15177
22da1f6f 151782008-01-26 Bean <bean123ch@gmail.com>
15179
15180 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15181 (grub_reiserfs_get_item): Save offset of the next item.
15182 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15183
2a9525e6 151842008-01-25 Robert Millan <rmh@aybabtu.com>
15185
15186 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15187 make all filesystem sources appear together (possibly fixing omissions
15188 while at it).
15189 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15191 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15193
15194 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15195 add `kern/file.c'.
15196 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15197 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15198 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15199 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15200
15201 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15202 (probe): Add a sanity check to make sure of our ability to read
15203 requested files when probing for filesystem type.
15204
15205 * genmk.rb: Update copyright year (2007).
15206
15207 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15208 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15209 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15210 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15211 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15212 : Remove function prototypes.
15213
b95f71b5 152142008-01-25 Robert Millan <rmh@aybabtu.com>
15215
15216 Revert my previous commits (based on wrong assumption of how grub_errno
15217 works).
15218
fe6b695a 15219 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15220 * kern/file.c (grub_file_open): Likewise.
15221
d08bbb49 152222008-01-24 Pavel Roskin <proski@gnu.org>
15223
15224 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15225 that hang if GRUB tries to setup colors.
15226 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15227 colors for firmwares that don't support it.
15228 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15229 Recognize Open Hack'Ware, set flags to work around its
15230 limitations.
15231
605e36ed 152322008-01-24 Robert Millan <rmh@aybabtu.com>
15233
15234 * kern/file.c (grub_file_open): Do not account previous failures of
15235 unrelated functions when grub_errno is checked for.
15236 Reported by Oleg Strikov.
15237
bac332a1 152382008-01-24 Bean <bean123ch@gmail.com>
15239
15240 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15241 (grub_ufs_sblock): New member volume name.
15242 (grub_ufs_find_file): Fix string copy bug.
15243 (grub_ufs_label): Implement this function properly.
15244
15245 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15246 (grub_hfs_iterate_records): Use the correct file number for extents
15247 and catalog file. Fix problem in next index calculation.
15248 (grub_hfs_find_node): Replace recursive function call with loop.
15249 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15250
15c80c09 152512008-01-23 Robert Millan <rmh@aybabtu.com>
15252
15253 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15254 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15255 (grub_multiboot2_real_boot): New function prototype.
15256
15257 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15258 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15259
15260 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15261 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15262
305338fd 152632008-01-23 Robert Millan <rmh@aybabtu.com>
15264
15265 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15266 #ifdef'ed out grub_printf().
15267
3ea52685 152682008-01-23 Robert Millan <rmh@aybabtu.com>
15269
15270 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15271 grub_dprintf calls, since they make "debug=all" mode unusable.
15272 (grub_console_checkkey): Likewise.
15273
5882ae4b 152742008-01-23 Robert Millan <rmh@aybabtu.com>
15275
15276 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15277 `term/i386/pc/at_keyboard.c'.
15278 (pkglib_MODULES): Add `serial.mod'.
15279 (serial_mod_SOURCES): New variable.
15280 (serial_mod_CFLAGS): Likewise.
15281 (serial_mod_LDFLAGS): Likewise.
15282
15283 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15284 `<grub/powerpc/ieee1275/console.h>'.
15285 (grub_keyboard_controller_init): New function prototype.
15286 (grub_console_checkkey): Likewise.
15287 (grub_console_getkey): Likewise.
15288
15289 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15290 keyboard on i386.
15291
15292 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15293 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15294
06ab5303 152952008-01-23 Robert Millan <rmh@aybabtu.com>
15296
15297 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15298 present, "(memdisk)/boot/grub" becomes the default prefix.
15299
15300 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15301 a memdisk tarball with all the modules. Add --overlay=DIR option that
15302 allows users to overlay additional files into the image.
15303
dbb475a4 153042008-01-23 Robert Millan <rmh@aybabtu.com>
15305
15306 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15307 and `machine/memory.h'.
15308 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15309 (_multiboot_mod_SOURCES): New variable.
15310 (_multiboot_mod_CFLAGS): Likewise.
15311 (_multiboot_mod_LDFLAGS): Likewise.
15312 (multiboot_mod_SOURCES): Likewise.
15313 (multiboot_mod_CFLAGS): Likewise.
15314 (multiboot_mod_LDFLAGS): Likewise.
15315
15316 * include/grub/i386/ieee1275/loader.h: New file.
15317
15318 * include/grub/i386/ieee1275/machine.h: Likewise.
15319
15320 * include/grub/i386/ieee1275/memory.h: Likewise.
15321
15322 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15323 variable declaration.
15324 (grub_os_area_size): Likewise.
15325
15326 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15327 (grub_lower_mem, grub_upper_mem): New variables.
15328 (grub_stop_floppy): New function (just to make
15329 grub_multiboot2_real_boot() happy).
15330
15331 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15332 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15333 (grub_stop): New function.
15334 Include `"../realmode.S"' and `"../loader.S"'.
15335
15336 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15337 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15338
15339 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15340 rely on grub_multiboot2_real_boot() for final boot.
15341
25638629 153422008-01-22 Robert Millan <rmh@aybabtu.com>
15343
15344 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15345 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15346 device that doesn't look like an SD card.
15347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15348 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15349 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15350 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15351 found.
15352
9dad816d 153532008-01-22 Robert Millan <rmh@aybabtu.com>
15354
15355 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15356 avoid claiming over our own code.
15357
34842f2d 153582008-01-22 Bean <bean123ch@gmail.com>
15359
15360 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15361 (jpeg_mod_SOURCES): New variable.
15362 (jpeg_mod_CFLAGS): Likewise.
15363 (jpeg_mod_LDFLAGS): Likewise.
15364
15365 * video/readers/jpeg.c : New file.
15366
44023a28 153672008-01-22 Bean <bean123ch@gmail.com>
15368
15369 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15370 there are no more items.
15371
bc2d8ac6 153722008-01-21 Robert Millan <rmh@aybabtu.com>
15373
15374 * kern/mm.c (grub_mm_init_region): Improve debug message.
15375
261bd4bc 153762008-01-21 Robert Millan <rmh@aybabtu.com>
15377
15378 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15379 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15380 address.
15381 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15382 a C macro.
15383 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15384 Indicates start of upper memory.
15385 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15386 (generate_image): Abort when image size is big enough to corrupt
15387 upper memory.
15388
15389 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15390 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15391 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15392 instead of hardcoding 0xA0000.
15393 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15394 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15395 instead of hardcoding 0xA0000.
15396
f970b55e 153972008-01-21 Robert Millan <rmh@aybabtu.com>
15398
15399 * disk/memdisk.c (memdisk_size): New variable.
15400 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15401 `memdisk_size'.
15402 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15403 image to dynamic memory.
15404 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15405 `memdisk_size'. Free memdisk block.
15406
1a8b0526 154072008-01-21 Robert Millan <rmh@aybabtu.com>
15408
15409 Fix detection of very small filesystems (like tar).
15410
15411 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15412 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15413 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15414 a problem with this disk).
15415
6e9b4aab 154162008-01-21 Robert Millan <rmh@aybabtu.com>
15417
15418 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15419 on grub_biosdisk_rw_standard() error.
15420
0d8837b2 154212008-01-21 Robert Millan <rmh@aybabtu.com>
15422
15423 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15424 recent changes.
15425 * kern/elf.c: Likewise.
15426 * kern/ieee1275/ieee1275.c: Likewise.
15427 * kern/powerpc/ieee1275/openfw.c: Likewise.
15428 * term/ieee1275/ofconsole.c: Likewise.
15429
ffd36e34 154302008-01-21 Robert Millan <rmh@aybabtu.com>
15431
15432 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15433
3f0093d0 15434 * include/grub/kernel.h (grub_arch_memdisk_addr)
15435 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15436
3f0093d0 15437 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15438 (grub_arch_memdisk_size): ... to here.
ffd36e34 15439
6c391b21 154402008-01-21 Robert Millan <rmh@aybabtu.com>
15441
15442 Mostly based on bugfix from Bean.
15443
15444 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15445 attribute with hook() parameter.
15446 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15447 declaration.
15448 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15449 attribute with hook() parameter.
15450 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15451 declaration.
15452
55a581dc 154532008-01-21 Robert Millan <rmh@aybabtu.com>
15454
15455 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15456 (pkglib_MODULES): Add `memdisk.mod'.
15457 (memdisk_mod_SOURCES): New variable.
15458 (memdisk_mod_CFLAGS): Likewise.
15459 (memdisk_mod_LDFLAGS): Likewise.
15460
15461 * disk/memdisk.c: New file.
15462
15463 * include/grub/disk.h (grub_disk_dev_id): Add
15464 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15465
15466 * include/grub/i386/pc/kernel.h
15467 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15468 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15469 (grub_kernel_image_size): New variable declaration.
15470 (grub_total_module_size): Likewise.
15471 (grub_memdisk_image_size): Likewise.
15472
15473 * include/grub/i386/pc/memory.h
15474 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15475
15476 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15477 (grub_arch_memdisk_addr): New variable declaration.
15478 (grub_arch_memdisk_size): Likewise.
15479
15480 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15481 (grub_arch_memdisk_size): Likewise.
15482
15483 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15484 (codestart): Replace hardcoded `0x100000' with
15485 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15486
15487 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15488 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15489 not NULL, append the contents of the file it refers to, at the end of
15490 the compressed kernel image. Initialize `grub_memdisk_image_size'
15491 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15492 (options): Add "memdisk"|'m' option.
15493 (main): Parse --memdisk|-m option, and pass user-provided path as
15494 parameter to generate_image().
15495
3d7f54c9 154962008-01-20 Robert Millan <rmh@aybabtu.com>
15497
15498 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15499 grub_dprintf() calls from here ...
15500 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15501
0bf74728 155022008-01-20 Robert Millan <rmh@aybabtu.com>
15503
15504 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15505
15506 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15507 declaration.
15508 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15509 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15510 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15511 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15512 property).
15513 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15514 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15515
33bf70a7 155162008-01-19 Robert Millan <rmh@aybabtu.com>
15517
fe6b695a 15518 Get rid of confusing function (superseded by
33bf70a7 15519 `grub_ieee1275_get_integer_property')
15520 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15521 prototype.
15522 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15523 function.
15524 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15525 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15526 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15527
e2da7d26 155282008-01-19 Robert Millan <rmh@aybabtu.com>
15529
15530 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15531 command after "shut-down", since implementations differ on which
15532 the command for halt is.
15533
59f1fd8d 155342008-01-19 Robert Millan <rmh@aybabtu.com>
15535
15536 * include/grub/i386/linuxbios/console.h: Add header protection.
15537 (grub_keyboard_controller_init): New function prototype.
15538 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
15539 (KEYBOARD_COMMAND_READ): Likewise.
15540 (KEYBOARD_COMMAND_WRITE): Likewise.
15541 (KEYBOARD_SCANCODE_SET1): Likewise.
15542 (grub_keyboard_controller_write): New function.
15543 (grub_keyboard_controller_read): Likewise.
15544 (grub_keyboard_controller_init): Likewise.
15545
15546 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
15547 (grub_console_init): On coreboot/LinuxBIOS, call
15548 grub_keyboard_controller_init().
15549
5f5a7c15 155502008-01-19 Robert Millan <rmh@aybabtu.com>
15551
15552 PowerPC changes provided by Pavel Roskin.
15553
15554 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
15555 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
15556 don't rely on cmain() doing it.
15557 * kern/i386/ieee1275/startup.S (_start): Store %eax in
15558 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
15559
1210e168 155602008-01-16 Robert Millan <rmh@aybabtu.com>
15561
15562 * include/grub/i386/linuxbios/memory.h
15563 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
15564 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
15565 receive `table_header' as argument. Instead, probe for it in the
15566 known memory ranges where it can be present.
15567 (grub_available_iterate): Do not pass a fixed `table_header' address
15568 to grub_linuxbios_table_iterate().
15569
3d04eab8 155702008-01-15 Robert Millan <rmh@aybabtu.com>
15571
15572 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
15573 * conf/i386-ieee1275.rmk: New file.
15574 * include/grub/i386/ieee1275/console.h: Likewise.
15575 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
15576 * include/grub/i386/ieee1275/kernel.h: Likewise.
15577 * include/grub/i386/ieee1275/time.h: Likewise.
15578 * kern/i386/ieee1275/init.c: Likewise.
15579 * kern/i386/ieee1275/startup.S: Likewise.
15580
d1bc1b73 155812008-01-15 Robert Millan <rmh@aybabtu.com>
15582
15583 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
15584 when pointers are 32-bit (but still do set it to one when they are
15585 64-bit).
15586
66a65807 155872008-01-15 Robert Millan <rmh@aybabtu.com>
15588
15589 * include/grub/ieee1275/ieee1275.h
15590 (grub_ieee1275_get_integer_property): New function prototype.
15591
15592 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
15593 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 15594 grub_ieee1275_get_property() to handle endianness.
66a65807 15595
15596 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
15597 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 15598 where appropriate.
66a65807 15599 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
15600 (grub_map): Likewise.
15601 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
15602
a83ccafd 156032008-01-15 Bean <bean123ch@gmail.com>
15604
15605 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
15606 (grub_script_execute_cmdline): Reset grub_errno.
15607
15608 * normal/main.c (read_config_file): Reset grub_errno.
15609
15610 * normal/parse.y (script_init): New.
15611 (script): Move function and menuentry here.
15612 (delimiter): New.
15613 (command): Add delimiter at the end of command.
15614 (commands): Adjust to match the new command.
15615 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 15616 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 15617 (if): Use the new commands.
15618
15619 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
15620
df6ecfc6 156212008-01-15 Robert Millan <rmh@aybabtu.com>
15622
15623 * normal/menu.c (run_menu): Move timeout message from here ...
15624 (print_timeout): ... to here.
15625 (run_menu): Use print_timeout() once during initial draw to print
15626 the whole message, and again in every clock tick to update only
15627 the number of seconds.
15628
87ae25eb 156292008-01-15 Robert Millan <rmh@aybabtu.com>
15630
15631 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
15632 actual size of `available' from grub_ieee1275_get_property(), and
15633 restrict parsing to that bound.
15634
47bf09a4 156352008-01-15 Christian Franke <franke@computer.org>
15636
15637 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
15638 (argp_program_version): Remove variable.
15639 (argp_program_bug_address): Likewise.
15640 (options): Convert from struct argp_option to struct option.
15641 (struct arguments): Remove.
15642 (parse_opt): Remove.
15643 (usage): New function.
15644 (main): Replace struct args members by simple variables.
15645 Replace argp_parse() by getopt_long().
15646 Add switch to evaluate options.
15647 Add missing "(...)" around root_dev in prefix string.
15648
c86f1469 156492008-01-14 Robert Millan <rmh@aybabtu.com>
15650
15651 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
15652 for grub_ieee1275_exit(), in order to improve portability.
15653
e622c559 156542008-01-14 Robert Millan <rmh@aybabtu.com>
15655
15656 * util/grub.d/10_linux.in (prefix): Define.
15657 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
15658
44cb1ec8 156592008-01-13 Pavel Roskin <proski@gnu.org>
15660
15661 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
15662 grub_errno if no errors have been detected.
15663
1eb8c802 156642008-01-12 Robert Millan <rmh@aybabtu.com>
15665
15666 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
15667 (grub_util_get_dev_abstraction): New function prototype.
15668
15669 * util/getroot.c: Include `<grub/util/getroot.h>'
15670 (grub_util_get_grub_dev): Move detection of abstraction type to ...
15671 (grub_util_get_dev_abstraction): ... here (new function).
15672
15673 * util/grub-probe.c: Convert PRINT_* to an enum. Add
15674 `PRINT_ABSTRACTION'.
15675 (probe): Probe for abstraction type when requested.
15676 (main): Understand `--target=abstraction'.
15677
15678 * util/i386/efi/grub-install.in: Add abstraction module to core
15679 image when it is found to be necessary.
15680 * util/i386/pc/grub-install.in: Likewise.
15681 * util/powerpc/ieee1275/grub-install.in: Likewise.
15682
15683 * util/update-grub_lib.in (font_path): Return system path without
15684 converting to GRUB path.
15685 * util/update-grub.in: Convert system path returned by font_path()
15686 to a GRUB path. Use `grub-probe -t abstraction' to determine what
15687 abstraction module is needed for loading fonts (if any). Export
15688 that as `GRUB_PRELOAD_MODULES'.
15689 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
15690 insmod commands).
15691
52bd3de9 156922008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
15693
15694 Remove some unused code from reiserfs.
f19dbdb7 15695
52bd3de9 15696 * fs/reiserfs.c (struct grub_reiserfs_key)
15697 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
15698 (struct grub_reiserfs_node_body): Removed.
15699 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15700 Likewise.
15701 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15702 Likewise.
15703 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15704 Likewise.
15705 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15706 Likewise.
15707 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15708 Likewise.
15709 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
15710 Likewise.
15711 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15712 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15713 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15714
2f80039d 157152008-01-10 Robert Millan <rmh@aybabtu.com>
15716
15717 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
15718 Determines if a file is garbage left by packaging systems, etc.
15719 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
15720 for processing /etc/grub.d scripts.
15721 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
15722 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
15723 as a condition for processing Linux images.
15724
87888032 157252008-01-10 Pavel Roskin <proski@gnu.org>
15726
15727 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
15728 to compile reiserfs.c on PowerPC.
15729
7e54fced 157302008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 15731
15732 * kern/device.c (grub_device_iterate): Do not abort device iteration
15733 when one of the devices cannot be opened.
15734 * kern/disk.c (grub_disk_open): Do not account previous failures of
15735 unrelated functions when grub_errno is checked for.
15736
5aa541e6 157372008-01-08 Robert Millan <rmh@aybabtu.com>
15738
15739 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
15740 `! grub_linux_is_bzimage', change order of address comparison to make
15741 it more intuitive, and improve "too big zImage" error message.
15742
7076340d 157432008-01-08 Robert Millan <rmh@aybabtu.com>
15744
15745 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
15746 `$(update-grub_DATA)'.
15747 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
15748 targets.
15749
9ca70333 157502008-01-07 Robert Millan <rmh@aybabtu.com>
15751
15752 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
15753 which instruction is modified by grub-setup during installation
15754 (since it wasn't obvious by only looking at this file).
15755
38ccf575 157562008-01-07 Robert Millan <rmh@aybabtu.com>
15757
15758 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
15759 listing actual TODO items.
15760
f5db4291 157612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15762
868967cf 15763 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
15764 correctly.
15765 (grub_reiserfs_get_key_offset): Likewise.
15766 (grub_reiserfs_set_key_offset): Likewise.
15767 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 15768 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 15769
15770 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
15771 better to remove the bitfield version completely.
f19dbdb7 15772
868967cf 157732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15774
f5db4291 15775 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
15776 allocated from the heap, due to the fshelp implementation.
15777 (grub_reiserfs_dir): Free NODE, due to the same reason.
15778
492e6d9d 157792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15780
15781 Mostly from Vincent Pelletier:
f19dbdb7 15782
492e6d9d 15783 * fs/reiserfs.c: New file.
f19dbdb7 15784
492e6d9d 15785 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
15786 (reiserfs_mod_SOURCES): New variable.
15787 (reiserfs_mod_CFLAGS): Likewise.
15788 (reiserfs_mod_LDFLAGS): Likewise.
15789
15790 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
15791 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
15792 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
15793 normal/color.c.
15794
9ce3e7c1 157952008-01-06 Robert Millan <rmh@aybabtu.com>
15796
15797 * normal/color.c: Remove `<grub/env.h>'.
15798
f3b58148 157992008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
15800
15801 * include/grub/normal.h: Include <grub/env.h>.
15802
7ac3bcfa 158032008-01-05 Robert Millan <rmh@aybabtu.com>
15804
15805 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
15806 usage example with `(hd0,1)'.
fb358190 15807 Reported by Samuel Thibault.
7ac3bcfa 15808
c8ee99d7 158092008-01-05 Robert Millan <rmh@aybabtu.com>
15810
15811 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
15812 (grub_linux_boot_zimage): Rename to ...
15813 (grub_linux_boot): ... this.
15814 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
15815 (grub_linux_boot_zimage): Conditionalize zImage copy.
15816
15817 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
15818 (grub_linux_boot_bzimage): Remove prototype.
15819 (grub_linux_boot_zimage): Rename to ...
15820 (grub_linux_boot): ... this.
15821
15822 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
15823 (grub_linux_boot): Remove function.
15824
0ece25b1 158252008-01-05 Robert Millan <rmh@aybabtu.com>
15826
15827 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
15828 (grub_env_write_color_highlight): Likewise.
15829 (grub_wait_after_message): Likewise.
15830
15831 * normal/color.c: New file.
15832
15833 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15834 (normal_mod_DEPENDENCIES): Likewise.
15835
15836 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15837 (normal_mod_DEPENDENCIES): Likewise.
15838
15839 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15840 (normal_mod_DEPENDENCIES): Likewise.
15841
15842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15843 (normal_mod_DEPENDENCIES): Likewise.
15844
15845 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
15846 for waiting after a message is printed.
15847 * normal/main.c (read_config_file): Likewise.
15848 (grub_normal_init): Register grub_env_write_color_normal() and
15849 grub_env_write_color_highlight() hooks. Mark `color_normal' and
15850 `color_highlight' variables as global.
15851
15852 * normal/menu.c (grub_wait_after_message): New function.
15853 (grub_color_menu_normal): New variable. Replaces ...
15854 (GRUB_COLOR_MENU_NORMAL): ... this macro.
15855 (grub_color_menu_highlight): New variable. Replaces ...
15856 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
15857 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
15858 `GRUB_TERM_COLOR_STANDARD'.
15859 (print_message): Use `grub_setcolorstate' to reload colors. Rename
15860 `normal_code' and `highlight_code' to `old_color_normal' and
15861 `old_color_highlight', respectively.
15862 (grub_menu_init_page): Update colors when drawing the menu, based on
15863 `menu_color_normal' and `menu_color_highlight' variables.
15864 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
15865 a message is printed.
15866
182dd4e5 158672008-01-05 Robert Millan <rmh@aybabtu.com>
15868
15869 * kern/env.c (grub_env_context_open): Propagate hooks for global
15870 variables to new context.
15871
15872 * kern/main.c (grub_set_root_dev): Export `root' variable.
15873
ddf8f6ad 158742008-01-05 Robert Millan <rmh@aybabtu.com>
15875
15876 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 15877 discs unconditionally, since udev and others have options to provide
ddf8f6ad 15878 them.
15879
d8b43d9b 158802008-01-05 Robert Millan <rmh@aybabtu.com>
15881
15882 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
15883
2bff2de3 158842008-01-04 Christian Franke <franke@computer.org>
15885
15886 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
15887 of eisa_mmap.
15888
97eab917 158892008-01-03 Pavel Roskin <proski@gnu.org>
15890
15891 * kern/i386/linuxbios/init.c: Put "void" to all function
15892 declarations with no arguments.
15893 * kern/powerpc/ieee1275/init.c: Likewise.
15894 * term/i386/pc/at_keyboard.c: Likewise.
15895 * term/i386/pc/vga_text.c: Likewise.
15896 * util/grub-mkdevicemap.c: Likewise.
15897
b9416d00 158982008-01-02 Robert Millan <rmh@aybabtu.com>
15899
15900 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
15901 message when loaded image is out of bounds.
15902 (grub_multiboot_load_elf64): Likewise.
15903
92695df9 159042008-01-02 Pavel Roskin <proski@gnu.org>
15905
15906 * util/grub.d/10_linux.in: Try version without ".old" when
15907 looking for initrd. It's better to use initrd from the newer
15908 kernel of the same version than no initrd at all.
15909
d98d9cad 159102008-01-01 Robert Millan <rmh@aybabtu.com>
15911
15912 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
15913
dbfdce36 159142008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
15915
f19dbdb7 15916 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 15917 grub_video_get_active_render_target.
15918 (grub_video_adapter): Added unmap_color and get_active_render_target.
15919
f19dbdb7 15920 * video/video.c: Added grub_video_unmap_color and
dbfdce36 15921 grub_video_get_active_render_target.
15922 (grub_video_get_info): Changed method to accept NULL pointer as an
15923 argument to allow detection of active video adapter.
15924
15925 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
15926 grub_video_vbe_unmap_color_int.
15927 Added grub_video_vbe_unmap_color and
15928 grub_video_vbe_get_active_render_target.
15929 (grub_video_vbe_adapter): Added unmap_color and
15930 get_active_render_target.
15931
f19dbdb7 15932 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 15933 with grub_video_vbe_unmap_color_int.
15934
15935 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
15936 (DEFAULT_NORMAL_COLOR): Likewise.
15937 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
15938 (DEFAULT_FG_COLOR): Removed.
15939 (DEFAULT_BG_COLOR): Likewise.
15940 (DEFAULT_CURSOR_COLOR): Changed value.
15941 (grub_virtual_screen): Added standard_color_setting,
15942 normal_color_setting, highlight_color_setting and term_color.
15943 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
15944 (bitmap_width): Added.
15945 (bitmap_height): Likewise.
15946 (bitmap): Likewise.
15947 (set_term_color): Likewise.
15948 (grub_virtual_screen_setup): Changed to use new terminal coloring
15949 settings.
15950 (grub_gfxterm_init): Added init for bitmap.
15951 (grub_gfxterm_fini): Added destroy for bitmap.
15952 (redraw_screen_rect): Updated to use background bitmap and new
15953 terminal coloring.
15954 (scroll_up): Added optimization for case when there is no bitmap.
15955 (grub_gfxterm_cls): Fixed to use correct background color.
15956 (grub_virtual_screen_setcolorstate): Changed to use new terminal
15957 coloring.
15958 (grub_virtual_screen_setcolor): Likewise.
15959 (grub_virtual_screen_getcolor): Added.
15960 (grub_gfxterm_background_image_cmd): Likewise.
15961 (grub_video_term): Added setcolor and getcolor.
15962 (MOD_INIT): Added registration of background_image command.
15963 (MOD_TERM): Added unregistration for background_image command.
15964
c3c20931 159652007-12-30 Pavel Roskin <proski@gnu.org>
15966
15967 * loader/multiboot_loader.c: Fix multiboot command
15968 unregistration. Fix all typos in the word "multiboot".
15969
df266716 159702007-12-29 Pavel Roskin <proski@gnu.org>
94239199 15971
15972 * util/grub.d/10_linux.in: Refactor search for initrd. Add
15973 support for initrd names used in Fedora.
15974
fc6e896c 159752007-12-26 Bean <bean123ch@gmail.com>
15976
15977 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
15978 (cpio_mod_SOURCES): New variable.
15979 (cpio_mod_CFLAGS): Likewise.
15980 (cpio_mod_LDFLAGS): Likewise.
15981
15982 * fs/cpio.c: New file.
15983
15984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
15985
15986 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15987
15988 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15989
15990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15991
533110ad 159922007-12-25 Robert Millan <rmh@aybabtu.com>
15993
15994 * include/grub/term.h (struct grub_term): Add `getcolor' function.
15995 (grub_getcolor): New function.
15996
15997 * kern/term.c (grub_getcolor): New function.
15998 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
15999 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16000 (print_entry): Set normal and highlight colors to
16001 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16002 respectively, before printing and restore them to old
16003 values afterwards.
16004 (grub_menu_init_page): Likewise. Fill an additional colored space
16005 that would otherwise be left blank.
16006
16007 * term/efi/console.c (grub_console_getcolor): New function.
16008 (struct grub_console_term.getcolor): New variable.
16009 * term/i386/pc/console.c (grub_console_getcolor): New function.
16010 (struct grub_console_term.getcolor): New variable.
16011 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16012 (struct grub_console_term.getcolor): New variable.
16013
16014 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16015 (struct grub_console_term.setcolor): Remove variable.
16016 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16017 (struct grub_console_term.setcolor): Remove variable.
16018 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16019 (struct grub_console_term.setcolor): Remove variable.
16020 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16021 (struct grub_console_term.setcolor): Remove variable.
16022
4931827f 160232007-12-25 Robert Millan <rmh@aybabtu.com>
16024
16025 * configure.ac: Search for possible unifont.hex locations, and
16026 define UNIFONT_HEX if found.
16027
16028 * Makefile.in (UNIFONT_HEX): Define variable.
16029 (DATA): Rename to ...
16030 (PKGLIB): ... this. Update all users.
16031 (PKGDATA): New variable.
16032 (pkgdata_IMAGES): Rename to ...
16033 (pkglib_IMAGES): ... this. Update all users.
16034 (pkgdata_MODULES): Rename to ...
16035 (pkglib_MODULES): ... this. Update all users.
16036 (pkgdata_PROGRAMS): Rename to ...
16037 (pkglib_PROGRAMS): ... this. Update all users.
16038 (pkgdata_DATA): Rename to ...
16039 (pkglib_DATA): ... this. Update all users.
16040 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16041 (unicode.pff, ascii.pff): New rules.
16042 (all-local): Add `$(PKGDATA)' dependency.
16043 (install-local): Process `$(PKGDATA)'.
16044
16045 * util/update-grub_lib.in (font_path): Search for *.pff files in
16046 a few more locations, including `${pkgdata}'.
16047
57e57e31 160482007-12-23 Robert Millan <rmh@aybabtu.com>
16049
16050 Patch from Bean <bean123ch@gmail.com>:
16051 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16052 `size'.
16053
4bc72aa9 160542007-12-21 Bean <bean123ch@gmail.com>
16055
16056 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16057 (ntfscomp_mod_SOURCES): New variable.
16058 (ntfscomp_mod_CFLAGS): Likewise.
16059 (ntfscomp_mod_LDFLAGS): Likewise.
16060
16061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16062 (grub_probe_SOURCES): Likewise.
16063 (grub_emu_SOURCES): Likewise.
16064
16065 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16066 (grub_emu_SOURCES): Likewise.
16067
16068 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16069 (grub_emu_SOURCES): Likewise.
16070
16071 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16072 (grub_emu_SOURCES): Likewise.
16073
16074 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16075 (read_run_list): Renamed to grub_ntfs_read_run_list.
16076 (decomp_nextvcn): Moved to ntfscomp.c.
16077 (decomp_getch): Likewise.
16078 (decomp_get16): Likewise.
16079 (decomp_block): Likewise.
16080 (read_block): Likewise.
16081 (read_data): Partially moved to ntfscomp.c.
16082 (fixup): Change unsigned to grub_uint16_t.
16083 (read_mft): Change unsigned long to grub_uint32_t.
16084 (read_attr): Likewise.
16085 (read_data): Likewise.
16086 (read_run_data): Likewise.
16087 (read_run_list): Likewise.
16088 (read_mft): Likewise.
16089
16090 * fs/ntfscomp.c: New file.
16091
16092 * include/grub/ntfs.h: New file.
16093
af680a87 160942007-12-16 Robert Millan <rmh@aybabtu.com>
16095
16096 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16097 IDE disk check, since Linux is known to support 20 IDE disks.
16098 Reported by Colin Watson.
16099
84be7599 161002007-12-15 Bean <bean123ch@gmail.com>
16101
16102 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16103 (lnxboot_img_SOURCES): New variable.
16104 (lnxboot_img_ASFLAGS): Likewise.
16105 (lnxboot_img_LDFLAGS): Likewise.
16106
16107 * boot/i386/pc/lnxboot.S: New file.
16108
6af9db01 161092007-11-24 Pavel Roskin <proski@gnu.org>
16110
16111 * configure.ac: Test if '--build-id=none' is supported by the
16112 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16113 objcopy to generate incorrect binary files (binutils
16114 2.17.50.0.18-1 as shipped by Fedora 8).
16115 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16116 linking, so that build ID doesn't break the test.
16117
7361cfe6 161182007-11-24 Pavel Roskin <proski@gnu.org>
16119
16120 * include/grub/i386/time.h: use "void" in the argument list
16121 of grub_cpu_idle().
16122 * include/grub/powerpc/time.h: Likewise.
16123 * include/grub/sparc64/time.h: Likewise.
16124
1593e10c 161252007-11-18 Christian Franke <franke@computer.org>
16126
16127 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16128 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16129 This fixes the problem that function keys did not work in grub-emu.
16130
3b8db1a8 161312007-11-18 Christian Franke <franke@computer.org>
16132
16133 * disk/host.c (grub_host_open): Remove attribute unused from
16134 name parameter. Add check for "host". This fixes the problem
16135 that grub-emu does not find partitions.
16136
2e29408d 161372007-11-18 Christian Franke <franke@computer.org>
16138
16139 * util/hostfs.c (is_dir): New function.
16140 (grub_hostfs_dir): Handle missing dirent.d_type case.
16141 (grub_hostfs_read): Add missing fseek().
16142 (grub_hostfs_label): Clear label pointer. This fixes a crash
16143 of grub-emu on "ls (host)".
16144
398cd047 161452007-11-18 Christian Franke <franke@computer.org>
16146
16147 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16148 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16149 to 64 bit boundary by default.
16150
c405c391 161512007-11-18 Bean <bean123ch@gmail.com>
16152
16153 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16154 (hexdump_mod_SOURCES): New variable.
16155 (hexdump_mod_CFLAGS): Likewise.
16156 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16157
c405c391 16158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16159
16160 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16161
16162 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16163
16164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16165
16166 * include/grub/hexdump.h: New file.
16167
16168 * commands/hexdump.c: New file.
16169
5cced7fd 161702007-11-10 Robert Millan <rmh@aybabtu.com>
16171
16172 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16173 in grub_outb() calls.
16174 (beep_on): Likewise.
16175
8b714eb0 161762007-11-10 Christian Franke <franke@computer.org>
16177
16178 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16179 (grub_menu_run): Likewise.
16180
ce0f1839 161812007-11-10 Robert Millan <rmh@aybabtu.com>
16182
16183 * include/grub/i386/efi/machine.h: New file.
16184 * include/grub/i386/linuxbios/machine.h: Likewise.
16185 * include/grub/i386/pc/machine.h: Likewise.
16186 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16187 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16188
16189 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16190 (serial_hw_io_addr): New variable.
16191 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16192 instead of `(unsigned short *) 0x400'.
16193
270c237d 161942007-11-10 Bean <bean123ch@gmail.com>
16195
16196 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16197
a87783bf 161982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16199
16200 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16201 (vga_mod_SOURCES): Added.
16202 (vga_mod_CFLAGS): Likewise.
16203 (vga_mod_LDFLAGS): Likewise.
16204
16205 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16206 grub_outb() calls.
16207 (set_map_mask): Likewise.
16208 (set_read_map): Likewise.
16209 (set_read_address): Likewise.
16210 (vga_font): Removed variable.
16211 (get_vga_glyph): Removed function.
16212 (invalidate_char): Likewise.
16213 (write_char): Changed to use grub_font_get_glyph() for font
16214 information.
16215 (grub_vga_putchar): Likewise.
16216 (grub_vga_getcharwidth): Likewise.
16217
6433b448 162182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16219
16220 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16221 flags.
16222 (pxeboot_img_LDFLAGS): Likewise.
16223 (diskboot_img_LDFLAGS): Likewise.
16224 (kernel_img_LDFLAGS): Likewise.
16225
49178511 162262007-11-06 Robert Millan <rmh@aybabtu.com>
16227
16228 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16229 in grub_outb() calls.
16230 (serial_hw_init): Likewise.
16231
53b052de 162322007-11-05 Robert Millan <rmh@aybabtu.com>
16233
16234 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16235 spaces. Skip non-regular files.
16236
5ab33bba 162372007-11-05 Robert Millan <rmh@aybabtu.com>
16238
16239 * kern/disk.c (grub_disk_firmware_fini)
16240 (grub_disk_firmware_is_tainted): New variables.
16241
16242 * include/grub/disk.h (grub_disk_firmware_fini)
16243 (grub_disk_firmware_is_tainted): Likewise.
16244
16245 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16246 (grub_disk_biosdisk_fini): ... to here.
16247 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16248 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16249 is set. Register grub_disk_biosdisk_fini() in
16250 `grub_disk_firmware_fini'.
16251
16252 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16253 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16254 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16255 to finish existing firmware disk interface.
16256
16257 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16258 (ata_mod_SOURCES): New variable.
16259 (ata_mod_CFLAGS): Likewise.
16260 (ata_mod_LDFLAGS): Likewise.
16261
0149ab7c 162622007-11-05 Robert Millan <rmh@aybabtu.com>
16263
16264 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16265 (grub_ata_wait): Reimplement using grub_millisleep().
16266
16267 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16268 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16269
be7ac41e 162702007-11-03 Marco Gerards <marco@gnu.org>
16271
16272 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16273 (CRTC_ADDR_PORT): New macro.
16274 (CRTC_DATA_PORT): Likewise.
16275 (CRTC_CURSOR): Likewise.
16276 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16277 (CRTC_CURSOR_ADDR_LOW): Likewise.
16278 (update_cursor): New function.
16279 (grub_console_real_putchar): Call `update_cursor'.
16280 (grub_console_gotoxy): Likewise.
16281 (grub_console_cls): Set the default color when clearing the
16282 screen.
16283 (grub_console_setcursor): Implemented.
16284
bb06ab2e 162852007-11-03 Marco Gerards <marco@gnu.org>
16286
16287 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16288 become activate.
16289 (grub_ata_pio_write): Likewise.
16290
16291 (grub_atapi_identify): Wait after issuing an ATA command.
16292 (grub_atapi_packet): Likewise.
16293 (grub_ata_identify): Likewise.
16294 (grub_ata_readwrite): Likewise.
16295
cf8f780b 162962007-11-03 Marco Gerards <marco@gnu.org>
16297
16298 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16299 (grub_ata_pio_write): Likewise.
16300 (grub_ata_readwrite): Use `grub_error', instead of
16301 returning `grub_errno'.
16302
ed649e54 163032007-11-03 Marco Gerards <marco@gnu.org>
16304
16305 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16306 grub_ata_pio_write once for every single sector, instead of for
16307 multiple sectors.
16308
ca25d8f0 163092007-10-31 Robert Millan <rmh@aybabtu.com>
16310
16311 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16312
16313 * conf/i386-linuxbios.rmk: New file.
16314
16315 * kern/i386/pc/hardware.c: Likewise.
16316 * term/i386/pc/at_keyboard.c: Likewise.
16317 * term/i386/pc/vga_text.c: Likewise.
16318
16319 * include/grub/i386/linuxbios/boot.h: Likewise.
16320 * include/grub/i386/linuxbios/console.h: Likewise.
16321 * include/grub/i386/linuxbios/init.h: Likewise.
16322 * include/grub/i386/linuxbios/kernel.h: Likewise.
16323 * include/grub/i386/linuxbios/loader.h: Likewise.
16324 * include/grub/i386/linuxbios/memory.h: Likewise.
16325 * include/grub/i386/linuxbios/serial.h: Likewise.
16326 * include/grub/i386/linuxbios/time.h: Likewise.
16327
16328 * kern/i386/linuxbios/init.c: Likewise.
16329 * kern/i386/linuxbios/startup.S: Likewise.
16330 * kern/i386/linuxbios/table.c: Likewise.
16331
e911ecc1 163322007-10-31 Marco Gerards <marco@gnu.org>
16333
16334 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16335 (ata_mod_SOURCES): New variable.
16336 (ata_mod_CFLAGS): Likewise.
16337 (ata_mod_LDFLAGS): Likewise.
16338
16339 * disk/ata.c: New file.
16340
16341 * include/grub/disk.h (grub_disk_dev_id): Add
16342 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16343
7f66d0e0 163442007-10-31 Robert Millan <rmh@aybabtu.com>
16345
16346 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16347 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16348
16349 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16350 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16351
16352 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16353 `<grub/types.h>'.
16354
16355 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16356
5cd7dd46 163572007-10-27 Robert Millan <rmh@aybabtu.com>
16358
3236ca65 16359 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16360
2ebfc90f 163612007-10-22 Robert Millan <rmh@aybabtu.com>
16362
16363 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16364 `"../realmode.S"'.
16365 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16366
73fcb0f3 163672007-10-22 Robert Millan <rmh@aybabtu.com>
16368
16369 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16370 (pkgdata_MODULES): Add `biosdisk.mod'.
16371 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16372 variables.
16373
16374 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16375 (grub_biosdisk_init): Replace with ...
16376 (GRUB_MOD_INIT(biosdisk)): ... this.
16377 (grub_biosdisk_fini): Replace with ...
16378 (GRUB_MOD_FINI(biosdisk)): ... this.
16379
16380 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16381 (grub_machine_init): Remove call to grub_biosdisk_init().
16382 (grub_machine_fini): Remove call to grub_machine_fini().
16383
16384 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16385
3381d274 163862007-10-22 Robert Millan <rmh@aybabtu.com>
16387
16388 * include/grub/time.h: New file.
16389 * include/grub/i386/time.h: Likewise.
16390 * include/grub/powerpc/time.h: Likewise.
16391 * include/grub/sparc64/time.h: Likewise.
16392
16393 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16394 instances to ...
16395 (KERNEL_MACHINE_TIME_HEADER): ... this.
16396 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16397 instances to ...
16398 (KERNEL_MACHINE_TIME_HEADER): ... this.
16399 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16400 instances to ...
16401 (KERNEL_MACHINE_TIME_HEADER): ... this.
16402
16403 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16404 (grub_millisleep): New function.
16405 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16406 (grub_millisleep): New function.
16407 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16408 Remove `grub/machine/time.h' include.
16409 (grub_millisleep): New function.
16410 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16411 Remove `grub/machine/time.h' include.
16412 (grub_millisleep): New function.
16413
16414 * include/grub/misc.h (grub_div_roundup): New function.
16415
16416 * kern/misc.c: Include `<grub/time.h>'.
16417 (grub_millisleep_generic): New function.
16418
16419 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16420 Add `time.h'.
16421 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16422 Add `time.h'.
16423 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16424 `machine/time.h'. Add `time.h'.
16425 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16426
a39a0312 164272007-10-21 Robert Millan <rmh@aybabtu.com>
16428
16429 * include/grub/misc.h (grub_max): New function.
16430
2aad70e2 164312007-10-21 Robert Millan <rmh@aybabtu.com>
16432
16433 * util/misc.c (grub_util_info): Call fflush() before returning.
16434
54b71c4b 164352007-10-20 Robert Millan <rmh@aybabtu.com>
16436
16437 * genmk.rb (Image): Copy `extra_flags' from here ...
16438 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16439
16440 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16441 to `argc' and `args' arguments.
16442
a979f513 164432007-10-17 Robert Millan <rmh@aybabtu.com>
16444
16445 * kern/i386/loader.S: New file.
16446
16447 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16448 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16449 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16450 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16451 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16452 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16453 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16454 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16455 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16456 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16457 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16458 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16459 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16460 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16461
16462 * kern/i386/realmode.S: New file.
16463
16464 * kern/i386/pc/startup.S (protstack): Moved from here ...
16465 * kern/i386/realmode.S (protstack)... to here.
16466 * kern/i386/pc/startup.S (gdt): Moved from here ...
16467 * kern/i386/realmode.S (gdt)... to here.
16468 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16469 * kern/i386/realmode.S (prot_to_real)... to here.
16470
16471 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16472 `kern/i386/realmode.S'.
16473
825fc8fd 164742007-10-17 Robert Millan <rmh@aybabtu.com>
16475
16476 * include/grub/i386/loader.h: New file.
16477
16478 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16479 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16480 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16481 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16482 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16483 * include/grub/i386/loader.h (grub_linux_prot_size)
16484 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16485 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16486 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16487 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16488
16489 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16490
e179b2f4 164912007-10-15 Robert Millan <rmh@aybabtu.com>
16492
16493 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16494 filesystem when dev->disk is unset.
16495 Do probe for filesystem even when dev->disk->has_partitions is set.
16496 In case a filesystem is found, always report it.
16497 In case it isn't, if dev->disk->has_partitions is set, report that
16498 a partition table was found instead of reporting that no filesystem
16499 could be identified.
16500
5db82af6 165012007-10-12 Robert Millan <rmh@aybabtu.com>
16502
16503 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16504 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16505
68f6ac74 16506 * include/grub/types.h (grub_host_to_target16): New macro.
16507 (grub_host_to_target32): Likewise.
16508 (grub_host_to_target64): Likewise.
16509 (grub_target_to_host16): Likewise.
16510 (grub_target_to_host32): Likewise.
16511 (grub_target_to_host64): Likewise.
5db82af6 16512
16513 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16514 Renamed from to ...
16515 (GRUB_MOD_ALIGN): ...this. Update all users.
16516
68f6ac74 16517 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16518 grub_host_to_target32.
16519 Replace grub_be_to_cpu32 with grub_target_to_host32.
16520 (load_modules): Likewise.
16521 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16522 Replace grub_be_to_cpu32 with grub_target_to_host32.
16523 Replace grub_cpu_to_be16 with grub_host_to_target16.
16524 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16525
3cf497cc 165262007-10-12 Robert Millan <rmh@aybabtu.com>
16527
16528 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16529 * util/elf/grub-mkimage.c: ... here.
16530
16531 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16532 `util/powerpc/ieee1275/grub-mkimage.c'.
16533
c8cc3692 165342007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16535
c8cc3692 16536 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16537 and make it easier to figure out.
16538 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
16539 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
16540 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
16541 leave us with less than HEAP_MIN_SIZE total heap.
16542 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 16543
5c58b791 165442007-10-03 Robert Millan <rmh@aybabtu.com>
16545
16546 * include/grub/i386/io.h: New file.
16547 * commands/i386/pc/play.c (inb): Removed.
16548 (outb): Removed.
16549 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16550 with grub_outb().
afcd2ef8 16551 * term/i386/pc/serial.c (inb): Removed.
16552 (outb): Removed.
16553 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16554 with grub_outb().
16555 * term/i386/pc/vga.c (inb): Removed.
16556 (outb): Removed.
16557 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16558 with grub_outb().
5c58b791 16559
1a477ed6 165602007-10-02 Robert Millan <rmh@aybabtu.com>
16561
16562 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
16563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16564 Reported by Marcin Kurek.
16565
6b5d80fa 165662007-09-07 Robert Millan <rmh@aybabtu.com>
16567
16568 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
16569 SmartFirmware version updates (as released by Sven Luther), and avoid
16570 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
16571 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
16572 known broken.
16573
5618afbf 165742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16575
16576 From Hitoshi Ozeki:
16577 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
16578 when merging two regions.
16579
6139dcd9 165802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16581
508e39ee 16582 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
16583 * normal/completion.c (grub_normal_do_completion): Likewise.
16584 Reported by Hitoshi Ozeki.
16585
165862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16587
6139dcd9 16588 Do not use devices at boot in chainloading.
f19dbdb7 16589
6139dcd9 16590 * loader/i386/pc/chainloader.c (boot_drive): New variable.
16591 (boot_part_addr): Likewise.
16592 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
16593 with BOOT_DRIVE and BOOT_PART_ADDR.
16594 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
16595 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
16596
38da6516 165972007-08-29 Robert Millan <rmh@aybabtu.com>
16598
16599 Patch from Simon Peter <dn.tlp@gmx.net>:
16600 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
16601 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
16602 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
16603 util/i386/pc/grub-setup.c_DEPENDENCIES.
16604 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
16605 util/grub-probe.c_DEPENDENCIES.
16606 * conf/powerpc-ieee1275.rmk: Likewise.
16607
29d0928c 166082007-08-28 Robert Millan <rmh@aybabtu.com>
16609
16610 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
16611 to tell grub-mkdevicemap how to name devices.
16612 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
16613 feature).
16614
16615 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
16616 util/i386/get_disk_name.c.
16617 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
16618 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
16619 util/ieee1275/get_disk_name.c.
16620
16621 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
16622
16623 * DISTLIST: Add util/i386/get_disk_name.c and
16624 util/ieee1275/get_disk_name.c.
16625
16626 * util/grub-mkdevicemap.c: Replace device naming logic with
16627 grub_util_get_disk_name() calls.
16628
5a0d3cca 166292007-08-20 Robert Millan <rmh@aybabtu.com>
16630
16631 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
16632 (so that it works for both plural and singular quantities).
16633
8b72db2f 166342007-08-05 Robert Millan <rmh@aybabtu.com>
16635
16636 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
16637 so that [xz] isn't taken into account when determining order.
16638
352466bf 166392007-08-02 Marco Gerards <marco@gnu.org>
16640
16641 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
16642 `include/multiboot2.h', `include/grub/elfload.h',
16643 `include/multiboot.h', `include/grub/multiboot.h',
16644 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
16645 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
16646 `kern/elf.c', `loader/multiboot_loader.c',
16647 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
16648 `loader/i386/pc/multiboot2.c',
16649 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
16650 `util/i386/pc/grub-mkrescue.in'. Remove
16651 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
16652 `include/grub/i386/pc/util/biosdisk.h' and
16653 `include/grub/powerpc/ieee1275/multiboot.h'.
16654
8f096014 166552007-08-02 Bean <bean123ch@gmail.com>
16656
16657 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
16658 (ntfs_mod_SOURCES): New variable.
16659 (ntfs_mod_CFLAGS): Likewise.
16660 (ntfs_mod_LDFLAGS): Likewise.
16661
16662 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
16663 (grub_probe_SOURCES): Likewise.
16664 (grub_emu_SOURCES): Likewise.
16665
16666 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16667 (grub_emu_SOURCES): Likewise.
16668
16669 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16670 (grub_emu_SOURCES): Likewise.
f19dbdb7 16671
8f096014 16672 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
16673
16674 * fs/ntfs.c: New file.
16675
9959f7db 166762007-08-02 Bean <bean123ch@gmail.com>
16677
16678 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
16679
16680 * file.h (grub_file): Likewise.
16681
16682 * fshelp.h (grub_fshelp_read_file): Likewise.
16683
16684 * util/i386/pc/grub-setup.c (setup): Likewise.
16685 (save_first_sector): Likewise.
16686 (save_blocklists): Likewise.
f19dbdb7 16687
9959f7db 16688 * fs/affs.c (grub_affs_read_file): Likewise.
16689
16690 * fs/ext2.c (grub_ext2_read_file): Likewise.
16691
16692 * fs/fat.c (grub_fat_read_data): Likewise.
16693
16694 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
16695
16696 * fs/hfs.c (grub_hfs_read_file): Likewise.
16697
16698 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16699
16700 * fs/jfs.c (grub_jfs_read_file): Likewise.
16701
16702 * fs/minix.c (grub_minix_read_file): Likewise.
16703
16704 * fs/sfs.c (grub_sfs_read_file): Likewise.
16705
16706 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 16707
9959f7db 16708 * fs/xfs.c (grub_xfs_read_file): Likewise.
16709
16710 * command/blocklist.c (read_blocklist): Likewise.
16711 (print_blocklist): Likewise.
16712
0a203f83 167132007-08-02 Marco Gerards <marco@gnu.org>
16714
16715 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
16716 `util/hostfs.c'.
16717
16718 * disk/host.c: New file.
16719
16720 * util/hostfs.c: Likewise.
16721
16722 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
16723 return `GRUB_ERR_BAD_FS'.
16724 * fs/sfs.c (grub_sfs_mount): Likewise.
16725 * fs/xfs.c (grub_xfs_mount): Likewise.
16726
16727 * include/grub/disk.h (enum grub_disk_dev_id): Add
16728 `GRUB_DISK_DEVICE_HOST_ID'.
16729
16730 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
16731
e5dfe777 167322007-07-24 Jerone Young <jerone@gmail.com>
16733
f19dbdb7 16734 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 16735 modules for compilation.
16736 * conf/powerpc-ieee1275.rmk: Likewise.
16737
16738 * include/multiboot.h: Move multiboot definitions to one file. Rename
16739 many definitions to not get grub specific.
16740 * include/multiboot2.h: Create header with multiboot 2 definitions.
16741 * include/grub/multiboot.h: Header for grub specific function
16742 prototypes and definitions.
16743 * include/grub/multiboot2.h: Likewise.
16744 * include/grub/multiboot_loader.h: Likewise.
16745 * include/grub/i386/pc/multiboot.h: Removed.
16746 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
16747
16748 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
16749 and 2 to allow for one multiboot and module commands.
16750 * loader/multiboot2.c: Add multiboot2 functionality.
16751 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
16752 and definition names.
16753 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
16754 2 functions.
16755 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
16756 ieee1275 specific multiboot2 code.
16757
16758 * kern/i386/pc/startup.S: Change headers and definition names for
16759 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
16760
daf0f0ba 167612007-07-22 Robert Millan <rmh@aybabtu.com>
16762
16763 * geninitheader.sh: Process file specified in first parameter rather
16764 than hardcoding grub_modules_init.lst.
fe6b695a 16765 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 16766 than hardcoding grub_modules_init.h.
16767
16768 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
16769 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
16770 grub_probe_init.[ch] and grub_setup_init.[ch].
16771
16772 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
16773 grub_modules_init.h with grub_emu_init.h.
16774 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
16775 grub_probe_init.[ch] files.
16776 * conf/i386-efi.rmk: Likewise.
16777 * conf/i386-pc.rmk: Likewise.
16778 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
16779 grub_setup_init.[ch] files.
16780
16781 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
16782 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
16783 to initialize modules rather than a list of hardcoded functions.
16784 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
16785 grub_init_all() to initialize modules rather than a list of hardcoded
16786 functions.
16787
54cdc1cc 167882007-07-22 Robert Millan <rmh@aybabtu.com>
16789
16790 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16791 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
16792
ad0686cc 167932007-07-22 Robert Millan <rmh@aybabtu.com>
16794
16795 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16796 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
16797 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
16798 flag when running on SmartFirmware.
16799 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
16800 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
16801 was set.
16802
16803 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16804 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
16805 rather than decreasing it.
16806
16807 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
16808 there's not enough space to do it, fail in the same way as when it
16809 can't be done because there are no partitions.
16810
16811 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
16812 when nvsetenv failed.
16813
969c02ec 168142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16815
16816 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
16817 because this rule is automatically generated.
16818 (grub-mkrescue): Removed for the same reason as above.
16819
5a79f472 168202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16821
16822 Migrate to GNU General Public License Version 3.
f19dbdb7 16823
5a79f472 16824 * COPYING: Replaced with the plain text version of GPLv3.
16825
16826 * config.guess: Updated from gnulib.
16827 * config.sub: Likewise.
16828
16829 * geninit.sh: Output a GPLv3 copyright notice.
16830 * geninitheader.sh: Likewise.
16831 * genmodsrc.sh: Likewise.
16832 * gensymlist.sh.in: Likewise.
16833
16834 * boot/i386/pc/boot.S: Upgraded to GPLv3.
16835 * boot/i386/pc/diskboot.S: Likewise.
16836 * boot/i386/pc/pxeboot.S: Likewise.
16837 * commands/blocklist.c: Likewise.
16838 * commands/boot.c: Likewise.
16839 * commands/cat.c: Likewise.
16840 * commands/cmp.c: Likewise.
16841 * commands/configfile.c: Likewise.
16842 * commands/echo.c: Likewise.
16843 * commands/help.c: Likewise.
16844 * commands/ls.c: Likewise.
16845 * commands/search.c: Likewise.
16846 * commands/terminal.c: Likewise.
16847 * commands/test.c: Likewise.
16848 * commands/videotest.c: Likewise.
16849 * commands/i386/cpuid.c: Likewise.
16850 * commands/i386/pc/halt.c: Likewise.
16851 * commands/i386/pc/play.c: Likewise.
16852 * commands/i386/pc/reboot.c: Likewise.
16853 * commands/i386/pc/vbeinfo.c: Likewise.
16854 * commands/i386/pc/vbetest.c: Likewise.
16855 * commands/ieee1275/halt.c: Likewise.
16856 * commands/ieee1275/reboot.c: Likewise.
16857 * commands/ieee1275/suspend.c: Likewise.
16858 * disk/loopback.c: Likewise.
16859 * disk/lvm.c: Likewise.
16860 * disk/raid.c: Likewise.
16861 * disk/efi/efidisk.c: Likewise.
16862 * disk/i386/pc/biosdisk.c: Likewise.
16863 * disk/ieee1275/ofdisk.c: Likewise.
16864 * font/manager.c: Likewise.
16865 * fs/affs.c: Likewise.
16866 * fs/ext2.c: Likewise.
16867 * fs/fat.c: Likewise.
16868 * fs/fshelp.c: Likewise.
16869 * fs/hfs.c: Likewise.
16870 * fs/hfsplus.c: Likewise.
16871 * fs/iso9660.c: Likewise.
16872 * fs/jfs.c: Likewise.
16873 * fs/minix.c: Likewise.
16874 * fs/sfs.c: Likewise.
16875 * fs/ufs.c: Likewise.
16876 * fs/xfs.c: Likewise.
16877 * hello/hello.c: Likewise.
16878 * include/grub/acorn_filecore.h: Likewise.
16879 * include/grub/arg.h: Likewise.
16880 * include/grub/bitmap.h: Likewise.
16881 * include/grub/boot.h: Likewise.
16882 * include/grub/cache.h: Likewise.
16883 * include/grub/device.h: Likewise.
16884 * include/grub/disk.h: Likewise.
16885 * include/grub/dl.h: Likewise.
16886 * include/grub/elfload.h: Likewise.
16887 * include/grub/env.h: Likewise.
16888 * include/grub/err.h: Likewise.
16889 * include/grub/file.h: Likewise.
16890 * include/grub/font.h: Likewise.
16891 * include/grub/fs.h: Likewise.
16892 * include/grub/fshelp.h: Likewise.
16893 * include/grub/gzio.h: Likewise.
16894 * include/grub/hfs.h: Likewise.
16895 * include/grub/kernel.h: Likewise.
16896 * include/grub/loader.h: Likewise.
16897 * include/grub/lvm.h: Likewise.
16898 * include/grub/misc.h: Likewise.
16899 * include/grub/mm.h: Likewise.
16900 * include/grub/net.h: Likewise.
16901 * include/grub/normal.h: Likewise.
16902 * include/grub/parser.h: Likewise.
16903 * include/grub/partition.h: Likewise.
16904 * include/grub/pc_partition.h: Likewise.
16905 * include/grub/raid.h: Likewise.
16906 * include/grub/rescue.h: Likewise.
16907 * include/grub/script.h: Likewise.
16908 * include/grub/setjmp.h: Likewise.
16909 * include/grub/symbol.h: Likewise.
16910 * include/grub/term.h: Likewise.
16911 * include/grub/terminfo.h: Likewise.
16912 * include/grub/tparm.h: Likewise.
16913 * include/grub/types.h: Likewise.
16914 * include/grub/video.h: Likewise.
16915 * include/grub/efi/api.h: Likewise.
16916 * include/grub/efi/chainloader.h: Likewise.
16917 * include/grub/efi/console.h: Likewise.
16918 * include/grub/efi/console_control.h: Likewise.
16919 * include/grub/efi/disk.h: Likewise.
16920 * include/grub/efi/efi.h: Likewise.
16921 * include/grub/efi/pe32.h: Likewise.
16922 * include/grub/efi/time.h: Likewise.
16923 * include/grub/i386/linux.h: Likewise.
16924 * include/grub/i386/setjmp.h: Likewise.
16925 * include/grub/i386/types.h: Likewise.
16926 * include/grub/i386/efi/kernel.h: Likewise.
16927 * include/grub/i386/efi/loader.h: Likewise.
16928 * include/grub/i386/efi/time.h: Likewise.
16929 * include/grub/i386/pc/biosdisk.h: Likewise.
16930 * include/grub/i386/pc/boot.h: Likewise.
16931 * include/grub/i386/pc/chainloader.h: Likewise.
16932 * include/grub/i386/pc/console.h: Likewise.
16933 * include/grub/i386/pc/init.h: Likewise.
16934 * include/grub/i386/pc/kernel.h: Likewise.
16935 * include/grub/i386/pc/loader.h: Likewise.
16936 * include/grub/i386/pc/memory.h: Likewise.
16937 * include/grub/i386/pc/multiboot.h: Likewise.
16938 * include/grub/i386/pc/serial.h: Likewise.
16939 * include/grub/i386/pc/time.h: Likewise.
16940 * include/grub/i386/pc/vbe.h: Likewise.
16941 * include/grub/i386/pc/vbeblit.h: Likewise.
16942 * include/grub/i386/pc/vbefill.h: Likewise.
16943 * include/grub/i386/pc/vbeutil.h: Likewise.
16944 * include/grub/i386/pc/vga.h: Likewise.
16945 * include/grub/ieee1275/ieee1275.h: Likewise.
16946 * include/grub/ieee1275/ofdisk.h: Likewise.
16947 * include/grub/powerpc/libgcc.h: Likewise.
16948 * include/grub/powerpc/setjmp.h: Likewise.
16949 * include/grub/powerpc/types.h: Likewise.
16950 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
16951 * include/grub/powerpc/ieee1275/console.h: Likewise.
16952 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
16953 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16954 * include/grub/powerpc/ieee1275/loader.h: Likewise.
16955 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
16956 * include/grub/powerpc/ieee1275/time.h: Likewise.
16957 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
16958 * include/grub/sparc64/libgcc.h: Likewise.
16959 * include/grub/sparc64/setjmp.h: Likewise.
16960 * include/grub/sparc64/types.h: Likewise.
16961 * include/grub/sparc64/ieee1275/console.h: Likewise.
16962 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16963 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16964 * include/grub/sparc64/ieee1275/time.h: Likewise.
16965 * include/grub/util/biosdisk.h: Likewise.
16966 * include/grub/util/getroot.h: Likewise.
16967 * include/grub/util/lvm.h: Likewise.
16968 * include/grub/util/misc.h: Likewise.
16969 * include/grub/util/raid.h: Likewise.
16970 * include/grub/util/resolve.h: Likewise.
16971 * io/gzio.c: Likewise.
16972 * kern/device.c: Likewise.
16973 * kern/disk.c: Likewise.
16974 * kern/dl.c: Likewise.
16975 * kern/elf.c: Likewise.
16976 * kern/env.c: Likewise.
16977 * kern/err.c: Likewise.
16978 * kern/file.c: Likewise.
16979 * kern/fs.c: Likewise.
16980 * kern/loader.c: Likewise.
16981 * kern/main.c: Likewise.
16982 * kern/misc.c: Likewise.
16983 * kern/mm.c: Likewise.
16984 * kern/parser.c: Likewise.
16985 * kern/partition.c: Likewise.
16986 * kern/rescue.c: Likewise.
16987 * kern/term.c: Likewise.
16988 * kern/efi/efi.c: Likewise.
16989 * kern/efi/init.c: Likewise.
16990 * kern/efi/mm.c: Likewise.
16991 * kern/i386/dl.c: Likewise.
16992 * kern/i386/efi/init.c: Likewise.
16993 * kern/i386/efi/startup.S: Likewise.
16994 * kern/i386/pc/init.c: Likewise.
16995 * kern/i386/pc/lzo1x.S: Likewise.
16996 * kern/i386/pc/startup.S: Likewise.
16997 * kern/ieee1275/ieee1275.c: Likewise.
16998 * kern/powerpc/cache.S: Likewise.
16999 * kern/powerpc/dl.c: Likewise.
17000 * kern/powerpc/ieee1275/cmain.c: Likewise.
17001 * kern/powerpc/ieee1275/crt0.S: Likewise.
17002 * kern/powerpc/ieee1275/init.c: Likewise.
17003 * kern/powerpc/ieee1275/openfw.c: Likewise.
17004 * kern/sparc64/cache.S: Likewise.
17005 * kern/sparc64/dl.c: Likewise.
17006 * kern/sparc64/ieee1275/init.c: Likewise.
17007 * kern/sparc64/ieee1275/openfw.c: Likewise.
17008 * loader/efi/chainloader.c: Likewise.
17009 * loader/efi/chainloader_normal.c: Likewise.
17010 * loader/i386/efi/linux.c: Likewise.
17011 * loader/i386/efi/linux_normal.c: Likewise.
17012 * loader/i386/pc/chainloader.c: Likewise.
17013 * loader/i386/pc/chainloader_normal.c: Likewise.
17014 * loader/i386/pc/linux.c: Likewise.
17015 * loader/i386/pc/linux_normal.c: Likewise.
17016 * loader/i386/pc/multiboot.c: Likewise.
17017 * loader/i386/pc/multiboot_normal.c: Likewise.
17018 * loader/powerpc/ieee1275/linux.c: Likewise.
17019 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17020 * normal/arg.c: Likewise.
17021 * normal/cmdline.c: Likewise.
17022 * normal/command.c: Likewise.
17023 * normal/completion.c: Likewise.
17024 * normal/execute.c: Likewise.
17025 * normal/function.c: Likewise.
17026 * normal/lexer.c: Likewise.
17027 * normal/main.c: Likewise.
17028 * normal/menu.c: Likewise.
17029 * normal/menu_entry.c: Likewise.
17030 * normal/misc.c: Likewise.
17031 * normal/parser.y: Likewise.
17032 * normal/script.c: Likewise.
17033 * normal/i386/setjmp.S: Likewise.
17034 * normal/powerpc/setjmp.S: Likewise.
17035 * normal/sparc64/setjmp.S: Likewise.
17036 * partmap/acorn.c: Likewise.
17037 * partmap/amiga.c: Likewise.
17038 * partmap/apple.c: Likewise.
17039 * partmap/gpt.c: Likewise.
17040 * partmap/pc.c: Likewise.
17041 * partmap/sun.c: Likewise.
17042 * term/gfxterm.c: Likewise.
17043 * term/terminfo.c: Likewise.
17044 * term/efi/console.c: Likewise.
17045 * term/i386/pc/console.c: Likewise.
17046 * term/i386/pc/serial.c: Likewise.
17047 * term/i386/pc/vesafb.c: Likewise.
17048 * term/i386/pc/vga.c: Likewise.
17049 * term/ieee1275/ofconsole.c: Likewise.
17050 * util/biosdisk.c: Likewise.
17051 * util/console.c: Likewise.
17052 * util/genmoddep.c: Likewise.
17053 * util/getroot.c: Likewise.
17054 * util/grub-emu.c: Likewise.
17055 * util/grub-mkdevicemap.c: Likewise.
17056 * util/grub-probe.c: Likewise.
17057 * util/lvm.c: Likewise.
17058 * util/misc.c: Likewise.
17059 * util/raid.c: Likewise.
17060 * util/resolve.c: Likewise.
17061 * util/update-grub.in: Likewise.
17062 * util/update-grub_lib.in: Likewise.
17063 * util/grub.d/00_header.in: Likewise.
17064 * util/grub.d/10_hurd.in: Likewise.
17065 * util/grub.d/10_linux.in: Likewise.
17066 * util/i386/efi/grub-install.in: Likewise.
17067 * util/i386/efi/grub-mkimage.c: Likewise.
17068 * util/i386/pc/grub-install.in: Likewise.
17069 * util/i386/pc/grub-mkimage.c: Likewise.
17070 * util/i386/pc/grub-mkrescue.in: Likewise.
17071 * util/i386/pc/grub-setup.c: Likewise.
17072 * util/i386/pc/misc.c: Likewise.
17073 * util/powerpc/ieee1275/grub-install.in: Likewise.
17074 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17075 * util/powerpc/ieee1275/misc.c: Likewise.
17076 * video/bitmap.c: Likewise.
17077 * video/video.c: Likewise.
17078 * video/i386/pc/vbe.c: Likewise.
17079 * video/i386/pc/vbeblit.c: Likewise.
17080 * video/i386/pc/vbefill.c: Likewise.
17081 * video/i386/pc/vbeutil.c: Likewise.
17082 * video/readers/tga.c: Likewise.
17083
3572d015 170842007-07-02 Robert Millan <rmh@aybabtu.com>
17085
17086 * conf/i386-efi.rmk: Replace obsolete reference to
17087 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17088 with util/getroot.c.
17089 * conf/powerpc-ieee1275.rmk: Likewise.
17090 * conf/sparc64-ieee1275.rmk: Likewise.
17091
17092 * util/grub-emu.c (main): Fix unchecked pointer handling.
17093
2c2a681b 170942007-07-02 Robert Millan <rmh@aybabtu.com>
17095
17096 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17097 invocation to fail, in order to support partition-less media.
17098
17099 * util/i386/pc/grub-install.in: Likewise.
17100
17101 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17102 which fs or partmap modules are needed (akin to its sister scripts).
17103
17104 Also use grub-probe to get rid of unportable /proc/mounts check.
17105
17106 Print the same informational message that the other scripts do, before
fe6b695a 17107 exiting.
2c2a681b 17108
6193defe 171092007-06-23 Robert Millan <rmh@aybabtu.com>
17110
fe6b695a 17111 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17112 a font file can be found and, if so, echo the GRUB path to it.
17113
17114 * util/update-grub.in: Handle multiple terminals depending on user
17115 input, platform availability and font file presence. Propagate
17116 variables of our findings to /etc/grub.d/ children.
17117
17118 * util/grub.d/00_header.in: Handle multiple terminals, based on
17119 environment setup by update-grub.
17120
eface1dc 171212007-06-23 Robert Millan <rmh@aybabtu.com>
17122
ba50d28f 17123 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17124
bf697e28 171252007-06-21 Robert Millan <rmh@aybabtu.com>
17126
17127 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17128 indicate end of data section in kernel image.
17129 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17130 GRUB_KERNEL_MACHINE_DATA_END.
17131
17132 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17133 space for it.
17134 * kern/i386/efi/startup.S: Likewise.
17135
17136 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17137 during image generation. Implement --prefix option to override this
17138 patch.
17139 * util/i386/efi/grub-mkimage.c: Likewise.
17140
17141 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17142 code to make path relative to its root into a separate function.
17143
17144 * util/i386/pc/grub-install.in: Use newly provided
17145 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17146 pass the result to grub-install --prefix.
17147
baa574b4 171482007-06-13 Robert Millan <rmh@aybabtu.com>
17149
17150 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17151 DEFAULT_DEVICE_MAP.
17152 * util/grub-emu.c: Use above definitions from misc.h instead of
17153 defining them.
17154 * util/grub-mkdevicemap.c: Likewise.
17155 * util/i386/pc/grub-setup.c: Likewise.
17156 * util/grub-probe.c: Likewise.
17157 (probe): Abort with grub_util_error() when either
17158 grub_guess_root_device or grub_util_get_grub_dev fails.
17159
0215dcbf 171602007-06-12 Robert Millan <rmh@aybabtu.com>
17161
17162 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17163 "pager" assignment.
17164 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17165 "pcdata".
17166 * util/grub-probe.c (probe): Likewise for "drive_name".
17167
8af2ab7b 171682007-06-11 Robert Millan <rmh@aybabtu.com>
17169
17170 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17171 not just the cdrom one.
17172
59d31694 171732007-06-11 Robert Millan <rmh@aybabtu.com>
17174
17175 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17176 Add --pkglibdir=DIR option to override pkglibdir.
17177 Mention --image-type=TYPE in help output.
17178 Fix --grub-mkimage (it was a no-op).
fe6b695a 17179 Abort gracefully when no parameter is given.
59d31694 17180
7ee367e4 171812007-06-11 Robert Millan <rmh@aybabtu.com>
17182
17183 * util/i386/pc/grub-mkrescue.in: New file.
17184 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17185 * Makefile.in: Handle bin_SCRIPTS.
17186
29b0ed46 171872007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17188
17189 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17190 list of video modes.
17191
c0f90770 171922007-06-06 Robert Millan <rmh@aybabtu.com>
17193
17194 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17195 file doesn't exist, or if it is in a filesystem grub can't read.
17196
17197 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17198 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17199 header comment to fit in 80 columns when the variables are resolved.
17200
17201 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17202 could be identified by update-grub. Remove redundant check for
fe6b695a 17203 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17204 handles that).
17205
fb36dc26 172062007-06-04 Robert Millan <rmh@aybabtu.com>
17207
17208 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17209
17210 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17211
17212 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17213
0c68c93e 172142007-06-04 Robert Millan <rmh@aybabtu.com>
17215
17216 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17217
17218 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17219 grub_apple_partition_map_fini.
17220
17221 * util/biosdisk.c
17222 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17223 to access >2 TiB disks).
17224
17225 Print disk->total_sectors with %llu instead of %lu, since this
17226 variable is always 64-bit (prevents wrong disk size from being displayed
17227 on either >2 TiB disk or big-endian CPU).
17228
17229 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17230 into a generic case that supports all (sane) partition maps.
17231
17232 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17233 breaks big-endian.
17234
17235 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17236 and grub_apple_partition_map_fini() after that.
17237
0f23eb74 172382007-06-01 Robert Millan <rmh@aybabtu.com>
17239
17240 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17241
17242 * util/grub.d/00_header.in: Only enable gfxterm when
17243 convert_system_path_to_grub_path() succeeds.
17244
42c71976 172452007-05-20 Robert Millan <rmh@aybabtu.com>
17246
17247 * util/update-grub_lib.in: New file.
17248 * DISTLIST: Add update-grub_lib.in.
17249 * conf/common.rmk: Generate update-grub_lib and install it in
17250 $(lib_DATA).
17251 * Makefile.in: Add install routine for $(lib_DATA).
17252
17253 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17254 function provided by update-grub_lib to support arbitrary paths of
17255 unifont.pff.
17256 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17257 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17258
5beb2291 172592007-05-19 Robert Millan <rmh@aybabtu.com>
17260
17261 * commands/i386/cpuid.c: New module.
17262 * DISTLIST: Add it.
17263 * conf/i386-efi.rmk: Enable cpuid.mod.
17264 * conf/i386-pc.rmk: Likewise.
17265
7262eca1 172662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17267
17268 * kern/disk.c (grub_disk_read): Check return value of
17269 grub_realloc().
17270
260ba823 172712007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17272
17273 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17274 arrays.
17275 * disk/raid.c (grub_raid_open): Likewise.
17276
1ecb6cf2 172772007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17278
17279 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17280 stack instead of on the heap.
17281
17282 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17283 before doing a read on it.
17284
17285 * configure.ac: Only use -fno-stack-protector for the target
17286 environment.
f19dbdb7 17287
21c8cbb1 172882007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17289
17290 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17291 __attribute_ ((unused)) to mode_type argument.
17292
17293 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17294
21c8cbb1 17295 * kern/misc.c (memcmp): Fix prototype.
17296
17297 * include/grub/partition.h [GRUB_UTIL]
17298 (grub_gpt_partition_map_init): Add prototype.
17299 (grub_gpt_partition_map_fini): Likewise.
17300
17301 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17302 at the right place.
17303
17304 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17305 (grub_fat_read_data): Likewise.
17306 (grub_fat_find_dir): Likewise.
17307
17308 * font/manager.c (find_glyph): Make table a const.
17309 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17310
849d55d3 173112007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17312
17313 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17314 code, first search for device in /dev/mapper, then in /dev.
17315 (grub_util_get_grub_dev): New function.
17316 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17317 prototype.
17318 * util/grub-probe.c (probe): Remove check for RAID, call
17319 grub_util_get_grub_dev() instead of
17320 grub_util_biosdisk_get_grub_dev().
17321 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17322 grub_util_biosdisk_get_grub_dev().
17323 * util/i386/pc/grub-setup.c (main): Likewise.
17324
8fff7c2f 173252007-05-16 Robert Millan <rmh@aybabtu.com>
17326
17327 * DISTLIST: Update for the latest changes.
17328 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17329 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17330 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17331 grub/util/biosdisk.h.
17332 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17333 grub/util/biosdisk.h.
17334
48e12b52 173352007-05-16 Robert Millan <rmh@aybabtu.com>
17336
17337 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17338
46b9d128 173392007-05-16 Robert Millan <rmh@aybabtu.com>
17340
17341 * util/i386/efi/grub-install.in: New.
17342 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17343 newly added grub-install.
17344 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17345 include.
17346 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17347 grub/util/biosdisk.h.
17348 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17349 grub/util/biosdisk.h.
17350
2d1a40a9 173512007-05-16 Robert Millan <rmh@aybabtu.com>
17352
17353 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17354 * include/grub/util/biosdisk.h: ... here.
17355 * util/i386/pc/biosdisk.c: Moved to ...
17356 * util/biosdisk.c: ... here.
17357 * util/i386/pc/getroot.c: Moved to ...
17358 * util/getroot.c: ... here.
17359 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17360 * util/grub-mkdevicemap.c: ... here.
17361 * util/i386/pc/grub-probe.c: Moved to ...
17362 * util/grub-probe.c: ... here.
17363
9e26e3bc 173642007-05-15 Robert Millan <rmh@aybabtu.com>
17365
17366 * util/update-grub.in: Remove duplicated line in grub.cfg header
17367 message.
17368
57f96397 173692007-05-13 Robert Millan <rmh@aybabtu.com>
17370
17371 * util/update-grub.in: Fix a few assumptions about the devices holding
17372 /, /boot and /boot/grub being the same.
17373 * util/grub.d/00_header.in: Likewise.
17374 * util/grub.d/10_hurd.in: Likewise.
17375 * util/grub.d/10_linux.in: Likewise.
17376
17377 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17378 patterns. Use that to define the `.old' suffix as older than `'.
17379
17380 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17381
17382 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17383 the grub.cfg header message.
17384
2e610d62 173852007-05-11 Robert Millan <rmh@aybabtu.com>
17386
17387 * util/update-grub.in: Create device.map if it doesn't already exist,
17388 before attempting to run grub-probe.
17389 Check for grub-probe and grub-mkdevicemap with the same code
17390 grub-install is using.
17391 Remove test mode.
17392
3f6a10ef 173932007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17394
17395 * Makefile.in: Add the datarootdir autoconf variable.
17396
02e7b75e 173972007-05-09 Robert Millan <rmh@aybabtu.com>
17398
17399 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17400 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17401
75f396cc 174022007-05-07 Robert Millan <rmh@aybabtu.com>
17403
17404 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17405 determine partition map module.
17406 * util/i386/pc/grub-install.in: Use this feature to decide which
17407 partition module to load, instead of hardcoding pc and gpt.
17408
da65cb36 174092007-05-07 Robert Millan <rmh@aybabtu.com>
17410
17411 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17412 source directory differs from build directory.
17413
b57d6a91 174142007-05-05 Robert Millan <rmh@aybabtu.com>
17415
17416 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17417 initialisation.
17418
509d00f1 174192007-05-05 Robert Millan <rmh@aybabtu.com>
17420
17421 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17422
c48f23ef 174232007-05-05 Robert Millan <rmh@aybabtu.com>
17424
17425 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17426 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17427
20b97658 174282007-05-05 Robert Millan <rmh@aybabtu.com>
17429
17430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17431 (grub_probe_SOURCES): Likewise.
17432 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17433 GPT and initialize dos_part and bsd_part accordingly.
17434 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17435 install_bsd_part.
17436 (main): Activate gpt module for use during partition identification,
17437 and deactivate it afterwards.
17438 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17439 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17440 partition identification, and deactivate it afterwards.
17441
99123174 174422007-05-05 Robert Millan <rmh@aybabtu.com>
17443
17444 * term/i386/pc/console.c (grub_console_fini): Call
17445 grub_term_set_current() before grub_term_unregister().
17446
ebd97f6e 174472007-05-04 Robert Millan <rmh@aybabtu.com>
17448
17449 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17450 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17451 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17452 and update-grub_DATA.
17453 * conf/common.rmk: Build and install update-grub components.
17454 * conf/common.mk: Regenerate.
17455 * util/update-grub.in: New. Core of update-grub.
17456 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17457 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17458 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17459 * util/grub.d/README: New. Document grub.d directory layout.
17460
b06a264d 174612007-05-01 Robert Millan <rmh@aybabtu.com>
17462
17463 * util/grub-emu.c: Move initialization functions
17464 grub_util_biosdisk_init() and grub_init_all() before
17465 grub_util_biosdisk_get_grub_dev(), which relies on them.
17466
41f0050e 174672007-04-19 Robert Millan <rmh@aybabtu.com>
17468
17469 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17470 it is used later.
17471
04582bb3 174722007-04-18 Jerone Young <jerone@gmail.com>
17473
f19dbdb7 17474 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17475 stanza.
17476
08db4632 174772007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17478
08db4632 17479 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17480 continue on and look for device node with real device name.
17481
801b76be 174822007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17483
fe6b695a 17484 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17485 ability.
17486 * Makefile.in: Add autoconf package transformation code.
17487 * util/i386/pc/grub-install.in: Likewise.
17488 * util/powerpc/ieee1275/grub-install.in: Likewise.
17489
6795c4e1 174902007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17491
17492 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17493 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17494 (EXT2_REVISION): Likewise.
17495 (EXT2_INODE_SIZE): Likewise.
17496 (struct grub_ext2_block_group): Added a missing member
17497 "used_dirs".
17498 (grub_ext2_read_inode): Divide by the inode size in a superblock
17499 instead of 128 to obtain INODES_PER_BLOCK.
17500 Use the macro EXT2_INODE_SIZE instead of directly using
17501 SBLOCK->INODE_SIZE.
17502
d70af616 175032007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17504
17505 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17506 superblock instead of the structure size to compute an
17507 offset. This fixes the problem that GRUB could not read a
17508 filesystem when inode size is different from 128-byte.
17509
3b801603 175102007-03-05 Marco Gerards <marco@gnu.org>
17511
17512 * normal/main.c (read_config_file): When "menu" is not set, create
17513 an initial context.
17514
4785bfe4 175152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17516
17517 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17518 (HEAP_LIMIT): New macro.
17519 (grub_claim_heap): Claim memory up to `heaplimit'.
17520
a0cbb023 175212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17522
17523 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17524 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17525 (_start): Likewise.
17526 (grub_arch_modules_addr): Return address after `_end'.
17527 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17528 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17529 (add_segments): Calculate `_end' from phdr size and location.
17530 (ALIGN_UP): Moved to ...
17531 * include/grub/misc.h: here.
17532 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17533 New macro.
17534 (GRUB_IEEE1275_MODULE_BASE): Removed.
17535
fd7d8eba 175362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17537
17538 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
17539 loop boundary.
17540
9b09e6fc 175412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17542
17543 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
17544 All users updated.
17545 (grub_elf64_load_hook_t): Likewise.
17546 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
17547 debug output.
17548
3ce27299 175492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17550
17551 * kern/mm.c: Update copyright.
17552 (grub_mm_debug): Correct syntax error.
17553 (grub_mm_dump_free): New function.
17554 (grub_debug_free): Call `grub_free'.
17555 * include/grub/mm.h: Update copyright.
17556 (grub_mm_dump_free): Add declaration.
17557
077d5fee 175582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17559
17560 * include/grub/ieee1275/ieee1275.h: Update copyright.
17561 * kern/powerpc/ieee1275/init.c: Likewise.
17562 * kern/powerpc/ieee1275/openfw.c: Likewise.
17563
17564 * loader/powerpc/ieee1275/linux.c: Likewise.
17565 * include/grub/elfload.h: Likewise.
17566 * kern/elf.c: Likewise.
17567 (grub_elf32_load): Pass `base' and `size' parameters. Update all
17568 callers.
17569 (grub_elf64_load): Likewise.
17570 (grub_elf32_load_segment): Move to a nested function.
17571 (grub_elf64_load_segment): Likewise.
17572
dc946850 175732007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17574
17575 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
17576 prototype.
17577 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
17578 (grub_heap_len): Likewise.
17579 (HEAP_SIZE): New macro.
17580 (grub_claim_heap): New function.
17581 (grub_machine_init): Don't claim heap directly. Call
17582 `grub_claim_heap'.
17583 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
17584 (grub_available_iterate): New function.
17585
baa2a121 175862007-02-03 Thomas Schwinge <tschwinge@gnu.org>
17587
17588 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
17589 * configure.ac: Use it for testing the HOST and TARGET compilers.
17590
4fe9862e 175912006-12-13 Thomas Schwinge <tschwinge@gnu.org>
17592
17593 * Makefile.in (enable_grub_emu): New variable.
17594 * configure.ac (--enable-grub-emu): New option.
17595 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
17596 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
17597 * conf/i386-pc.rmk: Likewise.
17598 * conf/powerpc-ieee1275.rmk: Likewise.
17599 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
17600
a8aa5762 176012006-12-12 Marco Gerards <marco@gnu.org>
17602
17603 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
17604
17605 * kern/env.c (grub_env_unset): Don't free the member `value' when
17606 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
17607 pointer.
17608
17609 * normal/main.c (current_menu): Removed.
17610 (free_menu): Unset the `menu' environment variable.
17611 (grub_normal_menu_addentry): Make use of the environment variable
17612 `menu', instead of using the global `current_menu'. Allocate
17613 memory for the sourcecode of this entry.
17614 (read_config_file): New argument `nested', changed all callers.
17615 Only in the case of a new context, initialize a new menu. Set the
17616 `menu' environment variable.
17617 (grub_normal_execute): Don't set and unset the environment
17618 variable `menu' here anymore. Only free the menu when leaving the
17619 context.
17620
17621 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
17622 leak.
17623
957b3a3e 176242006-12-11 Marco Gerards <marco@gnu.org>
17625
17626 * normal/menu_entry.c (run): Fix off by one bug so the last line
17627 is executed. Move the loader check to outside the loop.
17628
ef875714 176292006-12-08 Hollis Blanchard <hollis@penguinppc.org>
17630
17631 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
17632
4e739985 176332006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
17634
17635 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
17636 the number of sectors. Reported by Andrey Shuvikov
17637 <mr_hyro@yahoo.com>.
f19dbdb7 17638
790707f2 176392006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
17640
17641 * kern/disk.c (grub_disk_read): When there is a read error, always
17642 try to read only the necessary data.
f19dbdb7 17643
790707f2 17644 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
17645 disk/raid.c.
17646 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
17647 prototype.
17648 [GRUB_UTIL] (grub_raid_fini): Likewise.
17649 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 17650 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 17651 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
17652 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
17653 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
17654 and grub_raid_fini().
f19dbdb7 17655
03e58196 176562006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
17657
17658 * include/grub/types.h (__unused): Rename to UNUSED.
17659 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
17660 (grub_elf64_size): Likewise.
f19dbdb7 17661
ae4f23bf 176622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17663
17664 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
17665 grub_error_push and grub_error_pop in the error-handling path.
17666 (grub_elf32_load_segment): Only call grub_file_read with non-zero
17667 length.
17668
2166cc83 176692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17670
17671 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
17672 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17674 (kernel_elf_SOURCES): Likewise.
17675 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
17676 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
17677 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17678 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17679 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
17680 (elf_mod_SOURCES): New variable.
17681 (elf_mod_CFLAGS): Likewise.
17682 (elf_mod_LDFLAGS): Likewise.
17683 * include/grub/types.h (__unused): New macro.
17684 * include/grub/elfload.h: New file.
17685 * kern/elf.c: Likewise.
17686 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
17687 (ELF32_LOADMASK): New macro.
17688 (ELF64_LOADMASK): Likewise.
17689 (vmlinux): Removed.
17690 (grub_linux_load32): New function.
17691 (grub_linux_load64): Likewise.
17692 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
17693 Use grub_elf_t instead of grub_file_t.
17694
a09d5aa5 176952006-11-02 Hollis Blanchard <hollis@penguinppc.org>
17696
17697 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
17698 `catch_result' to struct set_color_args.
17699
d976fc51 177002006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17701
17702 * normal/menu.c: Include grub/script.h.
17703 * normal/menu_entry.c: Likewise.
17704 * include/grub/normal.h: Do not include grub/script.h.
17705
67507549 177062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17707
17708 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
17709
69203a99 177102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17711
17712 * kern/disk.c (grub_disk_open): Print debug messages when opening a
17713 disk.
17714 (grub_disk_close): Print debug messages when closing a disk.
17715 (grub_disk_read): Print debug messages when disk read fails.
17716 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
17717 filesystem type.
17718 * kern/partition.c: Include misc.h.
17719 (grub_partition_iterate): Print debug messages when detecting
17720 partition type.
17721
e2b8278c 177222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17723
17724 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
17725 is negative.
17726 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
17727
97b2f2ff 177282006-10-26 Hollis Blanchard <hollis@penguinppc.org>
17729
17730 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17731 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
17732
6555d655 177332006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
17734
17735 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
17736 instead of sizeof(lv). Patch by Michael Guntsche.
17737
4d42b77f 177382006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
17739
17740 * disk/lvm.c: Rename VGS to VG_LIST.
17741 (grub_lvm_iterate): Change VGS->LV to VG-LV.
17742 (grub_lvm_open): Likewise.
17743 Thanks to Michael Guntsche for finding this bug.
17744
5d74d927 177452006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17746
17747 * configure.ac (AC_INIT): Bumped to 1.95.
17748
a1bb27e4 177492006-10-14 Robert Millan <rmh@aybabtu.com>
17750
17751 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
17752 with "/dev/.static/dev/md".
17753
e0994b8b 177542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17755
17756 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
17757 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
17758 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
17759 DRIVE_NAME are always freed.
17760
17761 * util/i386/pc/biosdisk.c (make_device_name): Add one into
17762 DOS_PART, as a DOS partition is counted from one instead of zero
17763 now. Reported by Robert Millan.
17764
ddd5cee9 177652006-10-14 Robert Millan <rmh@aybabtu.com>
17766
17767 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
17768 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
17769 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
17770 string returned by grub_guess_root_device.
17771 * util/i386/pc/grub-setup.c: Likewise.
17772 * util/i386/pc/grub-probefs.c: Likewise.
17773
17774 * util/i386/pc/grub-probefs.c: Rename to ...
17775 * util/i386/pc/grub-probe.c: ... this.
17776 * DISTLIST: Remove grub-probefs, add grub-probe.
17777 * conf/i386-efi.rmk: Likewise.
17778 * conf/i386-pc.rmk: Likewise.
17779 * util/i386/pc/grub-install.in: Likewise.
17780
17781 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
17782 choose which information we want to print.
17783
2b002173 177842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17785
17786 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
17787 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
17788 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
17789 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
17790 video/readers/tga.c and video/i386/pc/vbeutil.c.
17791
177922006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
17793
17794 Added support for RAID and LVM.
f19dbdb7 17795
2b002173 17796 * disk/lvm.c: New file.
17797 * disk/raid.c: Likewise.
17798 * include/grub/lvm.h: Likewise.
f19dbdb7 17799 * include/grub/raid.h: Likewise.
2b002173 17800 * include/grub/util/lvm.h: Likewise.
17801 * include/grub/util/raid.h: Likewise.
17802 * util/lvm.c: Likewise.
17803 * util/raid.c: Likewise.
17804
17805 * include/grub/disk.h (grub_disk_dev_id): Add
17806 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
17807 (grub_disk_get_size): New prototype.
17808 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
17809 returns a partition.
17810 (grub_disk_get_size): New function.
f19dbdb7 17811
2b002173 17812 * kern/i386/pc/init.c (make_install_device): Copy the prefix
17813 verbatim if grub_install_dos_part is -2.
17814
17815 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
17816 and LVM devices.
17817
17818 * util/i386/pc/grub-setup.c (setup): New argument
17819 MUST_EMBED. Force embedding of GRUB when the argument is
17820 true. Close FILE before returning.
17821 (main): Add support for RAID and LVM.
f19dbdb7 17822
2b002173 17823 * conf/common.rmk: Add RAID and LVM modules.
17824 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
17825 util/lvm.c.
17826 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
17827
17828 * kern/misc.c (grub_strstr): New function.
17829 * include/grub/misc.h (grub_strstr): New prototype.
17830
050548d0 178312006-10-10 Tristan Gingold <tristan.gingold@bull.net>
17832
17833 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
17834
da849d2d 178352006-10-05 Tristan Gingold <tristan.gingold@bull.net>
17836
17837 * kern/misc.c (grub_strtoull): Guess the base only if not
17838 specified.
17839
97b2f2ff 178402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 17841
17842 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
17843 PowerMac support.
17844
97b2f2ff 178452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 17846
17847 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
17848
17849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
17850 Remove `flags' argument. All callers changed.
17851 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
17852 (IEEE1275_IHANDLE_INVALID): New variable.
17853 (IEEE1275_CELL_INVALID): New variable.
17854 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17855 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
17856 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
17857 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
17858 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
17859 codes from Open Firmware. All callers updated.
17860 (grub_ieee1275_next_property): Directly return Open Firmware return
17861 code.
17862 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17863 Standardize error checking from `grub_ieee1275_get_property'.
17864 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
17865 `devalias' to `aliases'. Correct comments. Consolidate error paths.
17866
97b2f2ff 178672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 17868
17869 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
17870 `instance_to_package_args' to `instance_to_path_args'.
17871
17872 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
17873 `grub_ieee1275_chosen'.
17874
17875 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
17876 `grub_ieee1275_interpret'.
17877
97b2f2ff 178782006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 17879
17880 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
17881
97b2f2ff 178822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 17883
17884 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
17885 (__cmpdi): Likewise.
17886
17887 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
17888 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
17889 `grub_ssize_t'.
17890
02bb8acc 17891 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 17892
17893 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
17894 to type `grub_ssize_t'.
17895 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
17896
7f9a8531 178972006-09-22 Marco Gerards <marco@gnu.org>
17898
17899 * normal/script.c (grub_script_create_cmdmenu): Skip leading
17900 newlines.
17901
b5ef1102 179022006-09-22 Marco Gerards <marco@gnu.org>
17903
17904 * commands/echo.c: New file.
17905
17906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
17907
17908 * conf/common.rmk (echo_mod_SOURCES): New variable.
17909 (echo_mod_CFLAGS): Likewise.
17910 (echo_mod_LDFLAGS): Likewise.
17911
2cff3677 179122006-09-22 Marco Gerards <marco@gnu.org>
17913
17914 * normal/main.c (get_line): Malloc memory instead of using
17915 preallocated memory. Removed the arguments `cmdline' and
17916 `max_len'. Updated all callers.
17917
6ba4688b 179182006-09-22 Marco Gerards <marco@gnu.org>
17919
17920 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
17921 (normal_mod_DEPENDENCIES): Likewise.
17922
17923 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
17924 (normal_mod_DEPENDENCIES): Likewise.
17925
17926 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
17927
e02ac02c 179282006-09-22 Johan Rydberg <jrydberg@gnu.org>
17929
17930 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
17931 programs.
17932 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
17933 (normal_mod_DEPENDENCIES): Likewise.
17934 * conf/i386-pc.mk: Regenerate.
17935 * conf/i386-efi.mk: Likewise
17936 * conf/common.mk: Likewise.
17937 * conf/powerpc-ieee1275.mk: Likewise.
17938 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17939
8d252e44 179402006-09-22 Robert Millan <rmh@aybabtu.com>
17941
17942 Sync with i386 version.
17943 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
17944 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
17945
209bf7ac 179462006-09-21 Robert Millan <rmh@aybabtu.com>
17947
17948 Import from GRUB Legacy (lib/device.c):
17949 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
17950 (init_device_map) [__linux__]: Add support for I2O devices.
17951
6b146090 179522006-09-14 Marco Gerards <marco@gnu.org>
17953
17954 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
17955 `-melf_i386'.
17956
e38600a8 179572006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 17958
17959 * util/i386/pc/grub-install.in: Skip menu.lst when removing
17960 /boot/grub/*.lst.
78fa1790 17961
2952da5d 17962 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 17963
2952da5d 17964 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
17965 before adding it to device.map.
17966
01b82a64 179672006-08-15 Johan Rydberg <jrydberg@gnu.org>
17968
fe6b695a 17969 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 17970 compiles a file; using the -MD option.
17971 * conf/common.mk: Regenerate.
17972 * conf/i386-pc.mk: Likewise.
17973 * conf/i386-efi.mk: Likewise.
17974 * conf/powerpc-ieee1275.mk: Likewise.
17975 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 17976
1064790d 179772006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
17978
17979 Move the prototypes of grub_setjmp and grub_longjmp to
17980 cpu/setjmp.h, so that each architecture may specify different
17981 attributes.
f19dbdb7 17982
1064790d 17983 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
17984 (grub_longjmp): Likewise.
17985 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
17986 (grub_longjmp): Likewise.
17987 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
17988 (grub_longjmp): Likewise.
17989
17990 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
17991 [!GRUB_UTIL] (grub_longjmp): Removed.
17992
29dda3ed 179932006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
17994
17995 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
17996 "color!" method does not return any value.
17997
ad2a06ed 179982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
17999
18000 * include/grub/bitmap.h: New file.
18001
18002 * include/grub/i386/pc/vbeutil.h: Likewise.
18003
18004 * video/bitmap.c: Likewise.
18005
18006 * video/readers/tga.c: Likewise.
18007
18008 * video/i386/pc/vbeutil.c: Likewise.
18009
18010 * commands/videotest.c: Code cleanup and updated to reflect to new
18011 video API.
18012
18013 * term/gfxterm.c: Likewise.
18014
18015 * video/video.c: Likewise.
18016
18017 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18018 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18019 (bitmap_mod_SOURCES): New entry.
18020 (bitmap_mod_CFLAGS): Likewise.
18021 (bitmap_mod_LDFLAGS): Likewise.
18022 (tga_mod_SOURCES): Likewise.
18023 (tga_mod_CFLAGS): Likewise.
18024 (tga_mod_LDFLAGS): Likewise.
18025
18026 * include/grub/video.h (grub_video_blit_operators): New enum type.
18027 (grub_video_render_target): Changed as forward declaration and moved
18028 actual definition to be video driver specific.
18029 (grub_video_adapter.blit_bitmap): Added blitting operator.
18030 (grub_video_adapter.blit_render_target): Likewise.
18031 (grub_video_blit_bitmap): Likewise.
18032 (grub_video_blit_render_target): Likewise.
18033
18034 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18035 driver specific render target definition.
18036 (grub_video_vbe_map_rgba): Added driver internal helper.
18037 (grub_video_vbe_unmap_color): Updated to use
18038 grub_video_i386_vbeblit_info.
18039 (grub_video_vbe_get_video_ptr): Likewise.
18040
18041 * include/grub/i386/pc/vbeblit.h
18042 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18043 grub_video_i386_vbeblit_info.
18044 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18045 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18046 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18047 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18048 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18049 (grub_video_i386_vbeblit_index_index): Likewise.
18050 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18051 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18052 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18053 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18054 operator.
18055 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18056 operator.
18057
18058 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18059 include/grub/i386/pc/vbeblit.h.
18060
18061 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18062 Updated to use grub_video_i386_vbeblit_info.
18063 (grub_video_i386_vbefill_R8G8B8): Likewise.
18064 (grub_video_i386_vbefill_index): Likewise.
18065 (grub_video_i386_vbefill): Added generic filler.
18066
18067 * video/i386/pc/vbefill.c: Updated to reflect changes on
18068 include/grub/i386/pc/vbefill.h.
18069
18070 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18071 grub_video_i386_vbeblit_info.
18072 (grub_video_vbe_unmap_color): Likewise.
18073 (grub_video_vbe_blit_glyph): Likewise.
18074 (grub_video_vbe_scroll): Likewise.
18075 (grub_video_vbe_draw_pixel): Removed function.
18076 (grub_video_vbe_get_pixel): Likewise.
18077 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18078 updated code to use it.
18079 (common_blitter): Added common blitter for render target and bitmap.
18080 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18081 (grub_video_vbe_blit_render_target): Likewise.
18082
bc8c036d 180832006-07-30 Johan Rydberg <jrydberg@gnu.org>
18084
18085 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18086 is in text mode if there is no console control protocol instance
18087 available.
18088
684a8eff 180892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18090
18091 * include/grub/video.h: Code cleanup.
18092
18093 * include/grub/i386/pc/vbe.h: Likewise.
18094
18095 * video/i386/pc/vbe.c: Likewise.
18096
18097 * video/i386/pc/vbeblit.c: Likewise.
18098
18099 * video/i386/pc/vbefill.c: Likewise.
18100
18101 * video/video.c: Likewise. Also added more comments.
18102
5915059b 181032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18104
18105 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18106 (struct grub_biosdisk_dap): Likewise.
18107
18108 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18109 linkage settings for all functions.
18110
90ce5d56 181112006-07-12 Marco Gerards <marco@gnu.org>
18112
18113 * configure.ac (--enable-mm-debug): Fix typo.
18114
18115 * genkernsyms.sh.in: Use proper quoting for `CC'.
18116
43e7f879 181172006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18118
18119 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18120 (normal_mod_ASFLAGS): Remove "-m32".
18121
4889bdec 181222006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18123
18124 * util/misc.c: Include config.h.
18125 [!HAVE_MEMALIGN]: Do not include malloc.h.
18126 (grub_memalign): Use posix_memalign, if present. Then, use
18127 memalign, if present. Otherwise, emit an error.
18128
18129 * util/grub-emu.c: Do not include malloc.h.
18130
18131 * include/grub/util/misc.h: Include unistd.h. This is required for
18132 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18133 D. Eades III <hde@foobar-qux.org>.
18134
18135 * configure.ac (AC_GNU_SOURCE): Added.
18136 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18137 type.
18138
fd39d4da 181392006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18140
18141 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18142 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18143
b786f3b5 181442006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18145
18146 * include/grub/types.h (grub_host_addr_t): Rename to
18147 grub_target_addr_t.
18148 (grub_host_off_t): Rename to grub_target_off_t.
18149 (grub_host_size_t): Rename to grub_target_size_t.
18150 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18151 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18152
18153 * include/grub/kernel.h (struct grub_module_header): Change type
18154 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18155 (grub_module_info): Likewise.
f19dbdb7 18156
051988bb 181572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18158
18159 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18160 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18161 Velazquez <jesus.velazquez@gmail.com>.
18162
deae281b 181632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18164
18165 Count partitions from 1 instead of 0 in the string representation
18166 of partitions. Still use 0-based internally.
f19dbdb7 18167
deae281b 18168 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18169 (sun_partition_map_iterate): Use grub_partition_t instead of
18170 struct grub_partition *. Cast DESC->START_CYLINDER to
18171 grub_uint64_t after converting the endian.
18172 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18173 (sun_partition_map_get_name): Add 1 to P->INDEX.
18174
18175 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18176 PCDATA->DOS_PART.
18177 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18178
18179 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18180 zero instead of one.
18181 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18182 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18183
18184 * partmap/apple.c (apple_partition_map_iterate): Change the type
18185 of POS to unsigned.
18186 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18187 (apple_partition_map_get_name): Add 1 into P->INDEX.
18188
18189 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18190 of POS to unsigned.
18191 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18192 calculate the offset of a partition.
18193 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18194 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18195
18196 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18197 SECTOR to grub_disk_addr_t.
18198 (acorn_partition_map_iterate): Likewise.
18199 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18200 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18201 top.
18202 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18203
18204 * kern/i386/pc/init.c (make_install_device): Add 1 into
18205 GRUB_INSTALL_DOS_PART.
18206
18207 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18208 conditional.
18209
524a1e6a 182102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18211
18212 Clean up the code to support 64-bit addressing in disks and
18213 files. This change is not enough for filesystems yet.
f19dbdb7 18214
524a1e6a 18215 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18216 type of "start" to grub_uint64_t.
18217 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18218 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18219 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18220 convert addresses.
18221
18222 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18223 to grub_disk_addr_t.
18224
18225 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18226 string.
18227
18228 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18229
18230 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18231 to char *.
18232
18233 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18234
18235 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18236
18237 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18238
18239 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18240 to grub_off_t, to detect an error from grub_file_seek.
18241 (grub_multiboot_load_elf32): Likewise.
18242
18243 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18244 maximum unsigned long value when an overflow is detected.
18245 (grub_strtoull): New function.
18246 (grub_divmod64): Likewise.
18247 (grub_lltoa): use grub_divmod64.
18248
18249 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18250 grub_disk_addr_t.
18251 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18252 the pointer to next character. Use grub_strtoull instead of
18253 grub_strtoul.
18254 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18255 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18256 respectively.
18257
fe6b695a 18258 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18259 return value is signed.
18260 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18261 test if OFFSET is less than zero, as OFFSET is unsigned now.
18262
18263 * kern/disk.c (struct grub_disk_cache): Change the type of
18264 "sector" to grub_disk_addr_t.
18265 (grub_disk_cache_get_index): Change the type of SECTOR to
18266 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18267 unsigned after shifting.
18268 (grub_disk_cache_invalidate): Change the type of SECTOR to
18269 grub_disk_addr_t.
18270 (grub_disk_cache_unlock): Likewise.
18271 (grub_disk_cache_store): Likewise.
18272 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18273 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18274 grub_disk_addr_t and grub_uint64_t, respectively.
18275 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18276 body, as the value of OFFSET is tweaked by
18277 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18278 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18279 respectively.
18280 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18281 body, as the value of OFFSET is tweaked by
18282 grub_disk_check_range. Change the types of LEN and N to
18283 grub_size_t.
18284
18285 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18286 and "saved_offset" to grub_off_t.
18287 (test_header): Cast BUF to char *.
18288 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18289 to char *.
18290 (grub_gzio_read): Change the types of OFFSET and SIZE to
18291 grub_off_t and grub_size_t, respectively.
18292
18293 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18294 Removed.
18295 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18296 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18297 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18298 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18299 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18300
18301 * include/grub/types.h (grub_off_t): Unconditionally set to
18302 grub_uint64_t.
18303 (grub_disk_addr_t): Changed to grub_uint64_t.
18304
18305 * include/grub/partition.h (struct grub_partition): Change the
18306 types of "start", "len" and "offset" to grub_disk_addr_t,
18307 grub_uint64_t and grub_disk_addr_t, respectively.
18308 (grub_partition_get_start): Return grub_disk_addr_t.
18309 (grub_partition_get_len): Return grub_uint64_t.
18310
18311 * include/grub/misc.h (grub_strtoull): New prototype.
18312 (grub_divmod64): Likewise.
18313
18314 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18315 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18316 grub_off_t, respectively.
18317 All callers and references changed.
18318
18319 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18320 grub_size_t in "read".
18321 All callers and references changed.
18322
18323 * include/grub/file.h (struct grub_file): Change the types of
18324 "offset" and "size" to grub_off_t and grub_off_t,
18325 respectively. Change the type of SECTOR to grub_disk_addr_t in
18326 "read_hook".
18327 (grub_file_read): Change the type of LEN to grub_size_t.
18328 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18329 grub_off_t.
18330 (grub_file_size): Return grub_off_t.
18331 (grub_file_tell): Likewise.
18332 All callers and references changed.
18333
18334 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18335 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18336 "write".
18337 (struct grub_disk): Change the type of "total_sectors" to
18338 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18339 "read_hook".
524a1e6a 18340 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18341 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18342 (grub_disk_write): Likewise.
18343 All callers and references changed.
18344
18345 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18346 char * for grub_strncmp to silence gcc.
18347 (grub_iso9660_mount): Likewise.
18348 (grub_iso9660_mount): Likewise.
18349 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18350 return statement.
18351 (grub_iso9660_iterate_dir): Likewise.
18352 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18353
18354 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18355 LEN to grub_disk_addr_t and grub_size_t, respectively.
18356
18357 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18358
18359 * fs/jfs.c (grub_jfs_read_file): Likewise.
18360
18361 * fs/minix.c (grub_jfs_read_file): Likewise.
18362
18363 * fs/sfs.c (grub_jfs_read_file): Likewise.
18364
18365 * fs/ufs.c (grub_jfs_read_file): Likewise.
18366
18367 * fs/xfs.c (grub_jfs_read_file): Likewise.
18368
18369 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18370 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18371 respectively.
18372
18373 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18374 BLKNR to -1 instead of returning GRUB_ERRNO.
18375 (grub_ext2_read_file): Change the types of SECTOR and
18376 LEN to grub_disk_addr_t and grub_size_t, respectively.
18377
18378 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18379 LEN to grub_disk_addr_t and grub_size_t, respectively.
18380
18381 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18382 grub_file_read.
18383
18384 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18385 string. Do not cast SECTOR explicitly.
18386
18387 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18388 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18389 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18390 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18391 over 2TB and LBA mode is not supported, raise an error.
18392 (get_safe_sectors): New function.
18393 (grub_biosdisk_read): Use get_safe_sectors.
18394 (grub_biosdisk_write): Likewise.
18395
18396 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18397 (grub_efidisk_write): Likewise.
18398
18399 * disk/loopback.c (delete_loopback): Cosmetic changes.
18400 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18401 correctly.
18402 (grub_loopback_open): Likewise.
18403 (grub_loopback_read): Likewise. Also, change the type of POS to
18404 grub_off_t, and fix the usage of grub_memset.
18405
18406 * commands/i386/pc/play.c: Include grub/machine/time.h.
18407
18408 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18409 print FILE->SIZE.
18410
18411 * commands/configfile.c: Include grub/env.h.
18412
18413 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18414 GRUB_ERRNO directly instead. Change the type of POS to
18415 grub_off_t. Follow the coding standard.
18416
18417 * commands/blocklist.c: Include grub/partition.h.
18418 (grub_cmd_blocklist): Return an error if the underlying device is
18419 not a disk. Take the starting sector of a partition into account,
18420 if a partition is used.
18421
18422 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18423 a length field.
18424 (lba_mode): Support 64-bit addresses.
18425 (chs_mode): Likewise.
18426 (copy_buffer): Adapted to the new offsets of a length field and a
18427 segment field.
18428 (blocklist_default_start): Allocate 64-bit space.
18429
18430 * boot/i386/pc/boot.S (force_lba): Removed.
18431 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18432 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18433 space.
18434 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18435 is useless.
18436 (lba_mode): Refactored to support a 64-bit address. More size
18437 optimization.
18438 (setup_sectors): Likewise.
18439
53af98ad 184402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18441
18442 * DISTLIST: Added include/grub/i386/linux.h. Removed
18443 include/grub/i386/pc/linux.h
18444
18445 * configure.ac (AC_INIT): Bumped to 1.94.
18446
18447 * config.guess: Updated from gnulib.
18448 * config.sub: Likewise.
18449 * install-sh: Likewise.
18450 * mkinstalldirs: Likewise.
18451
b4c1940a 184522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18453
18454 * conf/common.rmk (grub_modules_init.lst): Depended on
18455 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18456 MODSRCFILES.
18457
18458 * genmk.rb (PModule::rule): Reverted the previous change.
18459
cfca1cfd 184602006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18461
18462 * conf/common.rmk (grub_modules_init.lst): Depends on
18463 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18464 that the target does not exist before producing.
18465 (grub_modules_init.h): Remove the target before generating.
18466 (grub_emu_init.c): Likewise.
18467
18468 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18469
aa6d7826 184702006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18471
18472 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18473 for the target-specific tests. Make sure that we also have the
18474 up-to-date target variables for those tests.
18475
26c607b9 184762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18477
18478 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18479 (PModule::rule): Likewise.
18480
0162321a 184812006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18482
18483 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18484 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18485 target-specific flags should be prefixed.
18486 (PModule::rule): Likewise.
18487
6c826348 184882006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18489
18490 * configure.ac (CMP): Check if cmp is available explicitly.
18491
b977bf01 184922006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18493
18494 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18495 (target_cpu): New variable.
18496 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18497
b977bf01 18498 * util/i386/pc/grub-install.in (host_cpu): Removed.
18499 (target_cpu): New variable.
18500 (pkglibdir): Use target_cpu instead of host_cpu.
18501
18502 * util/genmoddep.c: Removed.
f19dbdb7 18503
b977bf01 18504 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18505 instead of GRUB_HOST_SIZEOF_VOID_P.
18506 * kern/dl.c: Likewise.
18507
18508 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18509 ...
18510 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18511 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18512 (GRUB_TARGET_SIZEOF_LONG): ... this.
18513 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18514 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18515 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18516 to ...
18517 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18518 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18519 (GRUB_TARGET_SIZEOF_LONG): ... this.
18520 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18521 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18522 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18523 to ...
18524 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18525 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18526 (GRUB_TARGET_SIZEOF_LONG): ... this.
18527 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18528 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18529
18530 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18531 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18532 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18533 instead of GRUB_HOST_SIZEOF_LONG.
18534 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18535 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18536 GRUB_CPU_WORDS_BIGENDIAN.
18537 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
18538 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
18539 grub_host_ssize_t.
18540
18541 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
18542 (genmoddep_SOURCES): Likewise.
18543 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
18544 (genmoddep_SOURCES): Likewise.
18545 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
18546 (genmoddep_SOURCES): Likewise.
18547 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
18548 Likewise.
18549 (genmoddep_SOURCES): Likewise.
18550
18551 * genmoddep.awk: New file.
18552
18553 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
18554 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
18555 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
18556 (PModule::rule): Likewise.
18557 (Program::rule): Likewise.
18558 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
18559 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
18560 respectively.
18561
18562 * configure.ac: Rewritten intensively to use host and target
18563 instead of build and host, respectively.
18564
18565 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
18566 (host_cpu): Removed.
18567 (target_cpu): New variable.
18568 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
18569 (BUILD_CC): Removed.
18570 (BUILD_CFLAGS): Likewise.
18571 (BUILD_CPPFLAGS): Likewise.
18572 (TARGET_CC): New variable.
18573 (TARGET_CFLAGS): Likewise.
18574 (TARGET_CPPFLAGS): Likewise.
18575 (TARGET_LDFLAGS): Likewise.
18576 (AWK): Likewise.
18577 (include): Use target_cpu instead of host_cpu.
18578 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 18579
b977bf01 18580 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
18581
f09771a1 185822006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
18583
18584 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
18585 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
18586 field 'false' to 'exec_on_false'.
18587 (grub_script_create_cmdif): Renamed argument names to reflect above
18588 changes.
18589
18590 * normal/execute.c (grub_script_execute_cmdif): Likewise.
18591
18592 * normal/script.c (grub_script_create_cmdif): Likewise.
18593
118f4fb3 185942006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
18595
18596 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
18597 top.
18598 (grub_hfsplus_btree_recptr): Likewise.
18599 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
18600 FILEBLOCK both to pass a block number and store next block
18601 number.
18602 (grub_hfsplus_read_block): Rewritten heavily to support an extent
18603 overflow file correctly. Specify errors appropriately, because
18604 fshelp expects that GRUB_ERRNO is set when fails. Reuse
18605 grub_hfsplus_btree_recptr to get the pointer to a found key.
18606 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
18607 is found.
18608
18609 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
18610 linux.mod.
18611 (_linux_mod_SOURCES): New variable.
18612 (_linux_mod_CFLAGS): Likewise.
18613 (_linux_mod_LDFLAGS): Likewise.
18614 (linux_mod_SOURCES): Likewise.
18615 (linux_mod_CFLAGS): Likewise.
18616 (linux_mod_LDFLAGS): Likewise.
18617
18618 * DISTLIST: Added loader/i386/efi/linux.c,
18619 loader/i386/efi/linux_normal.c and
18620 include/grub/i386/efi/loader.h.
18621
18622 * loader/i386/efi/linux.c: New file.
18623 * loader/i386/efi/linux_normal.c: Likewise.
18624 * include/grub/i386/efi/loader.h: Likewise.
18625
89a7d726 186262006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
18627
18628 * commands/blocklist.c: New file.
18629
18630 * DISTLIST: Added commands/blocklist.c.
18631
18632 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 18633 color for the background, and a darker color for the foreground.
89a7d726 18634 (grub_console_checkkey): Return READ_KEY.
18635 (grub_console_cls): Set the background to
18636 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
18637
18638 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
18639
18640 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
18641 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
18642
18643 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
18644 prototype.
18645
18646 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
18647 BG. The spec is wrong again.
18648
18649 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
18650 prototype.
18651 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
18652
18653 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18654 commands/blocklist.c.
18655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 18656
89a7d726 18657 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
18658 (blocklist_mod_SOURCES): New variable.
18659 (blocklist_mod_CFLAGS): Likewise.
18660 (blocklist_mod_LDFLAGS): Likewise.
18661
75c8f258 186622006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
18663
18664 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
18665 duplication.
18666 (lba_mode): Use %eax more intensively to reduce the code size.
18667
da2eb181 186682006-05-20 Marco Gerards <marco@gnu.org>
18669
18670 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
18671
18672 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
18673 for `menuentry'.
18674 (script): Accept leading newlines.
18675 (newlines): New rule to describe 0 or more newlines.
18676 (commands): Accept `command' with trailing newline. Fixed the
18677 order in which arguments were passed to `grub_script_add_cmd'.
18678 Accept commands separated by newlines.
18679 (function): Changed to accept newlines.
18680 (menuentry) Rewritten.
18681
18682 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
18683 front of the list, instead of to the end.
18684
577b4050 186852006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
18686
18687 * util/i386/pc/grub-install.in (bindir): New variable.
18688 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
18689 Shaver <lbgwjl@gmail.com>.
18690
0d6e1189 186912006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
18692
18693 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
18694 grub/machine/linux.h
18695 * loader/i386/pc/linux.c: Likewise.
18696
18697 * include/grub/i386/pc/linux.h: Moved to ...
18698 * include/grub/i386/linux.h: ... here.
18699
18700 * include/grub/i386/linux.h (struct linux_kernel_params): New
18701 struct.
f19dbdb7 18702
31b86e9f 187032006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
18704
18705 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
18706 checking.
18707 (grub_video_vbe_blit_glyph): Likewise.
18708 (grub_video_vbe_blit_bitmap): Likewise.
18709 (grub_video_vbe_blit_render_target): Likewise.
18710
83b984de 187112006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
18712
18713 * configure.ac (--with-platform): Properly quote the square
18714 brackets.
18715
5f0413bd 187162006-05-08 Marco Gerards <marco@gnu.org>
18717
18718 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
18719 this...
18720 (kernel_elf_HEADERS): ...to this. Updated all users.
18721 (grubof_symlist.c): Renamed from this...
18722 (kernel_elf_symlist.c): ...to this. Updated all users.
18723 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18724 (grubof_SOURCES): Renamed from this...
18725 (kernel_elf_SOURCES): ...to this.
18726 (grubof_HEADERS): Renamed from this...
18727 (kernel_elf_HEADERS): ...to this.
18728 (grubof_CFLAGS): Renamed from this...
18729 (kernel_elf_CFLAGS): ...to this.
18730 (grubof_ASFLAGS): Renamed from this...
18731 (kernel_elf_ASFLAGS): ...to this.
18732 (grubof_LDFLAGS): Renamed from this...
18733 (kernel_elf_LDFLAGS): ...to this.
18734
18735 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
18736 this...
18737 (kernel_elf_HEADERS): ...to this. Updated all users.
18738 (grubof_symlist.c): Renamed from this...
18739 (kernel_elf_symlist.c): ...to this. Updated all users.
18740 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18741 (grubof_SOURCES): Renamed from this...
18742 (kernel_elf_SOURCES): ...to this.
18743 (grubof_HEADERS): Renamed from this...
18744 (kernel_elf_HEADERS): ...to this.
18745 (grubof_CFLAGS): Renamed from this...
18746 (kernel_elf_CFLAGS): ...to this.
18747 (grubof_ASFLAGS): Renamed from this...
18748 (kernel_elf_ASFLAGS): ...to this.
18749 (grubof_LDFLAGS): Renamed from this...
18750 (kernel_elf_LDFLAGS): ...to this.
18751
18752 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
18753 `kernel.elf' instead of `grubof'.
18754
05568c2e 187552006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
18756
18757 Add --with-platform to configure. Use pkglibdir instead of
18758 pkgdatadir. This is reported by Roger Leigh.
18759
18760 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
18761 (host_vendor): Likewise.
18762 (host_os): Likewise.
18763 (pkgdatadir): Likewise.
18764 (platform): New variable.
18765 (pkglibdir): Likewise.
18766 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 18767
05568c2e 18768 * util/i386/pc/grub-install.in (datadir): Removed.
18769 (host_vendor): Likewise.
18770 (host_os): Likewise.
18771 (pkgdatadir): Likewise.
18772 (platform): New variable.
18773 (pkglibdir): Likewise.
18774 Use PKGLIBDIR instead of PKGDATADIR.
18775
18776 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
18777 instead of GRUB_DATADIR.
18778 (main): Likewise.
18779 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18780 (main): Likewise.
18781 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18782 (main): Likewise.
18783
18784 * configure.ac (--with-platform): New option.
18785 Use PLATFORM instead of HOST_VENDOR to specify a platform.
18786
18787 * Makefile.in: Include a makefile based on PLATFORM instead of
18788 HOST_VENDOR.
18789 (pkgdatadir): Not appended by the machine type.
18790 (pkglibdir): Appended by the machine type.
18791 (host_vendor): Removed.
18792 (platform): New variable.
18793 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
18794 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
18795 (uninstall): Likewise.
18796
4e93851c 187972006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
18798
18799 Use the environment context in the menu. Remove the commands
18800 "default" and "timeout", and use variables instead.
f19dbdb7 18801
4e93851c 18802 * normal/menu.c: Include grub/env.h.
18803 (print_entry): Cast TITLE to silence gcc.
18804 (get_timeout): New function.
18805 (set_timeout): Likewise.
18806 (get_entry_number): Likewise.
18807 (run_menu): Use a default entry, a fallback entry and a timeout
18808 in the environment variables "default", "fallback" and
18809 "timeout". Also, tweak the default entry if it is not within the
18810 current menu entries.
18811 (grub_menu_run): Use a fallback entry in the environment variable
18812 "fallback".
18813
18814 * normal/main.c (read_config_file): Do not initialize
18815 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
18816 NEWMENU->TIMEOUT.
18817 (grub_normal_execute): Use a data slot to store the menu.
18818
18819 * include/grub/normal.h (struct grub_menu): Removed default_entry,
18820 fallback_entry and timeout.
18821 (struct grub_menu_list): Removed.
18822 (grub_menu_list_t): Likewise.
18823 (struct grub_context): Likewise.
18824 (grub_context_t): Likewise.
18825 (grub_context_get): Likewise.
18826 (grub_context_get_current_menu): Likewise.
18827 (grub_context_push_menu): Likewise.
18828 (grub_context_pop_menu): Likewise.
18829 (grub_default_init): Likewise.
18830 (grub_default_fini): Likewise.
18831 (grub_timeout_init): Likewise.
18832 (grub_timeout_fini): Likewise.
18833
18834 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
18835 and timeout.mod.
18836 (normal_mod_SOURCES): Removed normal/context.c.
18837
18838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
18839 commands/default.c, commands/timeout.c and normal/context.c.
18840 (normal_mod_SOURCES): Removed normal/context.c.
18841
18842 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
18843 commands/timeout.c and normal/context.c.
18844 (normal_mod_SOURCES): Removed normal/context.c.
18845
18846 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
18847 commands/default.c, commands/timeout.c and normal/context.c.
18848 (normal_mod_SOURCES): Removed normal/context.c.
18849
18850 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
18851 timeout.mod.
18852 (default_mod_SOURCES): Removed.
18853 (default_mod_CFLAGS): Likewise.
18854 (default_mod_LDFLAGS): Likewise.
18855 (timeout_mod_SOURCES): Removed.
18856 (timeout_mod_CFLAGS): Likewise.
18857 (timeout_mod_LDFLAGS): Likewise.
18858
18859 * DISTLIST: Removed commands/default.c, commands/timeout.c and
18860 normal/context.c.
18861
18862 * commands/default.c: Removed.
18863 * commands/timeout.c: Likewise.
18864 * normal/context.c: Likewise.
18865
1eb9cc1d 188662006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
18867
18868 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
18869
385bd9c1 188702006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
18871
18872 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
18873 "next" to "prev" for readability.
18874 (struct grub_env_sorted_var): New struct.
18875 (grub_env_context): Renamed to ...
18876 (initial_context): ... this.
18877 (grub_env_var_context): Renamed to ...
18878 (current_context): ... this.
18879 (grub_env_find): Look only at CURRENT_CONTEXT.
18880 (grub_env_context_open): Rewritten to copy exported variables from
18881 previous context.
18882 (grub_env_context_close): Rewritten according to the new
18883 scheme. Also, add an assertion to prevent the initial context from
18884 removed.
18885 (grub_env_insert): Removed the code for the sorted list.
18886 (grub_env_remove): Likewise.
18887 (grub_env_export): Simply mark the variable with
18888 GRUB_ENV_VAR_GLOBAL.
18889 (grub_env_set): A cosmetic change for naming consistency.
18890 (grub_env_get): Likewise.
18891 (grub_env_unset): Likewise.
18892 (grub_env_iterate): Rewritten to sort variables within this
18893 function.
18894 (grub_register_variable_hook): Fixed for naming consistency. Call
18895 grub_env_find again, only if NAME is not found at the first time.
18896 (mangle_data_slot_name): New function.
18897 (grub_env_set_data_slot): Likewise.
18898 (grub_env_get_data_slot): Likewise.
18899 (grub_env_unset_data_slot): Likewise.
18900
18901 * include/grub/env.h (grub_env_var_type): New enum.
18902 (GRUB_ENV_VAR_LOCAL): New constant.
18903 (GRUB_ENV_VAR_GLOBAL): Likewise.
18904 (GRUB_ENV_VAR_DATA): Likewise.
18905 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
18906 "type".
18907 (grub_env_set): Replace VAR with NAME for consistency.
18908 (grub_register_variable_hook): Likewise.
18909 (grub_env_export): Specify the name of the argument.
18910 (grub_env_set_data_slot): New prototype.
18911 (grub_env_get_data_slot): Likewise.
18912 (grub_env_unset_data_slot): Likewise.
18913
7f362539 189142006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
18915
18916 Extend the loader so that GRUB can accept a loader which comes
18917 back to GRUB when a loaded image exits. Also, this change adds
18918 support for a chainloader on EFI.
f19dbdb7 18919
7f362539 18920 * term/efi/console.c: Include grub/misc.h.
18921 (grub_console_checkkey): Display a scan code on the top for
18922 debugging. This will be removed once the EFI port gets stable.
18923 Correct the scan code mapping.
18924
18925 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
18926 allocate memory from larger regions, in order to reduce the number
18927 of allocated regions. Otherwise, the MacOSX loader panics.
18928 (filter_memory_map): Avoid less than 1MB for compatibility with
18929 other loaders.
18930 (add_memory_regions): Allocate from the tail of a region, if
18931 possible, to avoid allocating a region near to 1MB, for the MacOSX
18932 loader.
18933
18934 * kern/efi/init.c (grub_efi_set_prefix): Specify
18935 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
18936
18937 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
18938 argument IMAGE_HANDLE and specify it to get a loaded image.
18939 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
18940 grub_efi_get_loaded_image.
fe6b695a 18941 (grub_efi_get_filename): Divide the length by the size of
7f362539 18942 grub_efi_char16_t.
18943 (grub_efi_get_device_path): New function.
18944 (grub_efi_print_device_path): Print End Device Path nodes. Divide
18945 the length by the size of grub_efi_char16_t for a file path device
18946 path node.
18947
18948 * kern/loader.c (grub_loader_noreturn): New variable.
18949 (grub_loader_set): Accept a new argument NORETURN. Set
18950 GRUB_LOADER_NORETURN to NORETURN.
18951 All callers changed.
18952 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
18953 grub_machine_fini.
18954
18955 * include/grub/efi/efi.h (grub_efi_get_device_path): New
18956 prototype.
18957 (grub_efi_get_loaded_image): Take an argument to specify an image
18958 handle.
18959
18960 * include/grub/loader.h (grub_loader_set): Added one more argument
18961 NORETURN.
18962
18963 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
18964 instead of grub_efi_open_protocol.
18965 (grub_efidisk_get_device_name): Likewise.
18966 (grub_efidisk_close): Print a newline.
18967 (grub_efidisk_get_device_handle): Fixed to use
18968 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
18969 GRUB_EFI_DEVICE_PATH_TYPE.
18970
18971 * disk/efi/efidisk.c (device_path_guid): Moved to ...
18972 * kern/efi/efi.c (device_path_guid): ... here.
18973
18974 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
18975 chain.mod.
18976 (kernel_mod_HEADERS): Added efi/disk.h.
18977 (_chain_mod_SOURCES): New variable.
18978 (_chain_mod_CFLAGS): Likewise.
18979 (_chain_mod_LDFLAGS): Likewise.
18980 (chain_mod_SOURCES): Likewise.
18981 (chain_mod_CFLAGS): Likewise.
18982 (chain_mod_LDFLAGS): Likewise.
18983
18984 * DISTLIST: Added include/grub/efi/chainloader.h,
18985 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
18986
18987 * include/grub/efi/chainloader.h: New file.
18988 * loader/efi/chainloader.c: Likewise.
18989 * loader/efi/chainloader_normal.c: Likewise.
18990
c0111d6e 189912006-04-30 Marco Gerards <marco@gnu.org>
18992
18993 * commands/configfile.c (grub_cmd_source): New function.
18994 (GRUB_MOD_INIT): Register the commands `source' and `.'.
18995 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
18996
df5341da 189972006-04-30 Marco Gerards <marco@gnu.org>
18998
18999 * normal/execute.c (grub_script_execute_cmd): Change the return
19000 type to `grub_err_t'. Correctly return the error.
19001 (grub_script_execute_cmdline): In case a command line is not a
19002 command or a function, try to interpret it as an assignment.
19003
f85934bd 190042006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19005
19006 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19007 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19008 skip a node whose name is obviously invalid as UTF-16,
19009 i.e. contains a NUL character. Stop the iteration when the last
19010 directory entry is found. Instead of using the return value of
19011 grub_hfsplus_btree_iterate_node, store the value in RET and use
19012 it, because the iterator can be stopped by the last directory
19013 entry.
19014
8f8a2cf8 190152006-04-30 Marco Gerards <marco@gnu.org>
19016
19017 * include/grub/env.h (grub_env_export): New prototype. Reported
19018 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19019
a27e84ce 190202006-04-30 Marco Gerards <marco@gnu.org>
19021
19022 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19023 size of the extents in a catalog file record.
19024
eaef0553 190252006-04-29 Marco Gerards <marco@gnu.org>
19026
19027 * commands/configfile.c (grub_cmd_configfile): Execute the
19028 configfile within its own context.
19029
19030 * include/grub/env.h (grub_env_context_open): New prototype.
19031 (grub_env_context_close): Likewise.
19032
19033 * kern/env.c (grub_env): Removed.
19034 (grub_env_sorted): Likewise.
19035 (grub_env_context): New variable.
19036 (grub_env_var_context): Likewise.
19037 (grub_env_find): Search both the active context and the global
19038 context.
19039 (grub_env_context_open): New function.
19040 (grub_env_context_close): Likewise.
19041 (grub_env_insert): Likewise.
19042 (grub_env_remove): Likewise.
19043 (grub_env_export): Likewise.
19044 (grub_env_set): Changed to use helper functions to avoid code
19045 duplication.
19046 (grub_env_iterate): Rewritten so both the current context and the
19047 global context are being used.
19048
19049 * normal/command.c (export_command): New function.
19050 (grub_command_init): Register the `export' function.
19051
7b455f4d 190522006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19053
19054 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19055 explicitly to suppress gcc's warnings.
19056 * fs/fat.c (grub_fat_find_dir): Likewise.
19057 (grub_fat_label): Likewise.
19058 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19059 (grub_xfs_mount): Likewise.
19060 (grub_xfs_label): Likewise.
19061 * fs/affs.c (grub_affs_mount): Likewise.
19062 (grub_affs_label): Likewise.
19063 (grub_affs_iterate_dir): Likewise.
19064 * fs/sfs.c (grub_sfs_mount): Likewise.
19065 (grub_sfs_iterate_dir): Likewise.
19066 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19067 * fs/hfs.c (grub_hfs_mount): Likewise.
19068 (grub_hfs_cmp_catkeys): Likewise.
19069 (grub_hfs_find_dir): Likewise.
19070 (grub_hfs_dir): Likewise.
19071 (grub_hfs_label): Likewise.
19072 * fs/jfs.c (grub_jfs_mount): Likewise.
19073 (grub_jfs_opendir): Likewise.
19074 (grub_jfs_getent): Likewise.
19075 (grub_jfs_lookup_symlink): Likewise.
19076 (grub_jfs_label): Likewise.
19077 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19078 (grub_hfsplus_iterate_dir): Likewise.
19079 (grub_hfsplus_btree_iterate_node): Made static.
19080
19081 * util/grub-emu.c (prefix): New variable.
19082 (grub_machine_set_prefix): New function.
19083 (main): Do not set the environment variable "prefix" here. Only
19084 set PREFIX, which is used later by grub_machine_set_prefix.
19085
19086 * include/grub/video.h: Do not include grub/symbol.h.
19087 (grub_video_register): Not exported. This symbol is not defined in
19088 the kernel.
19089 (grub_video_unregister): Likewise.
19090 (grub_video_iterate): Likewise.
19091 (grub_video_setup): Likewise.
19092 (grub_video_restore): Likewise.
19093 (grub_video_get_info): Likewise.
19094 (grub_video_get_blit_format): Likewise.
19095 (grub_video_set_palette): Likewise.
19096 (grub_video_get_palette): Likewise.
19097 (grub_video_set_viewport): Likewise.
19098 (grub_video_get_viewport): Likewise.
19099 (grub_video_map_color): Likewise.
19100 (grub_video_map_rgb): Likewise.
19101 (grub_video_map_rgba): Likewise.
19102 (grub_video_fill_rect): Likewise.
19103 (grub_video_blit_glyph): Likewise.
19104 (grub_video_blit_bitmap): Likewise.
19105 (grub_video_blit_render_target): Likewise.
19106 (grub_video_scroll): Likewise.
19107 (grub_video_swap_buffers): Likewise.
19108 (grub_video_create_render_target): Likewise.
19109 (grub_video_delete_render_target): Likewise.
19110 (grub_video_set_active_render_target): Likewise.
19111
19112 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19113 Undefined.
19114 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19115
19116 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19117 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19118 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19119 instead of $(srcdir)/genkernsyms.sh.
19120
19121 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19122 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19123 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19124 instead of $(srcdir)/genkernsyms.sh.
19125
19126 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19127 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19128 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19129 instead of $(srcdir)/genkernsyms.sh.
19130
19131 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19132 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19133 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19134 instead of $(srcdir)/genkernsyms.sh.
19135
19136 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19137 genkernsyms.sh.
19138
19139 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19140 genkernsyms.sh.
19141 (gensymlist.sh): New target.
19142 (genkernsyms.sh): Likewise.
19143
19144 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19145 genkernsyms.sh.in and gensymlist.sh.in.
19146
19147 * genkernsyms.sh: Removed.
19148 * gensymlist.sh: Likewise.
f19dbdb7 19149
7b455f4d 19150 * genkernsyms.sh.in: New file.
19151 * gensymlist.sh.in: Likewise.
19152
1885bb27 191532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19154
19155 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19156 clobber "prefix", since we may have already set it manually.
19157
71538dff 191582006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19159
19160 * kern/misc.c (abort): New alias for grub_abort.
19161
2965c7cc 191622006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19163
19164 A new machine-specific function "grub_machine_set_prefix" is
19165 defined. This is called after loading modules, so that a prefix
19166 initialization can use modules. Also, this change adds an
19167 intensive debugging feature for the memory manager via the
19168 configure option "--enable-mm-debug".
f19dbdb7 19169
2965c7cc 19170 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19171 PART.LEN.
19172
19173 * kern/sparc64/ieee1275/init.c (abort): Removed.
19174 (grub_stop): Likewise.
19175 (grub_exit): New function.
19176 (grub_set_prefix): Renamed to ...
19177 (grub_machine_set_prefix): ... this.
19178 (grub_machine_init): Do not call grub_set_prefix.
19179
19180 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19181 (grub_machine_set_prefix): ... this.
19182 (grub_machine_init): Do not call grub_set_prefix.
19183
19184 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19185 (grub_machine_init): Do not set the prefix here.
19186
19187 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19188
19189 * kern/efi/init.c: Include grub/mm.h.
19190 (grub_efi_set_prefix): New function.
19191
19192 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19193 (grub_efi_get_filename): New function.
19194 (grub_print_device_path): Renamed to ...
19195 (grub_efi_print_device_path): ... this.
19196
19197 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19198 [MM_DEBUG] (grub_realloc): Likewise.
19199 [MM_DEBUG] (grub_free): Likewise.
19200 [MM_DEBUG] (grub_memalign): Likewise.
19201 [MM_DEBUG] (grub_mm_debug): New variable.
19202 [MM_DEBUG] (grub_debug_malloc): New function.
19203 [MM_DEBUG] (grub_debug_free): New function.
19204 [MM_DEBUG] (grub_debug_realloc): New function.
19205 [MM_DEBUG] (grub_debug_memalign): New function.
19206
19207 * kern/misc.c (grub_abort): Print a newline to distinguish
19208 the message.
19209
19210 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19211 grub_set_root_dev after loading modules. This is necessary when
19212 setting a prefix depends on modules.
19213
19214 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19215 (grub_efi_print_device_path): ... this.
19216 (grub_efi_get_filename): New prototype.
19217 (grub_efi_set_prefix): Likewise.
19218
19219 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19220 and grub/disk.h.
19221 (grub_efidisk_get_device_handle): New prototype.
19222 (grub_efidisk_get_device_name): Likewise.
19223
19224 * include/grub/mm.h: Include config.h.
19225 (MM_DEBUG): Removed.
19226 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19227 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19228 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19229 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19230 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19231 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19232 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19233 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19234 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19235
19236 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19237
19238 * disk/efi/efidisk.c: Include grub/partition.h.
19239 (iterate_child_devices): New function.
19240 (add_device): First, compare only last device path nodes, so that
19241 devices are sorted by the types.
19242 (grub_efidisk_get_device_handle): New function.
19243 (grub_efidisk_get_device_name): Likewise.
19244
19245 * configure.ac (--enable-mm-debug): New option to enable the
19246 memory manager debugging feature. This makes the binary much
19247 bigger, so is disabled by default.
19248
9cacaa17 192492006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19250
19251 Use grub_abort instead of grub_stop, and grub_exit must be
19252 define in each architecture now. Also, this change adds support
19253 for EFI disks.
f19dbdb7 19254
9cacaa17 19255 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19256 (grub_getkey): New function.
19257 (grub_term_get_current): Likewise.
19258
19259 * util/i386/pc/grub-setup.c: Include grub/term.h.
19260 (grub_getkey): New function.
19261 (grub_term_get_current): Likewise.
19262
19263 * util/misc.c (grub_stop): Renamed to ...
19264 (grub_exit): ... this.
19265
19266 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19267 (grub_exit): ... this.
19268 (grub_machine_init): Use grub_abort instead of abort.
19269 (grub_stop): Removed.
19270
19271 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19272 abort.
19273
19274 * kern/i386/pc/startup.S (grub_exit): New function.
19275 (cold_reboot): New label.
19276
19277 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19278 (grub_efi_init): Call grub_efidisk_init.
19279 (grub_efi_fini): Call grub_efidisk_fini.
19280
19281 * kern/efi/efi.c: Include grub/mm.h.
19282 (grub_efi_console_control_guid): Renamed to ...
19283 (console_control_guid): ... this.
19284 (grub_efi_loaded_image_guid): Renamed to ...
19285 (loaded_image_guid): ... this.
19286 (grub_efi_locate_handle): New function.
19287 (grub_efi_open_protocol): Likewise.
19288 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19289 GRUB_EFI_CONSOLE_CONTROL_GUID.
19290 (grub_efi_exit): Removed.
19291 (grub_stop): Likewise.
19292 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19293 (grub_exit): New function.
19294 (grub_print_device_path): Likewise.
19295
19296 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19297 (grub_enter_rescue_mode): Register "exit".
19298
19299 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19300 (grub_abort): New function.
19301
19302 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19303
19304 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19305
19306 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19307
19308 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19309 (grub_print_device_path): New prototype.
19310 (grub_efi_locate_handle): Likewise.
19311 (grub_efi_open_protocol): Likewise.
19312
19313 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19314 * disk/efi/efidisk.c: Likewise.
19315
19316 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19317
19318 * include/grub/efi/console_control.h
19319 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19320
19321 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19322 last 8 bytes as an array.
19323 (GRUB_EFI_DISK_IO_GUID): New macro.
19324 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19325 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19326 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19327 grub_uint8_t.
19328 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19329 (struct grub_efi_device_path): Rename the member "sub_type" to
19330 "subtype".
19331 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19332 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19333 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19334 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19335 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19336 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19337 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19338 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19339 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19340 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19341 (struct grub_efi_pci_device_path): New structure.
19342 (grub_efi_pci_device_path_t): New type.
19343 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19344 (struct grub_efi_pccard_device_path): New structure.
19345 (grub_efi_pccard_device_path_t): New type.
19346 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19347 (struct grub_efi_memory_mapped_device_path): New structure.
19348 (grub_efi_memory_mapped_device_path_t): New type.
19349 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19350 (struct grub_efi_vendor_device_path): New structure.
19351 (grub_efi_vendor_device_path_t): New type.
19352 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19353 (struct grub_efi_controller_device_path): New structure.
19354 (grub_efi_controller_device_path_t): New type.
19355 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19356 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19357 (struct grub_efi_acpi_device_path): New structure.
19358 (grub_efi_acpi_device_path_t): New type.
19359 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19360 (struct grub_efi_expanded_acpi_device_path): New structure.
19361 (grub_efi_expanded_acpi_device_path_t): New type.
19362 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19363 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19364 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19365 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19366 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19367 (struct grub_efi_atapi_device_path): New structure.
19368 (grub_efi_atapi_device_path_t): New type.
19369 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19370 (struct grub_efi_fibre_channel_device_path): New structure.
19371 (grub_efi_fibre_channel_device_path_t): New type.
19372 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19373 (struct grub_efi_1394_device_path): New structure.
19374 (grub_efi_1394_device_path_t): New type.
19375 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19376 (struct grub_efi_usb_device_path): New structure.
19377 (grub_efi_usb_device_path_t): New type.
19378 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19379 (struct grub_efi_usb_class_device_path): New structure.
19380 (grub_efi_usb_class_device_path_t): New type.
19381 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19382 (struct grub_efi_i2o_device_path): New structure.
19383 (grub_efi_i2o_device_path_t): New type.
19384 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19385 (struct grub_efi_mac_address_device_path): New structure.
19386 (grub_efi_mac_address_device_path_t): New type.
19387 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19388 (struct grub_efi_ipv4_device_path): New structure.
19389 (grub_efi_ipv4_device_path_t): New type.
19390 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19391 (struct grub_efi_ipv6_device_path): New structure.
19392 (grub_efi_ipv6_device_path_t): New type.
19393 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19394 (struct grub_efi_infiniband_device_path): New structure.
19395 (grub_efi_infiniband_device_path_t): New type.
19396 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19397 (struct grub_efi_uart_device_path): New structure.
19398 (grub_efi_uart_device_path_t): New type.
19399 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19400 (struct grub_efi_vendor_messaging_device_path): New structure.
19401 (grub_efi_vendor_messaging_device_path_t): New type.
19402 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19403 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19404 (struct grub_efi_hard_drive_device_path): New structure.
19405 (grub_efi_hard_drive_device_path_t): New type.
19406 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19407 (struct grub_efi_cdrom_device_path): New structure.
19408 (grub_efi_cdrom_device_path_t): New type.
19409 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19410 (struct grub_efi_vendor_media_device_path): New structure.
19411 (grub_efi_vendor_media_device_path_t): New type.
19412 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19413 (struct grub_efi_file_path_device_path): New structure.
19414 (grub_efi_file_path_device_path_t): New type.
19415 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19416 (struct grub_efi_protocol_device_path): New structure.
19417 (grub_efi_protocol_device_path_t): New type.
19418 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19419 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19420 (struct grub_efi_bios_device_path): New structure.
19421 (grub_efi_bios_device_path_t): New type.
19422 (struct grub_efi_disk_io): New structure.
19423 (grub_efi_disk_io_t): New type.
19424 (struct grub_efi_block_io_media): New structure.
19425 (grub_efi_block_io_media_t): New type.
19426 (struct grub_efi_block_io): New structure.
19427 (grub_efi_block_io_t): New type.
19428
19429 * include/grub/misc.h (grub_stop): Removed.
19430 (grub_exit): New prototype.
19431 (grub_abort): Likewise.
19432
19433 * include/grub/disk.h (enum grub_disk_dev_id): Added
19434 GRUB_DISK_DEVICE_EFIDISK_ID.
19435
19436 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19437 disk/efi/efidisk.c.
19438 (kernel_syms.lst): Remove the target if an error occurs.
19439
49986a9f 194402006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19441
19442 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19443 as it was simply too buggy.
19444
970d3b8a 194452006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19446
19447 * kern/misc.c (grub_lltoa): New function.
19448 (grub_vsprintf): Added support for the long long suffix,
19449 i.e. "ll".
19450
ff04ec24 194512006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19452
19453 * Makefile.in (LDFLAGS): Add variable.
19454 (LD): Remove variable.
19455 * configure.ac: Add -m32 to LDFLAGS.
19456 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19457 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19458 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19459 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19460 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19461 variables.
19462 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19463 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19464 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19465
37e5e1a4 194662006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19467
19468 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19469 length for unknown glyph.
19470
c352d8dd 194712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19472
2eab1c0d 19473 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19474
2eab1c0d 19475 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19476 completely. Accept one more argument DIR. The caller has changed.
19477
19478 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19479
19480 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19481 (grub_efi_loaded_image_guid): New variable.
19482 (grub_efi_get_loaded_image): New function.
19483 (grub_arch_modules_addr): Likewise.
19484
19485 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19486 prototype.
19487
19488 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19489 (struct grub_efi_loaded_image): New structure.
19490 (grub_efi_loaded_image_t): New type.
19491
194922006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19493
c352d8dd 19494 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19495 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19496 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19497
6d01d6b4 194982006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19499
19500 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19501
976a4ea0 195022006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19503
19504 * DISTLIST: Added include/grub/efi/console.h,
19505 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19506 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19507
19508 * include/grub/efi/console.h: New file.
19509 * include/grub/efi/time.h: Likewise.
19510 * include/grub/i386/efi/kernel.h: Likewise.
19511 * kern/efi/init.c: Likewise.
19512 * kern/efi/mm.c: Likewise.
19513 * term/efi/console.c: Likewise.
f19dbdb7 19514
976a4ea0 19515 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19516 (grub_stop): Removed.
19517 (grub_get_rtc): Likewise.
19518 (grub_machine_init): Simply call grub_efi_init.
19519 (grub_machine_fini): Call grub_efi_fini.
19520
19521 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19522 (grub_efi_output_string): Removed.
19523 (grub_efi_stall): New function.
19524 (grub_stop): Likewise.
19525 (grub_get_rtc): Likewise.
19526
19527 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19528 (grub_efi_stall): New prototype.
19529 (grub_efi_allocate_pages): Likewise.
19530 (grub_efi_free_pages): Likewise.
19531 (grub_efi_get_memory_map): Likewise.
19532 (grub_efi_mm_init): Likewise.
19533 (grub_efi_mm_fini): Likewise.
19534 (grub_efi_init): Likewise.
19535 (grub_efi_fini): Likewise.
19536
19537 * include/grub/i386/efi/time.h: Do not include
19538 grub/symbol.h. Include grub/efi/time.h.
19539 (GRUB_TICKS_PER_SECOND): Removed.
19540 (grub_get_rtc): Likewise.
19541
19542 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
19543 Added padding. The EFI spec is buggy.
19544 (GRUB_EFI_BLACK): New macro.
19545 (GRUB_EFI_BLUE): Likewise.
19546 (GRUB_EFI_GREEN): Likewise.
19547 (GRUB_EFI_CYAN): Likewise.
19548 (GRUB_EFI_RED): Likewise.
19549 (GRUB_EFI_MAGENTA): Likewise.
19550 (GRUB_EFI_BROWN): Likewise.
19551 (GRUB_EFI_LIGHTGRAY): Likewise.
19552 (GRUB_EFI_BRIGHT): Likewise.
19553 (GRUB_EFI_DARKGRAY): Likewise.
19554 (GRUB_EFI_LIGHTBLUE): Likewise.
19555 (GRUB_EFI_LIGHTGREEN): Likewise.
19556 (GRUB_EFI_LIGHTCYAN): Likewise.
19557 (GRUB_EFI_LIGHTRED): Likewise.
19558 (GRUB_EFI_LIGHTMAGENTA): Likewise.
19559 (GRUB_EFI_YELLOW): Likewise.
19560 (GRUB_EFI_WHITE): Likewise.
19561 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
19562 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
19563 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
19564 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
19565 (GRUB_EFI_BACKGROUND_RED): Likewise.
19566 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
19567 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
19568 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
19569 (GRUB_EFI_TEXT_ATTR): Likewise.
19570
19571 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
19572 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19573 (kernel_mod_HEADERS): Added efi/time.h.
19574
83709125 195752006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
19576
19577 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
19578 include/grub/efi/api.h, include/grub/efi/console_control.h,
19579 include/grub/efi/efi.h, include/grub/efi/pe32.h,
19580 include/grub/i386/efi/time.h, kern/efi/efi.c,
19581 kern/i386/efi/init.c, kern/i386/efi/startup.S,
19582 and util/i386/efi/grub-mkimage.c.
19583
19584 * Makefile.in (RMKFILES): Added i386-efi.rmk.
19585
19586 * genmk.rb (PModule#rule): Do not export symbols if
19587 #{prefix}_EXPORTS is set to "no".
19588
19589 * conf/i386-efi.mk: New file.
19590 * conf/i386-efi.rmk: Likewise.
19591 * include/grub/efi/api.h: Likewise.
19592 * include/grub/efi/console_control.h: Likewise.
19593 * include/grub/efi/efi.h: Likewise.
19594 * include/grub/efi/pe32.h: Likewise.
19595 * include/grub/i386/efi/time.h: Likewise.
19596 * kern/efi/efi.c: Likewise.
19597 * kern/i386/efi/init.c: Likewise.
19598 * kern/i386/efi/startup.S: Likewise.
19599 * util/i386/efi/grub-mkimage.c: Likewise.
19600
196012006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 19602
19603 * include/grub/script.h: Include <grub/parser.h> and
19604 "grub_script.tab.h".
19605 (struct grub_lexer_param): New struct.
19606 (struct grub_parser_param): Likewise.
19607 (grub_script_create_arglist): Pass the state in an argument.
19608 (grub_script_add_arglist): Likewise.
19609 (grub_script_create_cmdline): Likewise.
19610 (grub_script_create_cmdblock): Likewise.
19611 (grub_script_create_cmdif): Likewise.
19612 (grub_script_create_cmdmenu): Likewise.
19613 (grub_script_add_cmd): Likewise.
19614 (grub_script_arg_add): Likewise.
19615 (grub_script_lexer_ref): Likewise.
19616 (grub_script_lexer_deref): Likewise.
19617 (grub_script_lexer_record_start): Likewise.
19618 (grub_script_lexer_record_stop): Likewise.
19619 (grub_script_mem_record): Likewise.
19620 (grub_script_mem_record_stop): Likewise.
19621 (grub_script_malloc): Likewise.
19622 (grub_script_yylex): Likewise.
19623 (grub_script_yyparse): Likewise.
19624 (grub_script_yyerror): Likewise.
19625 (grub_script_yylex): Likewise.
19626 (grub_script_lexer_init): Return the state.
19627
19628 * normal/lexer.c (grub_script_lexer_state): Removed variable.
19629 (grub_script_lexer_done): Likewise.
19630 (grub_script_lexer_getline): Likewise.
19631 (grub_script_lexer_refs): Likewise.
19632 (script): Likewise.
19633 (newscript): Likewise.
19634 (record): Likewise.
19635 (recording): Likewise.
19636 (recordpos): Likewise.
19637 (recordlen): Likewise.
19638 (grub_script_lexer_init): Return the state instead of setting
19639 global variables.
19640 (grub_script_lexer_ref): Use the newly added argument for state
19641 instead of globals.
19642 (grub_script_lexer_deref): Likewise.
19643 (grub_script_lexer_record_start): Likewise.
19644 (grub_script_lexer_record_stop): Likewise.
19645 (recordchar): Likewise.
19646 (nextchar): Likewise.
19647 (grub_script_yylex2): Likewise.
19648 (grub_script_yylex): Likewise.
19649 (grub_script_yyerror): Likewise.
19650
19651 * normal/parser.y (func_mem): Removed variable.
19652 (menu_entry): Likewise.
19653 (err): Likewise.
19654 (%lex-param): New parser option.
19655 (%parse-param): Likewise.
19656 (script): Always return the AST.
19657 (argument): Pass the state around.
19658 (arguments): Likewise.
19659 (grubcmd): Likewise.
19660 (commands): Likewise.
19661 (function): Likewise.
19662 (menuentry): Likewise.
19663 (if_statement): Likewise.
19664 (if): Likewise.
19665
19666 * normal/script.c (grub_script_memused): Removed variable.
19667 (grub_script_parsed): Likewise.
19668 (grub_script_malloc): Added a state argument. Use that instead of
19669 global variables.
19670 (grub_script_mem_record): Likewise.
19671 (grub_script_mem_record_stop): Likewise.
19672 (grub_script_arg_add): Likewise.
19673 (grub_script_add_arglist): Likewise.
19674 (grub_script_create_cmdline): Likewise.
19675 (grub_script_create_cmdif): Likewise.
19676 (grub_script_create_cmdmenu): Likewise.
19677 (grub_script_add_cmd): Likewise.
19678 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 19679
e2a8c904 196802006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 19681
19682 * normal/command.c (grub_command_init): Remove the title command.
19683
19684 * normal/lexer.c (grub_script_yylex): Renamed from this...
19685 (grub_script_yylex2): ... to this.
19686 (grub_script_yylex): New function. Temporary
19687 introduced to filter some tokens.
19688 (grub_script_yyerror): Print a newline.
19689
19690 * normal/main.c (read_config_file): Output information about the
19691 lines that contain errors. Wait for a key after all lines have
19692 been processed. Don't return an empty menu.
19693
19694 * normal/parser.y (func_mem): Don't initialize.
19695 (menu_entry): Likewise.
19696 (err): New variable.
19697 (script): Don't return anything when an error was encountered.
19698 (ws, returns): Removed rules.
19699 (argument): Disabled concatenated variable support.
19700 (arguments): Remove explicit separators.
19701 (grubcmd): Likewise.
19702 (function): Likewise.
19703 (menuentry): Likewise.
19704 (if): Likewise.
19705 (commands): Likewise. Add error handling.
19706
19707 * normal/script.c (grub_script_create_cmdline): If
19708 `grub_script_parsed' is 0, assume the parser encountered an error.
19709
c9a86192 197102006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
19711
19712 * configure.ac: Add support for EFI. Fix the typo
19713 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
19714
70f3b243 197152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19716
19717 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
19718 foreign multibyte characters should be shown correctly.
19719
65f201ad 197202006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19721
19722 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
19723 calculation.
19724 (read_config_file): Made it to close file before returning.
19725
b4b93674 197262006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
19727
19728 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
19729 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
19730 video/i386/pc/vbefill.c.
19731
19732 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
19733 video/i386/pc/vbefill.c.
19734
19735 * include/grub/video.h (grub_video_blit_format): New enum.
19736 (grub_video_mode_info): Added new member blit_format.
19737 (grub_video_get_blit_format): New function prototype.
19738
19739 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
19740 function prototype.
19741 (grub_video_vbe_map_rgb): Likewise.
19742 (grub_video_vbe_unmap_color): Likewise.
19743
19744 * include/grub/i386/pc/vbeblit.h: New file.
19745
19746 * include/grub/i386/pc/vbefill.h: New file.
19747
19748 * video/video.c (grub_video_get_blit_format): New function.
19749 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
19750 (grub_video_vbe_map_rgb): Likewise.
19751 (grub_video_vbe_unmap_color): Likewise.
19752
19753 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
19754 optimized fills.
19755 (grub_video_vbe_blit_render_target): Changed to use more optimized
19756 blits.
19757 (grub_video_vbe_setup): Added detection for optimized settings.
19758 (grub_video_vbe_create_render_target): Likewise.
19759
19760 * video/i386/pc/vbeblit.c: New file.
19761
19762 * video/i386/pc/vbefill.c: New file.
19763
c2379b9c 197642006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
19765
19766 * font/manager.c (grub_font_get_glyph): Removed font fixup from
19767 here...
19768
19769 * util/unifont2pff.rb: ... and moved it to here. Improved argument
19770 parsing to support both hex and dec ranges. If filename was missing
19771 show usage information.
19772
bd0d7896 197732006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
19774
19775 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
19776 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
19777
19778 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
19779 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
19780 (video_mod_SOURCES): Added.
19781 (video_mod_CFLAGS): Likewise.
19782 (video_mod_LDFLAGS): Likewise.
19783 (gfxterm_mod_SOURCES): Likewise.
19784 (gfxterm_mod_CFLAGS): Likewise.
19785 (gfxterm_mod_LDFLAGS): Likewise.
19786 (videotest_mod_SOURCES): Likewise.
19787 (videotest_mod_CFLAGS): Likewise.
19788 (videotest_mod_LDFLAGS): Likewise.
19789 (vesafb_mod_SOURCES): Removed.
19790 (vesafb_mod_CFLAGS): Likewise.
19791 (vesafb_mod_LDFLAGS): Likewise.
19792 (vga_mod_SOURCES): Likewise.
19793 (vga_mod_CFLAGS): Likewise.
19794 (vga_mod_LDFLAGS): Likewise.
19795
19796 * commands/videotest.c: New file.
19797
19798 * font/manager.c (fill_with_default_glyph): Modified to use
19799 grub_font_glyph.
19800 (grub_font_get_glyph): Likewise.
19801 (fontmanager): Renamed from this...
19802 (font_manager): ... to this.
19803
19804 * include/grub/font.h (grub_font_glyph): Added new structure.
19805 (grub_font_get_glyph): Modified to use grub_font_glyph.
19806
19807 * include/grub/misc.h (grub_abs): Added as inline function.
19808
19809 * include/grub/video.h: New file.
19810
19811 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
19812 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
19813 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
19814 (grub_vbe_get_controller_info): Renamed from this...
19815 (grub_vbe_bios_get_controller_info): ... to this.
19816 (grub_vbe_get_mode_info): Renamed from this...
19817 (grub_vbe_bios_get_mode_info): ... to this.
19818 (grub_vbe_set_mode): Renamed from this...
19819 (grub_vbe_bios_set_mode): ... to this.
19820 (grub_vbe_get_mode): Renamed from this...
19821 (grub_vbe_bios_get_mode): ... to this.
19822 (grub_vbe_set_memory_window): Renamed from this...
19823 (grub_vbe_bios_set_memory_window): ... to this.
19824 (grub_vbe_get_memory_window): Renamed from this...
19825 (grub_vbe_bios_get_memory_window): ... to this.
19826 (grub_vbe_set_scanline_length): Renamed from this...
19827 (grub_vbe_set_scanline_length): ... to this.
19828 (grub_vbe_get_scanline_length): Renamed from this...
19829 (grub_vbe_bios_get_scanline_length): ... to this.
19830 (grub_vbe_set_display_start): Renamed from this...
19831 (grub_vbe_bios_set_display_start): ... to this.
19832 (grub_vbe_get_display_start): Renamed from this...
19833 (grub_vbe_bios_get_display_start): ... to this.
19834 (grub_vbe_set_palette_data): Renamed from this...
19835 (grub_vbe_bios_set_palette_data): ... to this.
19836 (grub_vbe_set_pixel_rgb): Removed.
19837 (grub_vbe_set_pixel_index): Likewise.
19838
19839 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
19840 from this...
19841 (grub_vbe_bios_get_controller_info): ... to this.
19842 (grub_vbe_get_mode_info): Renamed from this...
19843 (grub_vbe_bios_get_mode_info): ... to this.
19844 (grub_vbe_set_mode): Renamed from this...
19845 (grub_vbe_bios_set_mode): ... to this.
19846 (grub_vbe_get_mode): Renamed from this...
19847 (grub_vbe_bios_get_mode): ... to this.
19848 (grub_vbe_set_memory_window): Renamed from this...
19849 (grub_vbe_bios_set_memory_window): ... to this.
19850 (grub_vbe_get_memory_window): Renamed from this...
19851 (grub_vbe_bios_get_memory_window): ... to this.
19852 (grub_vbe_set_scanline_length): Renamed from this...
19853 (grub_vbe_set_scanline_length): ... to this.
19854 (grub_vbe_get_scanline_length): Renamed from this...
19855 (grub_vbe_bios_get_scanline_length): ... to this.
19856 (grub_vbe_set_display_start): Renamed from this...
19857 (grub_vbe_bios_set_display_start): ... to this.
19858 (grub_vbe_get_display_start): Renamed from this...
19859 (grub_vbe_bios_get_display_start): ... to this.
19860 (grub_vbe_set_palette_data): Renamed from this...
19861 (grub_vbe_bios_set_palette_data): ... to this.
19862 (grub_vbe_bios_get_controller_info): Fixed problem with registers
19863 getting corrupted after calling it. Added more pushes and pops.
19864 (grub_vbe_bios_set_mode): Likewise.
19865 (grub_vbe_bios_get_mode): Likewise.
19866 (grub_vbe_bios_get_memory_window): Likewise.
19867 (grub_vbe_bios_set_scanline_length): Likewise.
19868 (grub_vbe_bios_get_scanline_length): Likewise.
19869 (grub_vbe_bios_get_display_start): Likewise.
19870 (grub_vbe_bios_set_palette_data): Likewise.
19871
19872 * normal/cmdline.c (cl_set_pos): Refresh the screen.
19873 (cl_insert): Likewise.
19874 (cl_delete): Likewise.
19875
19876 * term/gfxterm.c: New file.
19877
19878 * term/i386/pc/vesafb.c: Removed file.
19879
19880 * video/video.c: New file.
19881
19882 * video/i386/pc/vbe.c (real2pm): Added new function.
19883 (grub_video_vbe_draw_pixel): Likewise.
19884 (grub_video_vbe_get_video_ptr): Likewise.
19885 (grub_video_vbe_get_pixel): Likewise
19886 (grub_video_vbe_init): Likewise.
19887 (grub_video_vbe_fini): Likewise.
19888 (grub_video_vbe_setup): Likewise.
19889 (grub_video_vbe_get_info): Likewise.
19890 (grub_video_vbe_set_palette): Likewise.
19891 (grub_video_vbe_get_palette): Likewise.
19892 (grub_video_vbe_set_viewport): Likewise.
19893 (grub_video_vbe_get_viewport): Likewise.
19894 (grub_video_vbe_map_color): Likewise.
19895 (grub_video_vbe_map_rgb): Likewise.
19896 (grub_video_vbe_map_rgba): Likewise.
19897 (grub_video_vbe_unmap_color): Likewise.
19898 (grub_video_vbe_fill_rect): Likewise.
19899 (grub_video_vbe_blit_glyph): Likewise.
19900 (grub_video_vbe_blit_bitmap): Likewise.
19901 (grub_video_vbe_blit_render_target): Likewise.
19902 (grub_video_vbe_scroll): Likewise.
19903 (grub_video_vbe_swap_buffers): Likewise.
19904 (grub_video_vbe_create_render_target): Likewise.
19905 (grub_video_vbe_delete_render_target): Likewise.
19906 (grub_video_vbe_set_active_render_target): Likewise.
19907 (grub_vbe_set_pixel_rgb): Remove function.
19908 (grub_vbe_set_pixel_index): Likewise.
19909 (index_color_mode): Remove static variable.
19910 (active_mode): Likewise.
19911 (framebuffer): Likewise.
19912 (bytes_per_scan_line): Likewise.
19913 (grub_video_vbe_adapter): Added new static variable.
19914 (framebuffer): Likewise.
19915 (render_target): Likewise.
19916 (initial_mode): Likewise.
19917 (mode_in_use): Likewise.
19918 (mode_list): Likewise.
19919
5f97350b 199202006-03-10 Marco Gerards <marco@gnu.org>
19921
19922 * configure.ac (AC_INIT): Bumped to 1.93.
19923
19924 * DISTLIST: Added `include/grub/hfs.h'.
19925
a3c5c6f8 199262006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
19927
19928 * boot/i386/pc/boot.S (general_error): Before looping, try INT
19929 18H, which might help the BIOS falling back to next boot media.
19930
6de53d26 199312006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
19932
19933 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
19934 Poe Chen <poe.poechen@gmail.com>.
19935
77c4a393 199362006-01-17 Marco Gerards <marco@gnu.org>
19937
19938 * include/grub/normal.h: Include <grub/script.h>.
19939 (grub_command_list): Removed struct.
19940 (grub_command_list_t): Removed type.
19941 (grub_menu_entry): Remove members `num' and `command_list'. Add
19942 members `commands' and `sourcecode'.
19943 * include/grub/script.h: Add inclusion guards.
19944 (grub_script_cmd_menuentry): New struct.
19945 (grub_script_execute_menuentry): New prototype.
19946 (grub_script_lexer_record_start): Likewise.
19947 (grub_script_lexer_record_stop): Likewise.
19948 * normal/execute.c (grub_script_execute_menuentry): New function.
19949 * normal/lexer.c (record, recording, recordpos, recordlen): New
19950 variables.
19951 (grub_script_lexer_record_start): New function.
19952 (grub_script_lexer_record_stop): Likewise.
19953 (recordchar): Likewise.
19954 (nextchar): Likewise.
19955 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
19956 2048 as the buffer size. Add the tokens `menuentry' and `@'.
19957 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
19958 (current_menu): New variable.
19959 (free_menu): Mainly rewritten.
19960 (grub_normal_menu_addentry): New function.
19961 (read_config_file): Rewritten.
19962 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 19963 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 19964 the menu entry.
19965 (run): Mainly rewritten.
19966 * normal/parser.y (menu_entry): New variable.
19967 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
19968 (menuentry): New rule.
19969 (command): Add `menuentry'.
19970 (if_statement): Allow additional returns before `fi'.
19971 * normal/script.c (grub_script_create_cmdmenu): New function.
19972
144f1f98 199732006-01-03 Marco Gerards <marco@gnu.org>
19974
19975 * INSTALL: GNU Bison is required.
19976 * configure.ac: Rewritten the test to detect Bison.
19977 * Makefile.in (YACC): New variable. Reported by Xun Sun
19978 <xun.sun.cn@gmail.com>.
19979
af4b2d89 199802006-01-03 Marco Gerards <marco@gnu.org>
19981
19982 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
19983 the HFS+ filesystem to filesystem blocks.
19984 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
19985 GCC warning is silenced.
19986
15643b71 199872006-01-03 Marco Gerards <marco@gnu.org>
19988
19989 * partmap/apple.c (apple_partition_map_iterate): Convert the data
19990 read from disk from big endian to host byte order.
19991
00905879 199922006-01-03 Hollis Blanchard <hollis@penguinppc.org>
19993
19994 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
19995 documentation.
19996 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
19997 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
19998 embedded HFS+ filesystem.
19999 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20000 (grub_hfs_sblock): Move from here...
20001 * include/grub/hfs.h: To here... New file.
20002 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20003 documentation.
20004 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20005 New macros.
20006 (grub_hfsplus_volheader): Change type of member `magic' to
20007 `grub_uint16_t'.
20008 (grub_hfsplus_data): Add new member `embedded_offset'.
20009 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20010 returned block.
20011 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20012 Calculate the offset.
20013
8899bc3e 200142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20015
20016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20017 Removed.
20018 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20019
ae8c0277 200202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20021
20022 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20023 ENV->NAME is NULL after allocating ENV->VALUE.
20024
07084456 200252005-12-25 Marco Gerards <marco@gnu.org>
20026
20027 * kern/env.c (grub_env_set): Rewritten the error handling code.
20028
4750f5f1 200292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20030
20031 * geninit.sh: Made more robust, and more portable.
20032
50214199 200332005-12-25 Marco Gerards <marco@gnu.org>
20034
20035 Add support for Apple HFS+ filesystems.
f19dbdb7 20036
50214199 20037 * fs/hfsplus.c: New file.
20038
20039 * DISTLIST: Added `fs/hfsplus.c'.
20040
20041 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20042 (hfsplus_mod_SOURCES): New variable.
20043 (hfsplus_mod_CFLAGS): Likewise.
20044 (hfsplus_mod_LDFLAGS): Likewise.
20045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20046 (grub_setup_SOURCES): Likewise.
20047 (grub_mkdevicemap_SOURCES): Likewise.
20048 (grub_emu_SOURCES): Likewise.
20049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20050
20051 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20052
20053 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20054
befaed6c 200552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20056
20057 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20058 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20059 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20060 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20061 normal/lexer.c, normal/parser.y, normal/script.c, and
20062 partmap/gpt.c.
20063 Removed kern/sparc64/cache.c.
20064
20065 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20066 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20067 grub_emu_init.c.
20068
20069 * configure.ac (AC_INIT): Bumped to 1.92.
20070
6a124103 200712005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20072
20073 * kern/err.c (grub_error_push): Added new function to support error
20074 stacks.
20075 (grub_error_pop): Likewise.
20076 (grub_error_stack_items): New local variable to support error stacks.
20077 (grub_error_stack_pos): Likewise.
20078 (grub_error_stack_assert): Likewise.
20079 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20080 stack depth.
20081 (grub_print_error): Added support to print errors from error stack.
20082
20083 * include/grub/err.h (grub_error_push): Added function prototype.
20084 (grub_error_pop): Likewise.
20085
be973c1b 200862005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20087
20088 * configure.ac: Accept `powerpc64' as host_cpu.
20089 (amd64): Rename to `biarch32'.
20090
20091 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20092 non-cacheline-aligned addresses.
20093
20094 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20095 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20096 if `size' is non-zero.
20097
b04216ab 200982005-12-03 Marco Gerards <mgerards@xs4all.nl>
20099
20100 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20101 and `cd' to make sure the filename is not prefixed with a
20102 directory name.
20103 (pkgdata_MODULES): Add `gpt.mod'.
20104 (gpt_mod_SOURCES): New variable.
20105 (gpt_mod_CFLAGS): Likewise.
20106 (gpt_mod_LDFLAGS): Likewise.
20107
20108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20109
20110 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20111 New macro.
20112
20113 * partmap/gpt.c: New file.
20114
20115 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20116 GPT partition map is detected.
20117
41730ed9 201182005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20119
20120 * commands/i386/pc/play.c: New file.
20121 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20122 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20123 macros.
f19dbdb7 20124
95dc3643 201252005-11-27 Marco Gerards <mgerards@xs4all.nl>
20126
20127 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20128 ((unused))' to silence gcc warning.
20129
1569ec51 201302005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20131
20132 * configure.ac: Correct `AC_PROG_YACC' test.
20133
9abde152 201342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20135
20136 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20137 check before installing files.
20138
44b83271 201392005-11-22 Mike Small <smallm@panix.com>
20140
20141 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20142 number regex so multidigit numbers are recognized correctly.
20143
201442005-11-22 Mike Small <smallm@panix.com>
20145
20146 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20147 debugging message before attempting to claim memory.
20148 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20149 multiple addresses in case of failure.
20150
9c12956b 201512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20152
20153 * term/tparm.c (get_space): Remove empty `if' statement.
20154
20155 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20156
20157 * kern/parser.c (check_varstate): Rename `state' to 's'.
20158
aeaf81d9 201592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20160
20161 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20162 variable definitions to the beginning of each function. Sort stack
20163 variables by size.
20164 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20165 `buf' argument to `char *'.
20166
79bbb63f 201672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20168
20169 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20170 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20171 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20172 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20173 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20174 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20175 configfile.mod, search.mod, gzio.mod and test.mod.
20176 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20177 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20178 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20179 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20180 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20181 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20182 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20183 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20184 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20185 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20186 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20187 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20188 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20189 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20190 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20191 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20192 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20193 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20194 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20195 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20196 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20197 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20198 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20199
20200 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20201 `grep --include'.
20202 (pkgdata_MODULES): Add test.mod.
20203
233b1628 202042005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20205
20206 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20207 appending to variables with "+=".
20208 (PModule): Use full pathname to generate *.lst filenames.
20209
20210 * Makefile.in: Fixed list rules moved from genmk.rb.
20211 (.DELETE_ON_ERROR): New special target.
20212 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20213
20214 * conf/i386-pc.rmk: Include conf/common.mk.
20215 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20216 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20217 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20218 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20219 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20220 configfile.mod, search.mod, gzio.mod and test.mod.
20221 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20222 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20223 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20224 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20225 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20226 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20227 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20228 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20229 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20230 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20231 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20232 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20233 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20234 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20235 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20236 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20237 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20238 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20239 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20240 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20241 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20242 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20243 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20244 here...
20245 * conf/common.rmk: ... to here. New file.
20246
20247 * conf/common.mk: New file.
20248
16f820c8 202492005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20250
20251 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20252 (grub_script.tab.c): ... here.
20253
20254 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20255 (grub_script.tab.c): ... here.
20256
20257 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20258 (grub_script.tab.c): ... here.
20259
20260 * normal/command.c (grub_command_find): Fixed a memory leak of
20261 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20262
63ba1554 202632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20264
20265 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20266 "@" which marks the start of a comment on ARM.
20267 (VARIABLE): Likewise.
20268
7f67dc13 202692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20270
79bbb63f 20271 Add support for Linux/ADFS partition tables.
7f67dc13 20272
20273 * partmap/acorn.c: New file.
20274
20275 * include/grub/acorn_filecore.h: Likewise.
20276
20277 * DISTLIST: Added `partmap/acorn.c' and
20278 `include/grub/acorn_filecore.h'.
f19dbdb7 20279
7f67dc13 20280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20281 `partmap/acorn.c'.
20282 (pkgdata_MODULES): Add `acorn.mod'.
20283 (acorn_mod_SOURCES): New variable.
20284 (acorn_mod_CFLAGS): Likewise.
20285
20286 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20287 `partmap/acorn.c'.
20288 (pkgdata_MODULES): Add `acorn.mod'.
20289 (acorn_mod_SOURCES): New variable.
20290 (acorn_mod_CFLAGS): Likewise.
20291
20292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20293 (pkgdata_MODULES): Add `acorn.mod'.
20294 (acorn_mod_SOURCES): New variable.
20295 (acorn_mod_CFLAGS): Likewise.
20296 (acorn_mod_LDFLAGS): Likewise.
20297
20298 * include/types.h (grub_disk_addr_t): New typedef.
20299
6d099807 203002005-11-13 Marco Gerards <mgerards@xs4all.nl>
20301
20302 * geninit.sh: New file.
20303
20304 * geninitheader.sh: Likewise.
20305
20306 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20307 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20308 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20309 * commands/configfile.c (grub_configfile_init)
20310 (grub_configfile_fini): Likewise.
20311 * commands/default.c (grub_default_init, grub_default_fini):
20312 Likewise.
20313 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20314 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20315 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20316 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20317 Likewise.
20318 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20319 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20320 Likewise.
20321 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20322 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20323 Likewise.
20324 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20325 Likewise.
fe6b695a 20326 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20327 Likewise.
20328 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20329 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20330 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20331 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20332 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20333 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20334 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20335 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20336 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20337 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20338 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20339 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20340 * partmap/amiga.c (grub_amiga_partition_map_init)
20341 (grub_amiga_partition_map_fini): Likewise.
20342 * partmap/apple.c (grub_apple_partition_map_init)
20343 (grub_apple_partition_map_fini): Likewise.
20344 * partmap/pc.c (grub_pc_partition_map_init)
20345 (grub_pc_partition_map_fini): Likewise.
20346 * partmap/sun.c (grub_sun_partition_map_init,
20347 grub_sun_partition_map_fini): Likewise.
20348 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20349 Likewise.
20350
20351 * util/grub-emu.c: Include <grub_modules_init.h>.
20352 (main): Don't initialize and de-initialize any modules directly,
20353 use `grub_init_all' and `grub_fini_all' instead.
20354
20355 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20356 `grub_vesafb_mod_init'.
20357 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20358 all users.
20359 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20360 `grub_vga_mod_init'. Updated all users.
20361 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20362
6d099807 20363 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20364 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20365 rules.
20366
20367 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20368 Generate a function to initialize the module in utilities.
20369 Updated all callers.
20370 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20371 initialize the module in utilities. Updated all callers.
20372
9046bcf0 203732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20374
20375 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20376 escape sequence and a literal ^L to clear the screen.
20377
20378 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20379 when returning from Open Firmware.
20380
d13ea639 203812005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20382
20383 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20384 (grub_ofconsole_height): Likewise.
20385 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20386 manually insert a '\n'.
20387 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20388 `grub_ofconsole_height'. Return early if these are already set.
20389
a8fcf206 203902005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20391
20392 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20393 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20394 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20395 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20396 and `normal/script.c'.
20397 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20398 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20399 (test_mod_SOURCES): New variable.
20400 (test_mod_CFLAGS): Likewise.
20401 (test_mod_LDFLAGS): Likewise.
20402 (pkgdata_MODULES): Add `test.mod'.
20403 (grub_script.tab.c): New rule.
20404 (grub_script.tab.h): Likewise.
20405
b6b32745 204062005-11-07 Marco Gerards <mgerards@xs4all.nl>
20407
20408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20409 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20410 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20411 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20412 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20413 (test_mod_SOURCES): New variable.
20414 (test_mod_CFLAGS): Likewise.
20415 (pkgdata_MODULES): Add `test.mod'.
20416 (grub_script.tab.c): New rule.
20417 (grub_script.tab.h): Likewise.
20418
daac212a 204192005-11-06 Marco Gerards <mgerards@xs4all.nl>
20420
20421 Add initial scripting support.
20422
20423 * commands/test.c: New file.
20424 * include/grub/script.h: Likewise.
20425 * normal/execute.c: Likewise.
20426 * normal/function.c: Likewise.
20427 * normal/lexer.c: Likewise.
20428 * normal/parser.y: Likewise.
20429 * normal/script.c: Likewise.
20430
20431 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20432
daac212a 20433 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20434 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20435 `normal/function.c' and `normal/script.c'.
20436 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20437 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20438 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20439 variables.
daac212a 20440 (pkgdata_MODULES): Add `test.mod'.
20441 (grub_script.tab.c): New rule.
20442 (grub_script.tab.h): Likewise.
20443
20444 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20445
20446 * include/grub/normal.h (grub_test_init): New prototype.
20447 (grub_test_fini): Likewise.
f19dbdb7 20448
daac212a 20449 * normal/command.c: Include <grub/script.h>.
20450 (grub_command_execute): Rewritten.
f19dbdb7 20451
daac212a 20452 * util/grub-emu.c (main): Call `grub_test_init' and
20453 `grub_test_fini'.
20454
77500b2b 204552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20456
20457 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20458 to 0.
20459 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20460 there are no pending characters.
20461
e45deb9e 204622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20463
20464 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20465 `grub_strndup' to drop device arguments. Replace unnecessary
20466 `grub_strndup' with `grub_strdup'.
20467
4ce32619 204682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20469
20470 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20471 `debug' environment variable has been set.
20472
204732005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20474
4ce32619 20475 * Makefile.in (install-local): Use $(DATA).
20476 (uninstall): Likewise.
20477 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20478 (sbin_UTILITIES): ... to here.
20479 (sbin_SCRIPTS): New variable.
20480 (grub_install_SOURCES): New variable.
20481 * util/powerpc/ieee1275/grub-install.in: New file.
20482 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20483 variable.
20484 (add_segments): Call `grub_util_get_path'.
20485
25fe6f03 204862005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20487
20488 From Timothy Baldwin:
20489 * commands/ls.c (grub_ls_list_files): Close FILE with
20490 grub_file_close.
20491 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20492
04ccf3ec 204932005-10-24 Marco Gerards <mgerards@xs4all.nl>
20494
20495 * include/grub/parser.h: New file.
20496
20497 * kern/parser.c: Likewise.
20498
20499 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20500 (grub_setup_SOURCES): Likewise.
20501 (grub_probefs_SOURCES): Likewise.
20502 (grub_emu_SOURCES): Likewise.
20503 (kernel_img_HEADERS): Add `parser.h'.
20504
20505 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20506 (grub_emu_SOURCES): Add `kern/parser.c'.
20507 (grubof_SOURCES): Likewise.
20508
20509 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20510 (grubof_SOURCES): Add `kern/parser.c'.
20511
20512 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20513
20514 * kern/misc.c (grub_split_cmdline): Removed function.
20515
20516 * kern/rescue.c: Include <grub/parser.h>.
20517 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20518 of `grub_split_cmdline'.
20519
20520 * normal/command.c: Include <grub/parser.h>.
20521 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20522 of `grub_split_cmdline'.
20523
20524 * normal/completion.c: Include <grub/parser.h>.
20525 (cmdline_state): New variable.
20526 (iterate_dir): End the filename with a quote depending on the
20527 command line state.
20528 (get_state): new function.
20529 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20530 split the arguments and determine the current argument. When the
20531 argument string is not quoted, escape all spaces.
20532
6d8f4b0e 205332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20534
20535 * normal/sparc64/setjmp.S: New file.
20536
15cf03ed 205372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20538
20539 * include/grub/sparc64/libgcc.h: New file.
20540 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
20541 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
20542 normal/sparc64/setjmp.c.
20543
03e8661a 205442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20545
20546 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
20547 * kern/sparc64/cache.S: New file.
20548 * kern/sparc64/cache.c: Removed.
20549 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
20550 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
20551 -mtune=ultrasparc.
20552 (COMMON_LDFLAGS): Add -melf64_sparc.
20553 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
20554 (grubof_SOURCES): Use cache.S instead of cache.c.
20555 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
20556 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
20557 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
20558 commented though.
20559 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
20560 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
20561 (linux_mod_CFLAGS): Commented out.
20562 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
20563 out because module isn't built.
20564 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
20565 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
20566 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
20567 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
20568 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
20569 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20570 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20571 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
20572 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
20573 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
20574 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20575 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20576 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
20577 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
20578
34eeec8a 205792005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
20580
20581 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
20582 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
20583 longer, because HFS should not be used on PC.
20584
708367a3 205852005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20586
20587 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
20588 consistently within the loop.
20589
6fa1251a 205902005-10-15 Marco Gerards <mgerards@xs4all.nl>
20591
20592 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
20593 directory can not be read.
20594
4801580b 205952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20596
20597 * configure.ac (AC_INIT): Increase the version number to 1.91.
20598
20599 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
20600 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
20601 term/i386/pc/serial.c.
20602
219ad426 206032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20604
20605 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
20606 file size must be permitted.
20607
20608 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
20609 between %ah and %al.
20610
688e5699 206112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20612
20613 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
20614 grub_uint64_t.
20615 Call the hook with a NUL-terminated filename.
20616 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
20617 grub_cpu_to_be32.
20618
20619 * kern/term.c (cursor_state): New variable.
20620 (grub_term_set_current): Reset the cursor state on a new
20621 terminal.
20622 (grub_setcursor): Rewritten to use CURSOR_STATE.
20623 (grub_getcursor): New function.
20624
20625 * include/grub/term.h (grub_getcursor): New prototype.
20626
20627 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
20628 integers on ARM. Reported by Timothy Baldwin
20629 <T.E.Baldwin99@members.leeds.ac.uk>.
20630
bb34586c 206312005-10-11 Marco Gerards <mgerards@xs4all.nl>
20632
20633 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
20634 allocated.
20635 (grub_sfs_dir): Likewise.
20636
9a909877 206372005-10-09 Marco Gerards <mgerards@xs4all.nl>
20638
20639 Add support for the SFS filesystem.
20640
20641 * fs/sfs.c: New file.
20642
20643 * DISTLIST: Added `fs/sfs.c'.
20644
20645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
20646 (grub_probefs_SOURCES): Likewise.
20647 (grub_emu_SOURCES): Likewise.
20648 (pkgdata_MODULES): Add `sfs.mod'.
20649 (sfs_mod_SOURCES): New variable.
20650 (sfs_mod_CFLAGS): Likewise.
20651 (sfs_mod_LDFLAGS): Likewise.
20652
20653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
20654 (pkgdata_MODULES): Add `sfs.mod'.
20655 (sfs_mod_SOURCES): New variable.
20656 (sfs_mod_CFLAGS): Likewise.
20657
20658 * util/grub-emu.c (main): Call `grub_sfs_init' and
20659 `grub_sfs_fini'.
20660
20661 * include/grub/fs.h (grub_sfs_init): New prototype.
20662 (grub_sfs_fini): Likewise.
20663
57bdbde3 206642005-10-07 Marco Gerards <mgerards@xs4all.nl>
20665
20666 Add support for the AFFS filesystem.
20667
20668 * fs/affs.c: New file.
20669
20670 * DISTLIST: Added `fs/affs.c'.
20671
20672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
20673 (grub_probefs_SOURCES): Likewise.
20674 (grub_emu_SOURCES): Likewise.
20675 (pkgdata_MODULES): Add `affs.mod'.
20676 (affs_mod_SOURCES): New variable.
20677 (affs_mod_CFLAGS): Likewise.
20678 (affs_mod_LDFLAGS): Likewise.
20679
20680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
20681 (pkgdata_MODULES): Add `affs.mod'.
20682 (affs_mod_SOURCES): New variable.
20683 (affs_mod_CFLAGS): Likewise.
20684
20685 * util/grub-emu.c (main): Call `grub_affs_init' and
20686 `grub_affs_fini'.
20687
20688 * include/grub/fs.h (grub_affs_init): New prototype.
20689 (grub_affs_fini): Likewise.
20690
047b67e0 206912005-10-01 Marco Gerards <mgerards@xs4all.nl>
20692
20693 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
20694
59b8208a 206952005-10-01 Marco Gerards <mgerards@xs4all.nl>
20696
20697 * configure.ac: Accept `x86_64' as host_cpu. In that case add
20698 `-m32' to CFLAGS.
20699
20700 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
20701 linking.
f19dbdb7 20702
59b8208a 20703 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
20704 (COMMON_LDFLAGS): New variable.
20705 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
20706 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
20707 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
20708 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
20709 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
20710 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
20711 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
20712 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
20713 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
20714 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
20715 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20716 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20717 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
20718 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
20719 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
20720 variables.
20721 (normal_mod_ASFLAGS): Add `-m32'.
20722
20723 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
20724 (grub_host_size_t, grub_host_ssize_t): New types.
20725 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 20726 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 20727 `GRUB_HOST_SIZEOF_VOID_P'.
20728
20729 * include/grub/kernel.h (struct grub_module_header): Type of
20730 member offset changed to `grub_host_off_t'. Type of member size
20731 changed to `grub_host_size_t'.
20732 (struct grub_module_info): Type of member offset changed to
20733 `grub_host_off_t'. Type of member size changed to
20734 `grub_host_size_t'.
20735
b4093103 207362005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
20737
20738 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 20739
b4093103 20740 * kern/i386/pc/startup.S (multiboot_header): New label.
20741 (multiboot_entry): Likewise.
20742 (multiboot_trampoline): Likewise.
20743
20744 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20745 Increased to 0x4A0.
20746
20747 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
20748 put parentheses after a question mark.
20749 [!GRUB_UTIL] (my_mod): New variable.
20750
20751 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
20752
b2499b29 207532005-09-28 Marco Gerards <mgerards@xs4all.nl>
20754
20755 Adds support for the XFS filesystem. Btrees are not supported
20756 yet.
20757
20758 * fs/xfs.c: New file.
20759
20760 * DISTLIST: Added `fs/xfs.c'.
20761
20762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
20763 (grub_probefs_SOURCES): Likewise.
20764 (grub_emu_SOURCES): Likewise.
20765 (pkgdata_MODULES): Add `xfs.mod'.
20766 (xfs_mod_SOURCES): New variable.
20767 (xfs_mod_CFLAGS): Likewise.
20768
20769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
20770 (pkgdata_MODULES): Add `xfs.mod'.
20771 (xfs_mod_SOURCES): New variable.
20772 (xfs_mod_CFLAGS): Likewise.
20773
20774 * util/grub-emu.c (main): Call `grub_xfs_init' and
20775 `grub_xfs_fini'.
20776
20777 * include/grub/fs.h (grub_xfs_init): New prototype.
20778 (grub_xfs_fini): Likewise.
20779
f19dbdb7 20780
83d37a62 207812005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
20782
20783 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
20784 color modes, allow greater than 16 colors to be configured as
20785 a default palette.
20786
47d2d65e 207872005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20788
20789 * normal/completion.c (complete_arguments): Add the qualifier
20790 const into OPTIONS.
20791
20792 From Omniflux <omniflux+lists@omniflux.com>:
20793 * include/grub/terminfo.h: New file.
20794 * include/grub/tparm.h: Likewise.
20795 * include/grub/i386/pc/serial.h: Likewise.
20796 * term/terminfo.c: Likewise.
20797 * term/tparm.c: Likewise.
20798 * term/i386/pc/serial.c: Likewise.
20799 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
20800 serial.mod.
20801 (terminfo_mod_SOURCES): New variable.
20802 (terminfo_mod_CFLAGS): Likewise.
20803 (serial_mod_SOURCES): Likewise.
20804 (serial_mod_CFLAGS): Likewise.
20805
48b671ff 208062005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
20807
20808 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
20809 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
20810 and kern/powerpc/ieee1275/cmain.c, respectively.
20811
20812 * boot/powerpc/ieee1275/crt0.S: Moved to ...
20813 * kern/powerpc/ieee1275/crt0.S: ... here.
20814
20815 * boot/powerpc/ieee1275/cmain.c: Moved to ...
20816 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 20817
48b671ff 20818 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
20819 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
20820 instead of boot/powerpc/ieee1275/crt0.S and
20821 boot/powerpc/ieee1275/cmain.c, respectively.
20822
20823 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
20824 sectors. It was not used anyway.
20825
09fc77a7 208262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20827
20828 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
20829 `unused parameter' warning.
20830
003789c7 208312005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20832
20833 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
20834 function.
20835 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
20836 getcharwidth.
20837
67f44c86 208382005-08-28 Marco Gerards <metgerards@student.han.nl>
20839
20840 * include/grub/normal.h (enum grub_completion_type): Added
20841 `GRUB_COMPLETION_TYPE_ARGUMENT'.
20842
20843 * normal/cmdline.c (print_completion): Handle
20844 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
20845 * normal/menu_entry.c (store_completion): Likewise.
20846
20847 * normal/completion.c (complete_arguments): New function.
20848 (grub_normal_do_completion): Call `complete_arguments' when the
20849 current words start with a dash.
20850
0b5abe02 208512005-08-27 Marco Gerards <metgerards@student.han.nl>
20852
20853 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
20854 `gzio.mod' instead of `io.mod').
20855
d9864ee1 208562005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
20857
20858 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
20859 (DISTDIRS): Added io and video.
20860 Rewrite the search routine to make an output consistently.
20861
20862 * DISTLIST: Added conf/sparc64-ieee1275.mk,
20863 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
20864 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
20865 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
20866 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
20867 util/powerpc/ieee1275/misc.c.
f19dbdb7 20868
d9864ee1 20869 * include/grub/gzio.h: New file.
20870 * io/gzio.c: Likewise.
f19dbdb7 20871
d9864ee1 20872 * kern/file.c (grub_file_close): Call grub_device_close only if
20873 FILE->DEVICE is not NULL.
20874
20875 * include/grub/mm.h [!NULL] (NULL): New macro.
20876
20877 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
20878
20879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
20880 (pkgdata_MODULES): Added gzio.mod.
20881 (gzio_mod_SOURCES): New variable.
20882 (gzio_mod_CFLAGS): Likewise.
20883
20884 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
20885 (pkgdata_MODULES): Added gzio.mod.
20886 (gzio_mod_SOURCES): New variable.
20887 (gzio_mod_CFLAGS): Likewise.
20888
20889 * commands/cat.c: Include grub/gzio.h.
20890 (grub_cmd_cat): Use grub_gzfile_open instead of
20891 grub_file_open.
f19dbdb7 20892
d9864ee1 20893 * commands/cmp.c: Include grub/gzio.h.
20894 (grub_cmd_cmp): Use grub_gzfile_open instead of
20895 grub_file_open.
20896
20897 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
20898 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
20899 grub_file_open.
20900 (grub_rescue_cmd_module): Likewise.
20901
fa46f4b5 209022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20903
20904 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
20905 kern/sparc64/ieee1275/init.c because it contains _start.
20906 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
20907
e9211b5d 209082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
20909
20910 * configure.ac: Add support for sparc64 host with ieee1275
20911 firmware.
20912 * configure: Generated from configure.ac.
20913 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
20914 instead of int.
20915 (grub_ofdisk_read): Likewise.
20916 (grub_ofdisk_open): Use %p to print pointer values, and cast the
20917 pointers as (void *) to remove a warning.
20918 (grub_ofdisk_close): Likewise.
20919 (grub_ofdisk_read): Likewise.
20920 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
20921 returns, so make it return void to remove a warning.
20922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
20923 Corresponding prototype change.
20924 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
20925 values, and cast the pointers as (void *) to remove a warning.
20926 (grub_mm_dump): Likewise.
20927 * conf/sparc64-ieee1275.mk: New file.
20928 * conf/sparc64-ieee1275.rmk: Likewise.
20929 * include/grub/sparc64/setjmp.h: Likewise.
20930 * include/grub/sparc64/types.h: Likewise.
20931 * include/grub/sparc64/ieee1275/console.h: Likewise.
20932 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20933 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20934 * include/grub/sparc64/ieee1275/time.h: Likewise.
20935 * kern/sparc64/cache.c: Likewise.
20936 * kern/sparc64/dl.c: Likewise.
20937 * kern/sparc64/ieee1275/init.c: Likewise.
20938 * kern/sparc64/ieee1275/openfw.c: Likewise.
20939
385c6a92 209402005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20941
20942 * util/console.c (grub_ncurses_putchar): If C is greater than
20943 0x7f, set C to a question mark.
20944 (grub_ncurses_getcharwidth): New function.
20945 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
20946 getcharwidth.
20947
20948 * normal/menu.c (print_entry): Made aware of Unicode. First,
20949 convert TITLE to UCS-4, and predict the cursor position by
20950 grub_getcharwidth.
20951
20952 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
20953 const to SRC.
20954 * kern/misc.c (grub_utf16_to_utf8): Likewise.
20955
16ccb8b1 209562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20957
20958 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
20959 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20960 grub_strcat.
20961
20962 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
20963 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
20964 grub_strcpy and grub_strlen. Take it into account that a space
20965 character is inserted as a delimiter.
20966
6a85ce79 209672005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
20968
20969 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 20970 invalid magic in the error.
6a85ce79 20971
20972 * commands/search.c: New file.
f19dbdb7 20973
6a85ce79 20974 * util/grub-emu.c (main): Call grub_search_init and
20975 grub_search_fini.
20976
20977 * kern/rescue.c (grub_rescue_print_disks): Removed.
20978 (grub_rescue_print_devices): New function.
20979 (grub_rescue_cmd_ls): Use grub_device_iterate with
20980 grub_rescue_print_devices instead of grub_disk_dev_iterate with
20981 grub_rescue_print_disks.
20982
20983 * kern/partition.c (grub_partition_iterate): Return the result of
20984 PARTMAP->ITERATE instead of GRUB_ERRNO.
20985
20986 * kern/device.c: Include grub/partition.h.
20987 (grub_device_iterate): New function.
20988
20989 * include/grub/partition.h (grub_partition_iterate): Return int
20990 instead of grub_err_t.
20991
20992 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
20993 prototype.
20994 [GRUB_UTIL] (grub_search_fini): Likewise.
20995
20996 * include/grub/device.h (grub_device_iterate): New prototype.
20997
20998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20999 commands/search.c.
21000 (pkgdata_MODULES): Added search.mod.
21001 (search_mod_SOURCES): New variable.
21002 (search_mod_CFLAGS): Likewise.
21003
21004 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21005 (pkgdata_MODULES): Added search.mod.
21006 (search_mod_SOURCES): New variable.
21007 (search_mod_CFLAGS): Likewise.
21008
21009 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21010 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21011 All callers changed.
21012
21013 * DISTLIST: Added commands/search.c.
21014
ef095434 210152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21016
21017 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21018 conversion.
21019 (grub_getcharwidth): New function.
21020
21021 * kern/misc.c (grub_utf8_to_ucs4): New function.
21022
21023 * include/grub/term.h (struct grub_term): Added a new member
21024 "getcharwidth".
21025 (grub_getcharwidth): New prototype.
21026
21027 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21028
21029 * term/i386/pc/console.c (map_char): New function. Segregated from
21030 grub_console_putchar.
21031 (grub_console_putchar): Use map_char.
21032 (grub_console_getcharwidth): New function.
21033 (grub_console_term): Specified grub_console_getcharwidth as
21034 getcharwidth.
21035
21036 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21037 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21038
21039 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21040 GRUB_ERRNO.
21041 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21042 on grub_strtoul completely.
21043 (write_char): Declare local variables in the beginning of the
21044 function.
21045 (grub_vesafb_getcharwidth): New function.
21046 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21047 getcharwidth.
21048
1f0a95e4 210492005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21050
21051 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21052 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21053 commands/i386/pc/vbetest.c.
21054
21055 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21056 call grub_vbe_get_controller_info again, because the returned
21057 information is volatile.
21058 (grub_vbe_set_video_mode): Mostly rewritten.
21059 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21060 grub_vbe_status_t correctly.
21061 (grub_vbe_get_video_mode_info): Likewise.
21062 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21063 several if statements.
21064
21065 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21066 * commands/i386/pc/vbeinfo.c: ... this.
21067
21068 * commands/i386/pc/vbe_test.c: Renamed to ...
21069 * commands/i386/pc/vbetest.c: ... this.
21070
21071 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21072 ...
21073 (grub_cmd_vbeinfo): ... this. Save video modes before
21074 iterating. Skip a video mode, if it is not available, not enough
21075 information is given or it is monochrome. Show the memory
21076 model. Leave the interpretation of MODEVAR to grub_strtoul
21077 completely.
21078 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21079 (GRUB_MOD_FINI): Likewise.
21080
21081 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21082 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21083 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21084 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21085 grub_strtoul completely.
21086 (real2pm): Removed.
21087 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21088 (GRUB_MOD_FINI): Likewise.
21089
21090 * normal/misc.c: Include grub/mm.h.
21091
21092 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21093 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21094 (vbe_list_modes_mod_SOURCES): Removed.
21095 (vbe_list_modes_mod_CFLAGS): Likewise.
21096 (vbe_test_mod_SOURCES): Likewise.
21097 (vbe_test_mod_CFLAGS): Likewise.
21098 (vbeinfo_mod_SOURCES): New variable.
21099 (vbeinfo_mod_CFLAGS): Likewise.
21100 (vbetest_mod_SOURCES): Likewise.
21101 (vbetest_mod_CFLAGS): Likewise.
21102
992ffbbe 211032005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21104
21105 * normal/misc.c: New file.
21106
21107 * DISTLIST: Added normal/misc.c.
f19dbdb7 21108
992ffbbe 21109 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21110 DISK to HOOK. Call HOOK with DISK.
21111 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21112 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21113 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21114
21115 * normal/menu_entry.c (struct screen): Added a new member
21116 "completion_shown".
21117 (completion_buffer): New global variable.
21118 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21119 (store_completion): New function.
21120 (complete): Likewise.
21121 (clear_completions): Likewise.
21122 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21123 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21124 a tab, call complete.
21125
21126 * normal/completion.c (disk_dev): Removed.
21127 (print_simple_completion): Likewise.
21128 (print_partition_completion): Likewise.
21129 (print_func): New global variable.
21130 (add_completion): Do not take the arguments WHAT or PRINT any
21131 longer. Added a new argument TYPE. Instead of printing directly,
21132 call PRINT_FUNC if not NULL.
21133 All callers changed.
21134 (complete_device): Use a local variable DEV instead of
21135 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21136 (grub_normal_do_completion): Take a new argument HOOK. Do not
21137 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21138 empty string, return NULL instead.
21139 All callers changed.
21140
21141 * normal/cmdline.c (print_completion): New function.
21142
21143 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21144 to HOOK.
21145 All callers changed.
21146
21147 * kern/disk.c (grub_print_partinfo): Removed.
21148
21149 * include/grub/partition.h (struct grub_partition_map): Add a new
21150 argument DISK into HOOK of ITERATE.
21151 (grub_partition_iterate): Add a new argument DISK to HOOK.
21152
21153 * include/grub/normal.h (enum grub_completion_type): New enum.
21154 (grub_completion_type_t): New type.
21155 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21156 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21157 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21158 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21159 (grub_normal_do_completion): Added a new argument HOOK.
21160 (grub_normal_print_device_info): New prototype.
21161
21162 * include/grub/disk.h (grub_print_partinfo): Removed.
21163
21164 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21165 (normal_mod_SOURCES): Likewise.
21166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21167 (normal_mod_SOURCES): Likewise.
21168
21169 * commands/ls.c (grub_ls_list_disks): Use
21170 grub_normal_print_device_info instead of grub_print_partinfo. Free
21171 PNAME.
21172 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21173 duplicating the code.
21174
0bd41162 211752005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21176
21177 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21178 follow GCS more precisely.
21179 * commands/i386/pc/vbe_test.c: Likewise.
21180 * include/grub/i386/pc/vbe.h: Likewise.
21181 * term/i386/pc/vesafb.c: Likewise.
21182 * video/i386/pc/vbe.c: Likewise.
0bd41162 21183
6323696a 211842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21185
21186 * DISTLIST: Added term/i386/pc/vesafb.c
21187 DISTLIST: Added video/i386/pc/vbe.c
21188 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21189 DISTLIST: Added commands/i386/pc/vbe_test.c.
21190 * commands/i386/pc/vbe_list_modes.c: New file.
21191 * commands/i386/pc/vbe_test.c: Likewise.
21192 * term/i386/pc/vesafb.c: Likewise.
21193 * video/i386/pc/vbe.c: Likewise.
21194 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21195 (grub_vbe_probe) Added prototype.
21196 (grub_vbe_set_video_mode) Likewise.
21197 (grub_vbe_get_video_mode) Likewise.
21198 (grub_vbe_get_video_mode_info) Likewise.
21199 (grub_vbe_set_pixel_rgb) Likewise.
21200 (grub_vbe_set_pixel_index) Likewise.
21201 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21202 (pkgdata_MODULES): Added vesafb.mod.
21203 (pkgdata_MODULES): Added vbe_list_modes.mod.
21204 (pkgdata_MODULES): Added vbe_test.mod.
21205 (vbe_mod_SOURCES): Added.
21206 (vbe_mod_CFLAGS): Likewise.
21207 (vesafb_mod_SOURCES): Likewise.
21208 (vesafb_mod_CFLAGS): Likewise.
21209 (vbe_list_modes_mod_SOURCES): Likewise.
21210 (vbe_list_modes_mod_CFLAGS): Likewise.
21211 (vbe_test_mod_SOURCES): Likewise.
21212 (vbe_test_mod_CFLAGS): Likewise.
21213
0a74e62f 212142005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21215
0a74e62f 21216 * normal/command.c (grub_command_execute): If INTERACTIVE is
21217 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21218 CMDLINE. Disable the pager if INTERACTIVE is true.
21219 All callers are changed.
21220
21221 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21222 before reading a config file.
21223 * normal/main.c (read_config_file): Even if a command is not
21224 found, register it if it is within an entry.
21225
21226 * util/grub-emu.c: Include sys/types.h and unistd.h.
21227 (options): Added --hold.
21228 (struct arguments): Added a new member "hold".
21229 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21230 missing.
21231 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21232 cleared by a debugger, if it is not zero.
21233
21234 * include/grub/normal.h (grub_command_execute): Add an argument
21235 INTERACTIVE.
21236
e51f85ae 212372005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21238
21239 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21240
e9c6f39b 212412005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21242
21243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21244 program with another one, because the old one didn't detect a bug
21245 in gcc-3.4. Always use regparm 2, because the new test is still
21246 not enough for gcc-4.0. Someone must investigate a simple test
21247 case which detects a bug in gcc-4.0.
21248
8de3495c 212492005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21250
21251 * DISTLIST: Added normal/completion.c.
21252
21253 * normal/completion.c: New file.
f19dbdb7 21254
8de3495c 21255 * term/i386/pc/console.c (grub_console_getwh): New function.
21256 (grub_console_term): Assign grub_console_getwh to getwh.
21257
21258 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21259 function is defined in normal/completion.c as
21260 grub_normal_do_completion.
21261 (grub_cmdline_get): Use grub_normal_do_completion instead of
21262 grub_tab_complete.
21263
21264 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21265 returns non-zero, otherwise return 0.
21266 (grub_partition_iterate): First, probe the partition map. Then,
21267 call ITERATE only for this partition map.
21268
21269 * kern/misc.c (grub_strncmp): Rewritten.
21270
21271 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21272 returns non-zero. Otherwise return 0.
21273
21274 * include/grub/partition.h (grub_partition_map_iterate): Return
21275 int instead of void.
21276
21277 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21278
21279 * include/grub/misc.h (grub_strncmp): Change the type of N to
21280 grub_size_t.
21281
21282 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21283 of void.
21284
21285 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21286 unsigned explicitly before comparing it with I.
8de3495c 21287
21288 * kern/main.c (grub_env_write_root): Add the attribute unused into
21289 VAR.
21290
21291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21292 normal/completion.c.
21293 (normal_mod_SOURCES): Likewise.
21294 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21295 (normal_mod_SOURCES): Likewise.
21296
21297 * normal/command.c (grub_iterate_commands): If ITERATE returns
21298 non-zero, return one immediately.
21299
e85e144b 213002005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21301
21302 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21303 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21304 descriptions.
21305 (grub_vbe_get_controller_info): New function.
21306 (grub_vbe_get_mode_info): Likewise.
21307 (grub_vbe_set_mode): Likewise.
21308 (grub_vbe_get_mode): Likewise.
21309 (grub_vbe_set_memory_window): Likewise.
21310 (grub_vbe_get_memory_window): Likewise.
21311 (grub_vbe_set_scanline_length): Likewise.
21312 (grub_vbe_get_scanline_length): Likewise.
21313 (grub_vbe_set_display_start): Likewise.
21314 (grub_vbe_get_display_start): Likewise.
21315 (grub_vbe_set_palette_data): Likewise.
21316 * include/grub/i386/pc/vbe.h: New file.
21317
c46153d2 213182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21319
21320 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21321 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21322 * DISTLIST: Likewise.
21323 * kern/ieee1275/of.c: Moved to ...
21324 * kern/ieee1275/ieee1275.c: ... here.
21325
0cb90c45 213262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21327
21328 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21329 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21330 Pass 0 as `end' parameter to grub_strtoul().
21331
a19fb360 213322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21333
21334 * include/grub/powerpc/ieee1275/console.h: Do not include
21335 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21336 ifdef.
21337 (grub_console_cur_color): Remove i386-specific prototype.
21338 (grub_console_real_putchar): Likewise.
21339 (grub_console_checkkey): Likewise.
21340 (grub_console_getkey): Likewise.
21341 (grub_console_getxy): Likewise.
21342 (grub_console_gotoxy): Likewise.
21343 (grub_console_cls): Likewise.
21344 (grub_console_setcursor): Likewise.
21345 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21346 Include <grub/machine/console.h>.
21347 * term/ieee1275/ofconsole.c: Likewise.
21348
4ac9bd04 213492005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21350
21351 * Makefile.in (LIBLZO): New variable.
21352
21353 * configure.ac: Check for LZO version 2.
21354
21355 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21356 lzo/lzo1x.h instead of lzo1x.h.
21357
21358 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21359 of -llzo.
21360
21361 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21362 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21363
21364 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21365 copying the data from PARTITION to P.
21366
f4917dfd 213672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21368
21369 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21370 negative, unload the module.
21371
21372 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21373 map is "pc_partition_map" but not "pc".
21374 (usage): Fix the description. The options are --boot-image and
21375 --core-image but not --boot-file or --core-file.
21376 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21377 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21378 DEFAULT_DIRECTORY.
21379
21380 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21381 --core-file. Specify INSTALL_DEVICE as an argument.
21382
21383 * util/console.c: Include config.h.
21384 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21385 [HAVE_NCURSES_H]: Include ncurses.h.
21386 [HAVE_CURSES_H]: Include curses.h.
21387 [!A_NORMAL] (A_NORMAL): Defined as zero.
21388 [!A_STANDOUT] (A_STANDOUT): Likewise.
21389
21390 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21391 -lncurses.
21392 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21393
21394 * configure.ac: Check for curses libraries and headers.
21395
21396 * Makefile.in (LIBCURSES): New variable.
21397
21398 * genmk.rb (Script::rule): Set the executable bits.
21399
21400 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21401 name of the PC partition map is "pc_partition_map" but not "pc".
21402
0e143073 214032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21404
21405 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21406 (modules): Likewise.
21407 (usage): Added descriptions for --modules and --grub-probefs.
21408 Handle --modules and --grub-probefs. Save the arguments in MODULES
21409 and GRUB_PROBEFS, respectively.
21410 Auto-detect a filesystem module against GRUBDIR. If the result is
21411 empty and modules are not specified explicitly, abort the
21412 installation. Add the result to MODULES.
21413
21414 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21415 disk/powerpc/ieee1275/ofdisk.c,
21416 include/grub/powerpc/ieee1275/init.h and
21417 term/powerpc/ieee1275/ofconsole.c.
21418 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21419 term/ieee1275/ofconsole.c.
21420
21421 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21422
21423 * COPYING: Upgraded to the latest version. Only the address of the
21424 FSF office has changed.
f19dbdb7 21425
efd6e6d5 214262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21427
21428 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21429 kern/ieee1275.c with kern/ieee1275/of.c.
21430
21431 * kern/ieee1275.c: Moved to ...
21432 * kern/ieee1275/of.c: ... here.
21433
8ceafda2 214342005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21435
21436 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21437 readability.
8ceafda2 21438
21439 * config.guess: Updated to the latest version from gnulib.
21440 * config.sub: Likewise.
21441 * install.sh: Likewise.
21442 * mkinstalldirs: Likewise.
21443
21444 * include/grub/console.h: Removed. This file is arch-specific. Do
21445 not put this in include/grub.
21446
21447 * include/grub/i386/pc/console.h: Resurrected.
21448
21449 * util/console.c: Include grub/machine/console.h instead of
21450 grub/console.h.
21451 * util/grub-emu.c: Likewise.
21452
267f6cd9 214532005-08-04 Marco Gerards <metgerards@student.han.nl>
21454
21455 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21456 hardcoded value.
f19dbdb7 21457
267f6cd9 21458 From Vincent Pelletier <subdino2004@yahoo.fr>
21459 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21460 Redefined to use grub_getwh.
21461 (grub_term): New member named getwh.
21462 (grub_getwh): New prototype.
21463 * kern/term.c (grub_getwh): New function.
21464 * term/i386/pc/console.c (grub_console_getwh): New function.
21465 (grub_console_term): New member `getwh'.
21466 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21467 (grub_vga_term): New member `getwh'.
0b5abe02 21468 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21469 grub_ssize_t.
21470 (grub_ofconsole_getw): New function.
21471 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21472 (grub_ofconsole_term): New field named getwh and new initial
21473 value.
21474
3be7266d 214752005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21476
21477 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21478 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21479 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21480 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21481 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21482 of <grub/machine/ieee1275.h>.
21483 * commands/ieee1275/reboot.c: Likewise.
21484 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21485 * kern/ieee1275.c: ... to here. All users updated. Change all
21486 parameter structs to use new type `grub_ieee1275_cell_t'.
21487 * term/powerpc/ieee1275/ofconsole.c: Move ...
21488 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21489 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21490 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21491 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21492 to return int.
21493 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21494 Remove unused prototypes. All users updated.
21495 * include/grub/powerpc/ieee1275/console.h: Removed.
21496 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21497 `grub_ieee1275_cell_t'.
21498 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21499 Cast comparisons with -1 to the correct type.
21500 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21501 type to match `grub_ieee1275_entry_fn'.
21502
8b5f3938 215032005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21504
21505 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21506
21507 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21508 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21509 partmap/sun.c.
21510 (grub_probefs_SOURCES): New variable.
21511
21512 * util/i386/pc/grub-probefs.c: New file.
21513
21514 * util/i386/pc/grub-setup.c (main): Call
21515 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21516 grub_hfs_init and grub_jfs_init to initialize the system. Call
21517 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21518 grub_pc_partition_map_fini to finish the system.
21519
ea409713 215202005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21521
21522 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21523 function.
21524 (grub_multiboot_load_elf32): Likewise.
21525 (grub_multiboot_is_elf64): Likewise.
21526 (grub_multiboot_load_elf64): Likewise.
21527 (grub_multiboot_load_elf): Likewise.
21528 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21529 an ELF32 or ELF64 file.
21530 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21531
21532 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21533 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21534 NULL before calling FS->LABEL.
21535 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21536 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21537 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
21538 before calling FS->LABEL.
21539
141a288b 215402005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
21541
21542 * util/i386/pc/grub-install.in (datadir): New variable.
21543 (libdir): Removed.
21544 (pkgdatadir): New variable.
21545 (pkglibdir): Removed.
21546
0d5f8a54 215472005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
21548
21549 * DISTLIST: Added util/i386/pc/grub-install.in.
21550
21551 * util/i386/pc/grub-install.in: New file.
21552
21553 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
21554 (grub_install_SOURCES): Likewise.
21555
21556 * genmk.rb: Added support for scripts.
21557 (Script): New class.
21558 (scripts): New variable.
21559
21560 * Makefile.in (install-local): Install sbin_SCRIPTS by
21561 INSTALL_SCRIPT.
21562 (uninstall): Remove sbin_SCRIPTS.
21563
21564 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
21565 device, try to get a GRUB device by
21566 grub_util_biosdisk_get_grub_dev.
21567 Free DEST_DEV.
21568
21569 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
21570 description for --device-map.
21571
5f968e1e 215722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21573
21574 Change the semantics of variable hooks. They now return strings
21575 instead of error values.
f19dbdb7 21576
5f968e1e 21577 * util/i386/pc/grub-setup.c: Include grub/env.h.
21578 (setup): Use grub_device_set_root instead of grub_env_set.
21579
21580 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
21581 grub_env_get instead of grub_device_set_root and
21582 grub_device_get_root, respectively.
21583
21584 * kern/main.c (grub_env_write_root): New function.
21585 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
21586 grub_env_set instead of grub_device_set_root.
21587
21588 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
21589 many variables.
21590 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
21591 rather than calling ENV->WRITE_HOOK afterwards.
21592 (grub_env_get): Return the result of ENV->READ_HOOK rather than
21593 passing a pointer of a pointer.
21594 (grub_register_variable_hook): Change the types of "read_hook" and
21595 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
21596 respectively.
21597 Allocate the default empty string on the heap, because this string
21598 may be freed later.
21599
21600 * kern/device.c: Include grub/env.h.
21601 (grub_device_set_root): Removed.
21602 (grub_device_get_root): Likewise.
21603 (grub_device_open): Use grub_env_get instead of
21604 grub_device_get_root.
21605
21606 * include/grub/env.h (grub_env_read_hook_t): New type.
21607 (grub_env_write_hook_t): Likewise.
21608 (grub_env_var): Change the types of "read_hook" and "write_hook"
21609 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
21610 (grub_register_variable_hook): Likewise.
21611
21612 * include/grub/device.h (grub_device_set_root): Removed.
21613 (grub_device_set_root): Likewise.
21614
21615 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
21616 make sure that DIRNAME terminates with '/', so that
21617 grub_fat_find_dir will fail if PATH is not a directory.
21618
21619 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
21620 from DIRNAME.
21621 Use the qualifier auto for print_files and print_files_long.
21622 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
21623 as a regular file.
21624 Put a newline only if there is no error.
21625 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
21626 used.
21627
896f0afd 216282005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21629
21630 * kern/partition.c (grub_partition_probe): Initialize PART to
21631 NULL. Otherwise, when no partition map is registered, this returns
21632 a garbage.
21633
b28b81b2 216342005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
21635
21636 * partmap/apple.c (apple_partition_map_iterate): Check if POS
21637 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
21638 valid.
21639
5f3607e0 216402005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
21641
21642 * commands/ls.c (grub_ls_list_disks): Print the filesystem
21643 information on each device, if it does not have partitions. Print
21644 "Device" instead of "Disk", because this function is not specific
21645 to disk devices.
21646
21647 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
21648 static to ensure that it is put on the memory rather than a
21649 register.
21650
502c87e8 216512005-07-17 Yoshinori Okuji <okuji@enbug.org>
21652
21653 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
21654 (grub_cat_init): Likewise.
21655 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
21656 (options): Likewise.
21657 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21658 (grub_configfile_init): Likewise.
21659 * font/manager.c (GRUB_MOD_INIT): Likewise.
21660 * commands/help.c (GRUB_MOD_INIT): Likewise.
21661 (grub_help_init): Likewise.
21662 * normal/command.c (grub_command_init): Likewise.
21663 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
21664 * disk/loopback.c (grub_loop_init): Likewise.
21665 (GRUB_MOD_INIT): Likewise.
21666 * commands/ls.c (grub_ls_init): Likewise.
21667 (GRUB_MOD_INIT): Likewise.
21668 (options): Likewise.
21669 * commands/boot.c (grub_boot_init): Likewise.
21670 (GRUB_MOD_INIT): Likewise.
21671 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
21672 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
21673 (GRUB_MOD_INIT): Likewise.
21674 * commands/cmp.c (grub_cmp_init): Likewise.
21675 (GRUB_MOD_INIT): Likewise.
21676
21677 * normal/arg.c: Use <> instead of "" to include header files.
21678 (SHORT_ARG_HELP): New macro.
21679 (SHORT_ARG_USAGE): Likewise.
21680 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
21681 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
21682 descriptions.
21683 (find_short): Check if C is 'h' or 'u' explicitly.
21684 (grub_arg_show_help): Use space characters instead of tabs. Treat
21685 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
21686 are shown with --help and --usage only if they are not used for
21687 the command itself.
21688 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
21689 'h' and 'u'.
21690
21691 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
21692 const into "longarg". Change the type of "shortarg" to int.
21693
f806d18e 216942005-07-17 Yoshinori Okuji <okuji@enbug.org>
21695
21696 * boot/i386/pc/boot.S (boot_drive_check): New label.
21697
21698 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
21699 macro.
21700
21701 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
21702 which do not pass a boot drive correctly. Copied from GRUB Legacy.
21703
e293232b 217042005-07-17 Yoshinori Okuji <okuji@enbug.org>
21705
21706 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
21707 When turning off Gate A20, skip the check and return immediately,
21708 because this is not fatal usually.
21709
ebedfd00 217102005-07-17 Yoshinori Okuji <okuji@enbug.org>
21711
21712 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
21713 be 0x7C00 instead of 0x8000.
21714
21715 * boot/i386/pc/pxeboot.S: Rewritten.
21716
21717 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
21718 EXT_C.
21719 (gate_a20_check_state): Read a byte from 0x108000. Invert the
21720 result.
21721
654fc59f 217222005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
21723
21724 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
21725 robustness. This routine now supports a BIOS call and System
21726 Control Port A to modify the gate A20.
21727
21728 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21729 Increased to 0x440.
21730
09f9923f 217312005-07-12 Hollis Blanchard <hollis@penguinppc.org>
21732
21733 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
21734 device path and resulting ihandle.
21735 (grub_ofdisk_close): dprintf the ihandle being closed.
21736 (grub_ofdisk_read): dprintf function parameters.
21737 * kern/mm.c (grub_mm_init_region): Likewise.
21738 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
21739 (grub_linux_boot): dprintf the Linux entry point, initrd address and
21740 size, and boot arguments.
21741 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
21742 before loading into memory.
21743 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
21744 before loading into memory.
21745
7ef504d8 217462005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
21747
21748 * kern/mm.c: Added much documentation.
21749 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
21750 8, set to 5 instead of 8.
21751
e0f050c2 217522005-07-10 Yoshinori Okuji <okuji@enbug.org>
21753
21754 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
21755
21756 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
21757 (grub_mkdevicemap_SOURCES): New variable.
21758
21759 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
21760 lib/device.c of GRUB Legacy.
21761
7224189a 217622005-07-10 Yoshinori Okuji <okuji@enbug.org>
21763
21764 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
21765 instead of PATH is NULL.
21766
68c864eb 217672005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
21768
21769 * commands/cmp.c (BUFFER_SIZE): New macro.
21770 (grub_cmd_cmp): Close the right file at the right time. Compare
21771 only data just read. Don't report files of different size as
21772 identical. Dynamically allocate buffers. Move variable
21773 declarations at the beginning of function.
21774
e6f3e614 217752005-07-09 Yoshinori Okuji <okuji@enbug.org>
21776
21777 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
21778 reverse.
21779
f8f1559a 217802004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
21781
21782 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
21783 when backspace is pressed at beginning of line.
21784
39c9d41d 217852005-07-03 Yoshinori Okuji <okuji@enbug.org>
21786
21787 * DISTLIST: Added genfslist.sh.
21788
21789 * normal/main.c (fs_module_list): New variable.
21790 (autoload_fs_module): New function.
21791 (read_fs_list): Likewise.
21792 (grub_normal_execute): Call read_fs_list.
21793
21794 * kern/fs.c (grub_fs_autoload_hook): New variable.
21795 (grub_fs_probe): Added support for auto-loading.
21796
21797 * include/grub/normal.h (struct grub_fs_module_list): New struct.
21798 (grub_fs_module_list_t): New type.
21799
21800 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
21801 (grub_fs_autoload_hook): New prototype.
21802
21803 * genfslist.sh: New file.
f19dbdb7 21804
39c9d41d 21805 * genmk.rb: Added a rule to generate a filesystem list.
21806
121c1d83 218072005-06-30 Marco Gerards <metgerards@student.han.nl>
21808
21809 * configure.ac: Fix the test for cross-compiling.
21810
21811 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
21812 define GRUB_UTIL anymore.
21813
21814 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
21815 so this function works on other systems than just big endian.
21816 (load_modules): Likewise.
21817 (add_segments): Likewise.
21818
e75d76e1 218192005-06-23 Hollis Blanchard <hollis@penguinppc.org>
21820
21821 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
21822 contains `l' modifier, get a long from va_arg().
21823
50b5a0a7 218242005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
21825
21826 * kern/mm.c (grub_free): If the next free block which is being
21827 merged is the first free block, set the first block to the block
21828 being freed.
21829 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
21830
89371b20 218312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21832
21833 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
21834 `grub_ieee1275_chosen'.
21835
168d6e58 218362005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21837
21838 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
21839 (grub_ieee1275_chosen): New variable.
21840 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
21841 `chosen'.
21842 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
21843 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21844 Rename first argument to `phandle' for consistency.
21845 (grub_ieee1275_get_property_length): Likewise.
21846 (grub_ieee1275_next_property): Likewise. Change type of first argument
21847 to grub_ieee1275_phandle_t.
21848 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
21849 Move export next to declaration.
21850 (grub_ieee1275_chosen): New variable.
21851 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
21852 Correct cosmetic typo.
21853 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
21854 `grub_ieee1275_chosen'.
21855 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
21856 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
21857 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
21858 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
21859 `grub_ieee1275_chosen'.
21860
ca5baa3f 218612005-05-10 Hollis Blanchard <hollis@penguinppc.org>
21862
21863 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
21864 /chosen/bootargs.
21865 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
21866 /chosen/bootargs as "variable=value" pairs.
21867
708b345f 218682005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
21869
21870 * include/grub/misc.h (grub_dprintf): New macro.
21871 (grub_real_dprintf): New prototype.
21872 (grub_strword): Likewise.
21873 (grub_iswordseparator): Likewise.
21874 * kern/misc.c (grub_real_dprintf): New function.
21875 (grub_strword): Likewise.
21876 (grub_iswordseparator): Likewise.
21877
f4c5e67c 218782005-04-30 Hollis Blanchard <hollis@penguinppc.org>
21879
21880 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
21881 (roundup): Remove macro.
21882 (grub_ieee1275_flags): Make static.
21883 (grub_ieee1275_realmode): Remove.
21884 (grub_ieee1275_test_flag): New function.
21885 (grub_ieee1275_set_flag): Likewise.
21886 (find_options): Rename to `grub_ieee1275_find_options'; update
21887 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
21888 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
21889 (cmain): New prototype.
21890 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
21891 `grub_ieee1275_flags' directly.
21892 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
21893 machine/biosdisk.h.
21894 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
21895 Don't include grub/machine/init.h.
21896 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
21897 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21898 Remove prototype.
21899 (grub_ieee1275_realmode): Likewise.
21900 (grub_ieee1275_flag): New enum.
21901 (grub_ieee1275_test_flag): New prototype.
21902 (grub_ieee1275_set_flag): New prototype.
21903 * include/grub/powerpc/ieee1275/init.h: Remove file.
21904 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
21905 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
21906 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
21907 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
21908 comment.
21909 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
21910 `grub_ieee1275_test_flag'.
21911 (grub_ieee1275_encode_devname): Likewise.
21912
ed16607e 219132005-04-21 Hollis Blanchard <hollis@penguinppc.org>
21914
21915 * include/grub/powerpc/ieee1275/ieee1275.h
21916 (grub_ieee1275_encode_devname): New prototype.
21917 (grub_ieee1275_get_filename): Likewise.
21918 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
21919 function.
21920 (grub_set_prefix): Likewise.
21921 (grub_machine_init): Call grub_set_prefix.
21922 * kern/powerpc/ieee1275/openfw.c: Fix typos.
21923 (grub_parse_type): New enum.
21924 (grub_ieee1275_get_devargs): New function.
21925 (grub_ieee1275_get_devname): Likewise.
21926 (grub_ieee1275_parse_args): Likewise.
21927 (grub_ieee1275_get_filename): Likewise.
21928 (grub_ieee1275_encode_devname): Likewise.
21929
be369920 219302005-03-30 Marco Gerards <metgerards@student.han.nl>
21931
21932 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
21933 `grub_loader_unset'.
21934
a5ce3a4a 219352005-03-26 Hollis Blanchard <hollis@penguinppc.org>
21936
21937 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
21938 instead of grub_ieee1275_interpret.
21939 (grub_halt_init): New function.
21940 (grub_halt_fini): Likewise.
21941 (GRUB_MOD_INIT): Correct message grammar.
21942 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
21943 instead of grub_ieee1275_interpret.
21944 (grub_reboot_init): New function.
21945 (grub_reboot_fini): Likewise.
21946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
21947 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
21948 util/i386/pc/misc.c with commands/ieee1275/halt.c,
21949 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
21950 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
21951 function.
21952 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
21953 Add prototype.
21954 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
21955 prototype.
21956 (grub_halt): Likewise.
21957 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
21958 (cmain): Remove __attribute__((unused)).
21959 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
21960 (grub_heap_len): Likewise.
21961 (grub_machine_fini): New function.
21962 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
21963 (grub_halt): Likewise.
21964 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
21965 function.
21966 * util/powerpc/ieee1275/misc.c: New file.
21967
0058f771 219682005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21969
21970 * DISTLIST: New file.
21971 * gendistlist.sh: Likewise.
f19dbdb7 21972
0058f771 21973 * Makefile.in (COMMON_DISTFILES): Removed.
21974 (BOOT_DISTFILES): Likewise.
21975 (CONF_DISTFILES): Likewise.
21976 (DISK_DISTFILES): Likewise.
21977 (FS_DISTFILES): Likewise.
21978 (INCLUDE_DISTFILES): Likewise.
21979 (KERN_DISTFILES): Likewise.
21980 (LOADER_DISTFILES): Likewise.
21981 (TERM_DISTFILES): Likewise.
21982 (UTIL_DISTFILES): Likewise.
21983 (DISTFILES): Likewise.
21984 (uninstall): Uninstall files in $(pkgdata_DATA).
21985 (DISTLIST): New target.
21986 (distdir): Use the contents of the file DISTLIST to get a list of
21987 distributed files.
21988
46b3b8a5 219892005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21990
21991 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
21992 descriptor. This is ported from GRUB Legacy.
21993
21994 * gencmdlist.sh: Added an extra semicolon to make it work with
21995 old sed versions. Reported by Robert Bihlmeyer
21996 <robbe@orcus.priv.at>.
21997
5822ff87 219982005-03-08 Yoshinori Okuji <okuji@enbug.org>
21999
22000 Automatic loading of commands is supported.
f19dbdb7 22001
5822ff87 22002 * normal/main.c (read_command_list): New function.
22003 (grub_normal_execute): Call read_command_list.
22004
22005 * normal/command.c (grub_register_command): Return zero or CMD.
22006 Allocate CMD->NAME from the heap.
22007 Initialize CMD->MODULE_NAME to zero.
22008 Find the same name as well. If the same command is found and it is
22009 a dummy command, overwrite members. If it is not a dummy command,
22010 return zero.
22011 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22012 (grub_command_find): If a dummy command is found, load a module
22013 and retry to find a command only once.
22014
22015 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22016 make sure that each command is loaded.
22017
22018 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22019 macro.
22020 (struct grub_command): Remove const from the member `name'.
22021 Add a new member `module_name'.
22022 (grub_register_command): Return grub_command_t.
22023
22024 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22025 sure that each command is loaded.
22026
22027 * genmk.rb (PModule::rule): Specify a module name without the
22028 suffix ".mod" to gencmdlist.sh.
22029
7b1f4b57 220302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22031
22032 * gencmdlist.sh: New file.
f19dbdb7 22033
7b1f4b57 22034 * genmk.rb (PModule::rule): Generate a rule for a command list.
22035 Clean command.lst.
22036 Generate command.lst from $(COMMANDFILES).
22037
22038 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22039 (DATA): Added $(pkgdata_DATA).
22040 (install-local): Install files in $(pkgdata_DATA).
22041
062aaf39 220422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22043
22044 * term/i386/pc/vga.c (debug_command): Removed.
22045 (GRUB_MOD_INIT): Do not register the command "debug".
22046
22047 From Hollis Blanchard:
22048 * commands/configfile.c: New file.
22049 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22050 commands/configfile.c.
22051 (pkgdata_MODULES): Added configfile.mod.
22052 (configfile_mod_SOURCES): New variable.
22053 (configfile_mod_CFLAGS): Likewise.
22054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22055 commands/configfile.c.
22056 (pkgdata_MODULES): Added configfile.mod.
22057 (configfile_mod_SOURCES): New variable.
22058 (configfile_mod_CFLAGS): Likewise.
22059 * util/grub-emu.c (main): Call grub_configfile_init and
22060 grub_configfile_fini.
22061 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22062 prototype.
22063 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22064
cee01aa6 220652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22066
22067 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22068 address.
22069
22070 * commands/help.c (grub_cmd_help): Do not print newlines after
22071 the last command in print_command_help.
22072
93f3a1d8 220732005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22074
22075 * commands/default.h: New file.
22076 * commands/timeout.h: Likewise.
22077 * normal/context.c: Likewise.
f19dbdb7 22078
93f3a1d8 22079 * util/misc.c: Do not include sys/times.h.
22080 Include sys/time.h and grub/machine/time.h.
22081 (grub_get_rtc): Rewritten with gettimeofday.
22082
22083 * util/grub-emu.c (main): Call grub_default_init and
22084 grub_timeout_init before grub_normal_init, and call
22085 grub_timeout_fini and grub_default_fini after grub_main.
22086
22087 * util/console.c (grub_ncurses_checkkey): Return the read
22088 character or -1.
22089
22090 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22091 timeouts.
22092
22093 * normal/main.c (read_config_file): Push MENU. If this fails,
22094 print an error and wait for a user input.
22095 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22096 If a menu is empty or an error occurs, pop MENU.
22097 (grub_normal_execute): Pop and free MENU after grub_menu_run
22098 returns.
22099
22100 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22101
22102 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22103 include time.h.
22104 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22105 without GRUB_UTIL.
22106 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22107 time.h.
22108 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22109 without GRUB_UTIL.
22110
22111 * include/grub/normal.h (struct grub_menu_list): New struct.
22112 (grub_menu_list_t): New type.
22113 (struct grub_context): New struct.
22114 (grub_context_t): New type.
22115 (grub_register_command): Got rid of EXPORT_FUNC.
22116 (grub_unregister_command): Likewise.
22117 (grub_context_get): New prototype.
22118 (grub_context_get_current_menu): Likewise.
22119 (grub_context_push_menu): Likewise.
22120 (grub_context_pop_menu): Likewise.
22121 [GRUB_UTIL] (grub_default_init): Likewise.
22122 [GRUB_UTIL] (grub_default_fini): Likewise.
22123 [GRUB_UTIL] (grub_timeout_init): Likewise.
22124 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22125
22126 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22127 commands/timeout.c and normal/context.c.
22128 (pkgdata_MODULES): Added default.mod and timeout.mod.
22129 (normal_mod_SOURCES): Added normal/context.c.
22130 (default_mod_SOURCES): New variable.
22131 (default_mod_CFLAGS): Likewise.
22132 (timeout_mod_SOURCES): Likewise.
22133 (timeout_mod_CFLAGS): Likewise.
22134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22135 conf/i386-pc.rmk.
22136 (pkgdata_MODULES): Added default.mod and timeout.mod.
22137 (normal_mod_SOURCES): Added normal/context.c.
22138 (default_mod_SOURCES): New variable.
22139 (default_mod_CFLAGS): Likewise.
22140 (timeout_mod_SOURCES): Likewise.
22141 (timeout_mod_CFLAGS): Likewise.
22142
22143 * Makefile.in (all-local): Added $(MKFILES).
22144
4ed2e1dd 221452005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22146
22147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22148 (grub_emu_SOURCES): Likewise.
22149 (pkgdata_MODULES): Add `sun.mod'.
22150 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22152 `partmap/sun.c'.
22153 (pkgdata_MODULES): Add `sun.mod'.
22154 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22155 * include/grub/partition.h (grub_sun_partition_map_init): New
22156 prototype.
22157 (grub_sun_partition_map_fini): Likewise.
22158 * partmap/sun.c: New file.
22159 * util/grub-emu.c (main): Initialize and de-initialize the sun
22160 partitionmap support.
22161
4d4e372e 221622005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22163
22164 This implements an Emacs-like menu entry editor.
f19dbdb7 22165
4d4e372e 22166 * normal/menu_entry.c: New file.
f19dbdb7 22167
4d4e372e 22168 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22169 characters to ASCII.
22170 (saved_char): New variable.
22171 (grub_ncurses_checkkey): Rewritten completely.
22172 (grub_ncurses_getkey): Likewise.
22173 (grub_ncurses_init): Call raw instead of cbreak.
22174
22175 * normal/menu.c (print_entry): Do not put a space.
22176 (init_page): Renamed to ...
22177 (grub_menu_init_page): ... this. All callers changed.
22178 (edit_menu_entry): Removed.
22179 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22180
22181 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22182
22183 * kern/misc.c (grub_vprintf): Call grub_refresh.
22184
22185 * normal/menu.c (DISP_LEFT): Renamed to ...
22186 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22187 * normal/menu.c (DISP_UP): Renamed to ...
22188 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22189 * normal/menu.c (DISP_RIGHT): Renamed to ...
22190 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22191 * normal/menu.c (DISP_DOWN): Renamed to ...
22192 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22193 * normal/menu.c (DISP_HLINE): Renamed to ...
22194 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22195 * normal/menu.c (DISP_VLINE): Renamed to ...
22196 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22197 * normal/menu.c (DISP_UL): Renamed to ...
22198 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22199 * normal/menu.c (DISP_UR): Renamed to ...
22200 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22201 * normal/menu.c (DISP_LL): Renamed to ...
22202 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22203 * normal/menu.c (DISP_LR): Renamed to ...
22204 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22205 * normal/menu.c (TERM_WIDTH): Renamed to ...
22206 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22207 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22208 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22209 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22210 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22211 * normal/menu.c (TERM_MARGIN): Renamed to ...
22212 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22213 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22214 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22215 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22216 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22217 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22218 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22219 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22220 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22221 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22222 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22223 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22224 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22225 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22226 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22227 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22228 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22229 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22230 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22231 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22232 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22233 All callers changed.
22234
22235 * include/grub/normal.h: New prototype.
22236
22237 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22238 normal/menu_entry.c.
22239 (normal_mod_SOURCES): Likewise.
22240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22241 (normal_mod_SOURCES): Likewise.
22242
e6b92c8a 222432005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22244
22245 * include/grub/normal.h (grub_halt_init): New prototype.
22246 (grub_halt_fini): Likewise.
22247 (grub_reboot_init): Likewise.
22248 (grub_reboot_fini): Likewise.
22249
22250 * util/grub-emu.c: Include signal.h.
22251 (main_env): New global variable.
22252 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22253 catch C-c.
22254 (grub_machine_fini): New function.
22255 (main): Call grub_halt_init and grub_reboot_init before
22256 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22257 Call setjmp with MAIN_ENV to go back afterwards.
22258 Call grub_machine_fini right before return.
22259
22260 * include/grub/util/misc.h: Include setjmp.h.
22261 (main_env): New prototype.
22262
22263 * include/grub/kernel.h (grub_machine_fini): New prototype.
22264 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22265 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22266
22267 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22268 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22269 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22270
e6b92c8a 22271 * util/i386/pc/misc.c: New file.
f19dbdb7 22272
e6b92c8a 22273 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22274 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22275 commands/i386/pc/reboot.c.
22276
c642636f 222772005-02-14 Guillem Jover <guillem@hadrons.org>
22278
22279 * include/grub/dl.h (grub_dl_check_header): New prototype.
22280 (grub_arch_dl_check_header): Change return type to grub_err_t,
22281 remove size parameter and export function. Update all callers.
22282 * kern/dl.c (grub_dl_check_header): New function.
22283 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22284 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22285 are inside the core.
22286 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22287 independent ELF header checks.
22288 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22289 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22290 `grub_dl_check_header' instead of explicit checks. Check for the
22291 ELF type.
22292 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22293 `grub_dl_check_header' instead of explicit checks. Remove arch
22294 specific ELF header checks.
22295
e6b92c8a 22296 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22297 argument SIZE.
22298
5eabe94b 222992005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22300
22301 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22302 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22303
1b14a681 223042005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22305
22306 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22307 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22308 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22309 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22310 * partmap/amiga.c (amiga_partition_map_iterate): Return
22311 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22312 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22313
aca108aa 223142005-02-01 Guillem Jover <guillem@hadrons.org>
22315
22316 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22317 help info.
22318
c9f9c556 223192005-01-31 Marco Gerards <metgerards@student.han.nl>
22320
22321 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22322 Removed prototype.
22323 (grub_rescue_cmd_linux): New prototype.
22324 (grub_rescue_cmd_initrd): Likewise.
22325 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22326 `bi_rec'.
22327 (grub_linux_release_mem): Release the memory for the initrd.
22328 (grub_load_linux): Renamed from this...
22329 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22330 Changed `entry' not to be static. Loop over memory regions to
22331 find another one when the default fails.
22332 (grub_rescue_cmd_initrd): New function.
22333 (grub_linux_init): Remove function.
22334 (grub_linux_fini): Likewise.
22335 (GRUB_MOD_INIT): Register `initrd'.
22336 (GRUB_MOD_FINI): Unregister `initrd'.
22337 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22338 Function removed.
22339 (grub_linux_normal_fini): Likewise.
22340 (GRUB_MOD_INIT): Register `initrd'.
22341 (GRUB_MOD_FINI): Unregister `initrd'.
22342
990cf3aa 223432005-01-31 Marco Gerards <metgerards@student.han.nl>
22344
22345 * commands/help.c: New file.
22346 * normal/arg.c (show_help): Renamed to...
22347 (grub_arg_show_help): ... this.
22348 * commands/i386/pc/halt.c: New file.
22349 * commands/i386/pc/reboot.c: Likewise.
22350 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22351 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22352 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22353 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22354 variables.
22355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22356 `commands/help.c'.
22357 (pkgdata_MODULES): Add `help.mod'.
22358 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22359 * grub/i386/pc/init.h (grub_reboot): New prototype.
22360 (grub_halt): Likewise.
22361 * include/grub/normal.h (grub_arg_show_help): New prototype.
22362 (grub_help_init): Likewise.
22363 (grub_help_fini): Likewise.
22364 * util/grub-emu.c (main): Initialize and deinitialize the help
22365 command.
22366
22367 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22368
22369 * normal/command.c (grub_command_init): Fixed the description of
22370 the `set' and `unset' commands.
22371
223722005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22373
22374 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22375 function.
22376 * commands/ieee1275/halt.c: New file.
22377 * commands/ieee1275/reboot.c: Likewise.
22378 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22379 `__attribute__ ((unused))'. Some GCS related fixed.
22380 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22381 (grub_suspend_fini): Likewise.
22382 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22383 and `halt.mod'.
22384 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22385 (halt_mod_CFLAGS): New variables.
22386 * include/grub/powerpc/ieee1275/ieee1275.h
22387 (grub_ieee1275_interpret): New prototype.
22388
1ab09cc7 223892005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22390
22391 * include/grub/misc.h (memmove): New prototype.
22392 (memcpy): Likewise.
22393
8b8cbdb2 223942005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22395
22396 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22397 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22398
e3741a27 223992005-01-22 Marco Gerards <metgerards@student.han.nl>
22400
22401 * kern/misc.c (grub_strndup): Function rewritten.
22402
776bd780 224032005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22404
22405 * normal/menu.c (TERM_WIDTH): Macro redefined.
22406 (TERM_TOP_BORDER_Y): Likewise.
22407 (draw_border): Replaced while-loop by a for-loop. Make the number
22408 of lines consistent with the number of lines displayed in
22409 print_entries. Added a margin below the rectangle.
22410 (print_entry): Make the entry fit in the rectangle.
22411 (print_entries): Display the scroll arrows next to the right
22412 border.
22413
78026bce 224142005-01-21 Marco Gerards <metgerards@student.han.nl>
22415
22416 * fs/minix.c (grub_minix_find_file): Reserve more space for
22417 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22418 `grub_strncpy' to copy `path' into it.
22419
67bbaf0f 224202005-01-21 Marco Gerards <metgerards@student.han.nl>
22421
22422 Add the loopback device, a device via which files can be accessed
22423 as devices.
f19dbdb7 22424
67bbaf0f 22425 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22426 (pkgdata_MODULES): Add loopback.mod.
22427 (loopback_mod_SOURCES): New variable.
22428 (loopback_mod_CFLAGS): Likewise.
22429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22430 `disk/loopback.c'.
22431 (pkgdata_MODULES): Add loopback.mod.
22432 (loopback_mod_SOURCES): New variable.
22433 (loopback_mod_CFLAGS): Likewise.
22434 * disk/loopback.c: new file.
22435 * include/grub/normal.h (grub_loop_init): New prototype.
22436 (grub_loop_fini): New prototype.
22437 * util/grub-emu.c (main): Initialize and de-initialize loopback
22438 support.
22439 * include/grub/disk.h (grub_disk_dev_id): Add
22440 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22441
6f1c18bd 224422005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22443
22444 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22445 function.
22446 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22447 (suspend_mod_SOURCES): New variable.
22448 (suspend_mod_CFLAGS): Likewise.
22449 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22450 New prototype.
22451 * commands/ieee1275/suspend.c: New file.
22452
b38551da 224532005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22454
22455 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22456 ((unused))' to `__attribute__ ((used))'.
b38551da 22457 (GRUB_MOD_FINI): Likewise.
22458 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22459 * genmk.rb (PModule): Assign space to common symbols when linking
22460 modules.
22461
777aff39 224622005-01-20 Marco Gerards <metgerards@student.han.nl>
22463
22464 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22465 `unsigned' arguments to `grub_size_t'.
22466 (grub_malloc): Likewise.
22467 (grub_realloc): Likewise.
22468 (grub_memalign): Likewise.
22469 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22470 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22471 * util/misc.c (grub_malloc): Likewise.
22472 (grub_realloc): Likewise.
22473 * kern/mm.c (get_header_from_pointer): Change the casts to
22474 `unsigned' into a cast to `grub_size_t'.
22475
22476 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22477 point to `currnode' when `currnode' is changed.
22478
22479 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22480 Schottelius <nico-linux@schottelius.org>.
22481
d0ff18e1 224822005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22483
22484 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22485 (note_path): Remove variable.
22486 (GRUB_IEEE1275_NOTE_NAME): New macro.
22487 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22488 (grub_ieee1275_note_hdr): New structure.
22489 (grub_ieee1275_note_desc): Likewise.
22490 (grub_ieee1275_note): Likewise.
22491 (load_note): Remove `dir' argument. All callers updated. Remove
22492 `note_img' and `path'. Do not load a file from `note_path'.
22493 Initialize a struct grub_ieee1275_note and write that to `out'.
22494 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22495
4ca7004c 224962005-01-05 Marco Gerards <metgerards@student.han.nl>
22497
22498 * util/misc.c (grub_util_read_image): Revert last change. It
22499 called `grub_util_read_at', which seeks from the beginning of the
22500 file.
22501
0b412211 225022005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22503
22504 * TODO: Add note about endianness in grub-mkimage.
22505 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22506 section.
22507 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22508 (grub_mkimage_SOURCES): New target.
22509 * include/grub/kernel.h (grub_start_addr): Remove variable.
22510 (grub_end_addr): Likewise.
22511 (grub_total_module_size): Likewise.
22512 (grub_kernel_image_size): Likewise.
22513 (GRUB_MODULE_MAGIC): New constant.
22514 (grub_module_info): New structure.
22515 (grub_arch_modules_addr): New prototype.
22516 (grub_get_end_addr): Remove prototype.
22517 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22518 * include/grub/powerpc/ieee1275/kernel.h: New file.
22519 * include/grub/util/misc.h (grub_util_get_fp_size): New
22520 prototype.
22521 (grub_util_read_at): Likewise.
22522 (grub_util_write_image_at): Likewise.
22523 * kern/main.c (grub_get_end_addr): Remove function.
22524 (grub_load_modules): Call grub_arch_modules_addr instead of using
22525 grub_end_addr. Look for a grub_module_info struct in memory. Use
22526 the grub_module_info fields instead of calling grub_get_end_addr
22527 as loop conditions. Move grub_add_unused_region code here.
22528 (grub_add_unused_region): Remove function.
22529 * kern/i386/pc/init.c: Include grub/cache.h.
22530 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22531 one call to add_mem_region.
22532 (grub_arch_modules_addr): New function.
22533 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22534 (grub_total_module_size): Likewise.
22535 Include grub/machine/kernel.h.
22536 (grub_arch_modules_addr): New function.
22537 * util/grub-emu.c (grub_end_addr): Remove variable.
22538 (grub_total_module_size): Likewise.
22539 (grub_arch_modules_addr): New function.
22540 * util/misc.c: Include unistd.h.
22541 (grub_util_get_fp_size): New function.
22542 (grub_util_read_at): Likewise.
22543 (grub_util_write_image_at): Likewise.
22544 (grub_util_read_image): Call grub_util_read_at.
22545 (grub_util_write_image): Call grub_util_write_image_at.
22546 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
22547 additional memory in kernel_img for a struct grub_module_info.
22548 Fill in that grub_module_info.
22549 * util/powerpc/ieee1275/grub-mkimage.c: New file.
22550
458786f8 225512005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22552
22553 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
22554 New function.
22555 * include/grub/powerpc/ieee1275/ieee1275.h
22556 (grub_ieee1275_milliseconds): New prototype.
22557 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
22558 Change to 1000.
22559 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
22560 grub_ieee1275_milliseconds.
22561
ac507d1b 225622005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22563
22564 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
22565 variable.
22566 (find_options): New function.
22567 (cmain): Call find_options.
22568 * include/grub/powerpc/ieee1275/ieee1275.h
22569 (grub_ieee1275_realmode): New extern variable.
22570 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
22571 grub_map if grub_ieee1275_realmode is false.
22572
6b8fd1c4 225732004-12-29 Marco Gerards <metgerards@student.han.nl>
22574
22575 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
22576 lines are inserted and make it work like readline. Reported by
22577 Vincent Pelletier <subdino2004@yahoo.fr>.
22578
8514a1e0 225792004-12-28 Marco Gerards <metgerards@student.han.nl>
22580
22581 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
22582
22583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
22584 `kern/powerpc/cache.S'.
22585
924b6140 225862004-12-27 Marco Gerards <metgerards@student.han.nl>
22587
22588 * genmk.rb: Handle the `Program' class in the main loop. Written
22589 by Johan Rydberg <jrydberg@gnu.org>.
22590 (Program): New class.
22591 (programs): New variable.
22592 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
22593 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
22594 instead of "grub/kernel.h". Include <grub/machine/init.h>.
22595 (help_arch): Function removed.
22596 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
22597 `powerpc/libgcc.h' and `loader.h'.
22598 (pkgdata_PROGRAMS): New variable.
22599 (sbin_UTILITIES): Variable removed.
22600 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
22601 (grubof_SOURCES): Variable re-defined so it only includes the
22602 core functionality.
22603 (grubof_CFLAGS): Remove `-DGRUBOF'.
22604 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
22605 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
22606 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
22607 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
22608 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
22609 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
22610 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
22611 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
22612 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
22613 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
22614 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22615 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
22616 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
22617 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
22618 (pc_mod_CFLAGS): New variables.
22619 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
22620 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
22621 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
22622 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
22623 Moved from here...
22624 * include/grub/i386/pc/init.h (grub_os_area_addr)
22625 (rub_os_area_size): ... to here.
22626 * include/grub/powerpc/ieee1275/ieee1275.h
22627 (grub_ieee1275_entry_fn): Export symbol.
22628 * include/grub/powerpc/ieee1275/init.h: New file.
22629 * include/grub/powerpc/libgcc.h: Likewise.
22630 * include/grub/cache.h: Likewise.
22631 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
22632 <hollis@penguinppc.org>.
22633 * kern/dl.c: Include <grub/cache.h>.
22634 (grub_dl_flush_cache): New function.
22635 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
22636 for this module.
22637 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
22638 (grub_console_init): Removed prototypes.
22639 (grub_machine_init): Don't initialize the modules anymore.
22640 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
22641 static.
22642 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
22643 Macro undef removed.
22644 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
22645 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
22646 relocation `R_PPC_REL32'. Return an error when the relocation is
22647 unknown.
22648 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
22649 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
22650 * util/misc.c (grub_arch_sync_caches): Likewise.
22651
e4b47e0c 226522004-12-19 Marco Gerards <metgerards@student.han.nl>
22653
22654 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
22655 `symlist.c', add `grubof_symlist.c'.
22656 (symlist.c): Variable removed.
22657 (grubof_HEADERS): Variable added.
22658 (grubof_symlist.c): New target.
22659 (kernel_syms.lst): Use `grubof_HEADERS' instead of
22660 `kernel_img_HEADERS'.
22661 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
22662 * kern/powerpc/dl.c: New file.
22663 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
22664 Function removed.
22665 (grub_arch_dl_relocate_symbols): Likewise.
22666 (grub_register_exported_symbols): Likewise.
22667
4ceb3636 226682004-12-13 Marco Gerards <metgerards@student.han.nl>
22669
22670 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
22671 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
22672 to fail instead. Reported by Vincent Pelletier
22673 <subdino2004@yahoo.fr>.
22674
22675 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
22676 it is not allocated. Reported by Vincent Pelletier
22677 <subdino2004@yahoo.fr>.
22678
22679 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
22680 output so the output looks better.
f19dbdb7 22681
3f1578fe 226822004-12-04 Marco Gerards <metgerards@student.han.nl>
22683
22684 Modulize the partition map support and add support for the amiga
22685 partition map.
f19dbdb7 22686
3f1578fe 22687 * commands/ls.c: Include <grub/partition.h> instead of
22688 <grub/machine/partition.h>.
22689 * kern/disk.c: Likewise.
22690 * kern/rescue.c: Likewise.
22691 * loader/i386/pc/chainloader.c: Likewise.
22692 * normal/cmdline.c: Likewise.
22693 * kern/powerpc/ieee1275/init.c: Likewise.
22694 (grub_machine_init): Call `grub_pc_partition_map_init',
22695 `grub_amiga_partition_map_init' and
22696 `grub_apple_partition_map_init'.
22697 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
22698 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
22699 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
22700 `partition.h' and `pc_partition.h'.
22701 (grub_setup_SOURCES): Remove
22702 `disk/i386/pc/partition.c'. Add `kern/partition.c',
22703 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22704 (grub_emu_SOURCES): Likewise.
22705 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
22706 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
22707 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
22708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22709 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
22710 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22711 (grubof_SOURCES): Likewise.
22712 * disk/i386/pc/partition.c: File removed.
22713 * disk/powerpc/ieee1275/partition.c: Likewise.
22714 * include/grub/powerpc/ieee1275/partition.h: Likewise.
22715 * include/grub/i386/pc/partition.h: Likewise.
22716 * kern/partition.c: New file.
22717 * partmap/amiga.c: Likewise.
22718 * partmap/apple.c: Likewise.
22719 * partmap/pc.c: Likewise.
22720 * include/grub/partition.h: Likewise..
22721 * include/grub/pc_partition.h: Likewise.
22722 * util/grub-emu.c: Include <grub/partition.h> instead of
22723 <grub/machine/partition.h>.
22724 (main): Call `grub_pc_partition_map_init',
22725 `grub_amiga_partition_map_init' and
22726 `grub_apple_partition_map_init' and deinitialize afterwards.
22727 * util/i386/pc/biosdisk.c: Include `#include
22728 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22729 `<grub/machine/partition.h>'.
22730 * util/i386/pc/grub-setup.c: Likewise.
22731 * util/i386/pc/biosdisk.c: Likewise.
22732 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
22733 partition information in case of a PC partition.
22734 * util/i386/pc/grub-setup.c: Include `#include
22735 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22736 `<grub/machine/partition.h>'.
22737 (setup): Only access the PC specific partition information in case
22738 of a PC partition.
22739
0ef4ced9 227402004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22741
0ef4ced9 22742 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
22743 (grub_longjmp): Likewise.
22744 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
22745 20.
22746 * normal/powerpc/setjmp.S: New file.
22747 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22748 `normal/powerpc/setjmp.S'.
22749 (grubof_CFLAGS): Add `-DGRUBOF'.
22750 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
22751 [GRUB_UTIL && !GRUBOF].
f19dbdb7 22752
19950e29 227532004-11-16 Marco Gerards <metgerards@student.han.nl>
22754
22755 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
22756 property named `name'. Correctly handle the error returned by
22757 `grub_ieee1275_finddevice' if a device can not be opened.
22758
a2fea427 227592004-11-02 Hollis Blanchard <hollis@penguinppc.org>
22760
22761 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
22762 `actual' for negativity.
22763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22764 kern/fshelp.c.
22765
41ea0ea3 227662004-11-01 Marco Gerards <metgerards@student.han.nl>
22767
22768 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
22769 (PAGE_OFFSET): New macro.
22770 (CRTC_ADDR_PORT): Likewise.
22771 (CRTC_DATA_PORT): Likewise.
22772 (START_ADDR_HIGH_REGISTER): Likewise.
22773 (START_ADDR_LOW_REGISTER): Likewise.
22774 (GRAPHICS_ADDR_PORT): Likewise.
22775 (GRAPHICS_DATA_PORT): Likewise.
22776 (READ_MAP_REGISTER): Likewise.
22777 (INPUT_STATUS1_REGISTER): Likewise.
22778 (INPUT_STATUS1_VERTR_BIT): Likewise.
22779 (page): New variable.
22780 (wait_vretrace): New function.
22781 (set_read_map): Likewise.
22782 (set_start_address): Likewise.
22783 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
22784 the right page.
22785 (check_vga_mem): Take the page into account.
22786 (write_char): Likewise.
22787 (write_cursor): Likewise.
22788 (scroll_up): Likewise. Copy the page to the page that is not
22789 shown and switch between both pages.
22790 (grub_vga_putchar): Fix off by one error.
22791 (grub_vga_cls): Wait for the vertical retrace. Take the page into
22792 account.
22793
ad0bd20b 227942004-11-01 Marco Gerards <metgerards@student.han.nl>
22795
22796 Add support for iso9660 (including rockridge).
f19dbdb7 22797
ad0bd20b 22798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22799 (iso9660_mod_SOURCES): New variable.
22800 (iso9660_mod_CFLAGS): Likewise.
22801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22802 * include/grub/fs.h (grub_iso9660_init): New prototype.
22803 * util/grub-emu.c (main): Call `grub_iso9660_init'.
22804 * fs/iso9660.c: New file.
22805
22806 * include/grub/misc.h (grub_strncat): New prototype.
22807 * kern/misc.c (grub_strncat): New function.
f19dbdb7 22808
ad0bd20b 22809 * fs/hfs.c (grub_hfs_mount): Translate the error
22810 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
22811 * fs/jfs.c (grub_jfs_mount): Likewise.
22812 * fs/ufs.c (grub_ufs_mount): Likewise.
22813
a5477a59 228142004-10-28 Hollis Blanchard <hollis@penguinppc.org>
22815
22816 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
22817 which initialized BAT registers.
22818 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
22819 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22820 Move from here...
22821 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
22822 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22823 ... to here.
22824 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
22825 (grub_mapclaim): Likewise.
22826 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
22827 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
22828 hand.
22829
9304c1f8 228302004-10-19 Hollis Blanchard <hollis@penguinppc.org>
22831
22832 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
22833 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
22834 -ffreestanding and -msoft-float.
22835
86f4ae25 228362004-10-15 Hollis Blanchard <hollis@penguinppc.org>
22837
22838 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
22839 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
22840 set in grub_ieee1275_flags.
22841
38912228 228422004-10-14 Hollis Blanchard <hollis@penguinppc.org>
22843
22844 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
22845 prototype.
22846 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
22847 grub_console_init first.
22848 Change the memory range used for grub_ieee1275_claim and
22849 grub_mm_init_region.
22850 Print an error message if the claim fails.
22851 Include <grub/misc.h>.
22852
d1923dc8 228532004-10-13 Hollis Blanchard <hollis@penguinppc.org>
22854
22855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
22856 Call grub_children_iterate for device nodes of type `scsi',
22857 `ide', or `ata'.
22858 (grub_ofdisk_open): Remove manual device alias resolution.
22859 Fix memory leak when device cannot be opened.
f19dbdb7 22860 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 22861 (grub_children_iterate): New prototype.
22862 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
22863 New function.
22864 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22865 Return -1 if args.size was -1.
22866
4512e4f3 228672004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22868
22869 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
22870 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
22871 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
22872 Open Firmware's memory for it; claim memory from _start to _end.
22873 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
22874 (_end): New extern.
22875 (_start): Zero BSS from __bss_start to _end.
22876 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22877 New extern.
22878 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
22879
4d61feb0 228802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
22881
ad0bd20b 22882 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
22883 -1 if args.base was -1.
4d61feb0 22884
026fa2f9 228852004-10-08 Hollis Blanchard <hollis@penguinppc.org>
22886
22887 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
22888 escape sequence instead of a literal ^L. Also call
22889 grub_ofconsole_gotoxy.
22890
9f2220ef 228912004-10-03 Hollis Blanchard <hollis@penguinppc.org>
22892
22893 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
22894 void * arguments to grub_addr_t. All callers updated. Also make
22895 the `result' argument optional.
22896 (grub_ieee1275_release): change void * arguments to grub_addr_t.
22897 All callers updated.
22898
8a572cd7 228992004-09-22 Hollis Blanchard <hollis@penguinppc.org>
22900
22901 * commands/ls.c (grub_ls_list_files): Use the string following the
22902 initial ')', if present, as the filesystem path.
22903 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
22904
22905 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
22906
18aa81f2 229072004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
22908
22909 Make the source code of the menu interface more readable.
f19dbdb7 22910
18aa81f2 22911 * normal/menu.c: Include grub/mm.h.
22912 (TERM_WIDTH): New macro.
22913 (TERM_HEIGHT): Likewise.
22914 (TERM_INFO_HEIGHT): Likewise.
22915 (TERM_MARGIN): Likewise.
22916 (TERM_SCROLL_WIDTH): Likewise.
22917 (TERM_TOP_BORDER_Y): Likewise.
22918 (TERM_LEFT_BORDER_X): Likewise.
22919 (TERM_BORDER_WIDTH): Likewise.
22920 (TERM_MESSAGE_HEIGHT): Likewise.
22921 (TERM_BORDER_HEIGHT): Likewise.
22922 (TERM_NUM_ENTRIES): Likewise.
22923 (TERM_FIRST_ENTRY_Y): Likewise.
22924 (TERM_ENTRY_WIDTH): Likewise.
22925 (TERM_CURSOR_X): Likewise.
22926 (draw_border): Use macros instead of magic numbers.
22927 (print_entry): Likewise.
22928 (print_entries): Likewise.
22929 (run_menu): Likewise. Also, handle the key 'e'.
22930 (run_menu_entry): Ignore empty command lines.
22931 (print_message): Added a new argument EDIT. If EDIT is true,
22932 print a different message.
22933 (init_page): Likewise.
22934 (edit_menu_entry): New function. Not implemented yet.
22935
b47efe30 229362004-09-17 Marco Gerards <metgerards@student.han.nl>
22937
22938 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
22939 can be loaded from normal mode.
f19dbdb7 22940
b47efe30 22941 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
22942 `multiboot.mod'.
22943 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
22944 (multiboot_mod_CFLAGS): New variables.
22945 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 22946 * loader/i386/pc/multiboot_normal.c: Likewise.
22947
b47efe30 22948 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
22949 attribute `unused'.
f19dbdb7 22950
b47efe30 22951 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
22952 `fdiro' to read the mode information from instead of `diro'.
22953
22954 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
22955 looking up a symlink.
22956
22957 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
22958 macro.
22959 * normal/command.c (grub_command_execute): Don't parse the
22960 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
22961 flags of the command.
22962
22963 * normal/menu.c (grub_menu_run): Fix typo.
22964
da75ac71 229652004-09-14 Hollis Blanchard <hollis@penguinppc.org>
22966
22967 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
22968
22969 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
22970 `y + 1' instead of `y - 1'.
22971
22972 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 22973
062b24c2 229742004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
22975
22976 From Hollis Blanchard <hollis@penguinppc.org>:
22977 * kern/misc.c (memmove): New alias for grub_memmove.
22978 (memcmp): New alias for grub_memcmp.
22979 (memset): New alias for grub_memset.
f19dbdb7 22980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 22981 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 22982 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 22983 (grub_ieee1275_get_property): Likewise.
f19dbdb7 22984
8ddad845 229852004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
22986
22987 Added normal mode command `chainloader' as module chain.mod, which
22988 depends on normal.mod and _chain.mod.
f19dbdb7 22989
8ddad845 22990 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
22991 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
22992 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
22993 Deleted prototype.
22994 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
22995 but arguments parsing moved to ...
22996 (grub_chainloader_cmd): ... here. New function.
22997 * include/grub/i386/pc/chainloader.h: New file.
22998 * loader/i386/pc/chainloader_normal.c: Likewise.
22999
2c1f4ce3 230002004-09-11 Marco Gerards <metgerards@student.han.nl>
23001
23002 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23003 (grub_mkimage_LDFLAGS): Likewise.
23004 (grub_emu_SOURCES): Likewise.
23005 (kernel_img_HEADERS): Added fshelp.h.
23006 * fs/ext2.c: Include <grub/fshelp.h>.
23007 (FILETYPE_REG): New macro.
23008 (FILETYPE_INO_REG): Likewise.
23009 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23010 Changed all users.
23011 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23012 all users.
23013 (grub_fshelp_node): New struct.
23014 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23015 to a pointer.
23016 (grub_ext2_get_file_block): Removed function.
23017 (grub_ext2_read_block): New function.
23018 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23019 This function was written.
23020 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23021 (grub_ext2_find_file): Removed function.
23022 (grub_ext2_read_symlink): New function.
23023 (grub_ext2_iterate_dir): Likewise.
23024 (grub_ext2_open): Rewritten.
23025 (grub_ext2_dir): Rewritten.
23026 * include/grub/fshelp.h: New file.
23027 * fs/fshelp.c: Likewise.
23028
3c52136a 230292004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23030
23031 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23032 (print_message): Add a missing newline.
23033 (run_menu): Added timeout support.
23034 (run_menu_entry): New local function.
23035 (grub_menu_run): Added support for booting.
23036
23037 * kern/loader.c (grub_loader_is_loaded): New function.
23038
23039 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23040 (grub_get_rtc): Exported.
23041
23042 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23043 (grub_get_rtc): Exported.
23044
23045 * include/grub/normal.h (struct grub_command_list): Remove
23046 constant from the member `command'.
23047
23048 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23049
23050 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23051
23052 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23053
aa033560 230542004-08-28 Marco Gerards <metgerards@student.han.nl>
23055
23056 Add support for the JFS filesystem.
23057
23058 * fs/jfs.c: New file.
23059 * include/grub/fs.h (grub_jfs_init): New prototype.
23060 (grub_jfs_fini): New prototype.
23061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23062 (grub_emu_SOURCES): Likewise.
23063 (pkgdata_MODULES): Add jfs.mod.
23064 (jfs_mod_SOURCES): New variable.
23065 (jfs_mod_CFLAGS): Likewise.
23066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23067 (grubof_SOURCES): Likewise.
23068 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23069
23070 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23071 endian to the host endian.
23072 (grub_fat_utf16_to_utf8): Move function from there...
23073 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23074 the endianness of the source string anymore.
aa033560 23075 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23076
94bc45af 230772004-08-24 Marco Gerards <metgerards@student.han.nl>
23078
23079 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23080 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23081 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23082 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23083
94bc45af 23084 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23085 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23086 for `node_found' and `it_dir'.
23087 (grub_hfs_dir): Add prototype for `dir_hook'.
23088
23089 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23090 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23091 and `indir32' to silence a gcc warning.
23092
23093 * include/grub/fs.h (grub_hfs_init): New prototype.
23094 (grub_hfs_fini): Likewise.
f19dbdb7 23095
23096
97543f08 230972004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23098
23099 Each disk device has its own id now. This is useful to make use
23100 of multiple disk devices.
f19dbdb7 23101
97543f08 23102 * include/grub/disk.h (grub_disk_dev_id): New enum.
23103 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23104 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23105
23106 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23107 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23108
23109 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23110 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23111
23112 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23113 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23114
23115 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23116 "id" which is used by the cache manager.
23117
23118 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23119 of just "GRUB".
23120
64372eb4 231212004-08-18 Marco Gerards <metgerards@student.han.nl>
23122
23123 * fs/hfs.c: New file.
23124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23125 (grub_emu_SOURCES): Likewise.
23126 (pkgdata_MODULES): Add hfs.mod.
23127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23128 (grubof_SOURCES): Likewise.
23129 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23130
23131 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23132 * kern/misc.c (grub_strncasecmp): Add function.
23133
cc61b58f 231342004-08-14 Marco Gerards <metgerards@student.han.nl>
23135
23136 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23137 with parentheses.
23138
23139 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23140 (grub_ext2_dir): In case the directory entry type is unknown, read
23141 it from the inode.
23142
0ef123f6 231432004-08-02 Peter Bruin <pjbruin@dds.nl>
23144
23145 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23146 grub_load_linux instead of grub_rescue_cmd_linux as second
23147 argument of grub_rescue_register_command.
23148
23149 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23150
a447c5df 231512004-07-27 Marco Gerards <metgerards@student.han.nl>
23152
23153 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23154 function.
23155 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23156 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23157 `loader/powerpc/ieee1275/linux.c',
23158 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23159 * include/grub/powerpc/ieee1275/ieee1275.h
23160 (grub_ieee1275_release): New prototype.
23161 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23162 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23163 normal, boot, linux and linux_normal.
23164 * loader/powerpc/ieee1275/linux.c: New file.
23165 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23166
5a9e3546 231672004-07-12 Marco Gerards <metgerards@student.han.nl>
23168
23169 * normal/arg.c (grub_arg_parse): Correct error handling after
23170 reallocating the argumentlist (check if `argl' is not null instead
23171 of checking if `args' is not null).
23172 * kern/mm.c (grub_realloc): Return the same pointer when using the
23173 same region, instead of returning the header address.
23174
e15199cb 231752004-07-11 Marco Gerards <metgerards@student.han.nl>
23176
23177 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23178 one block instead of two when looking for the initial partition.
23179 (grub_partition_probe): Initialize the local variable `p' with 0.
23180 Use base 10 for the grub_strtoul call.
23181 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23182 need for one local variable.
23183 (grub_strtoul): Don't add the new value to `num', instead of that
23184 just assign it.
23185
020616c2 231862004-07-11 Marco Gerards <metgerards@student.han.nl>
23187
23188 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23189 (pxeboot_img_SOURCES): New variable.
23190 (pxeboot_img_ASFLAGS): Likewise.
23191 (pxeboot_img_LDFLAGS): Likewise.
23192 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23193 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23194 <lode_leroy@hotmail.com>.
23195
6c51eb64 231962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23197
23198 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23199 there was no input.
23200
cfb12aff 232012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23202
23203 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23204 the history buffer logic.
23205
6eabba74 232062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23207
23208 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23209 (FILETYPE_INO_SYMLINK): New macros.
23210 (grub_ext2_find_file): Check if the node is a directory using the
23211 inode stat information instead of using the filetype in the
23212 dirent. Exclude the first character of an absolute symlink.
23213 (grub_ext2_dir): Mask out the filetype part of the mode member of
23214 the inode.
23215
66e19ef8 232162004-05-24 Marco Gerards <metgerards@student.han.nl>
23217
23218 Add support for UFS version 1 and 2. Add support for the minix
23219 filesystem version 1 and 2, both the variants with 14 and 30 long
23220 filenames.
f19dbdb7 23221
66e19ef8 23222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23223 fs/minix.c.
23224 (grub_emu_SOURCES): Likewise.
23225 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23226 (ufs_mod_SOURCES): New variable.
23227 (ufs_mod_CFLAGS): Likewise.
23228 (minix_mod_SOURCES): Likewise.
23229 (minix_mod_CFLAGS): Likewise.
23230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23231 fs/minix.c.
23232 (grubof_SOURCES): Likewise.
23233 * fs/ufs.c: New file.
23234 * fs/minix.c: New file.
23235 * include/grub/fs.h (grub_ufs_init): New prototype.
23236 (grub_ufs_fini): Likewise.
23237 (grub_minix_init): Likewise.
23238 (grub_minix_fini): Likewise.
23239 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23240 minix fs.
23241
cc2e748a 232422004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23243
23244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23245 commands/ls.c, commands/terminal.c, commands/boot.c,
23246 commands/cmp.c and commands/cat.c.
23247 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23248
23249 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23250 "env.h"
23251
4b13b216 232522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23253
23254 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23255 and grub_, respectively. Because the conversion is trivial and
23256 mechanical, I omit the details here. Please refer to the CVS
23257 if you need more information.
23258
6a142551 232592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23260
23261 * include/pupa: Renamed to ...
23262 * include/grub: ... this.
23263 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23264 * util/i386/pc/grub-mkimage.c: ... this.
23265 * util/i386/pc/pupa-setup.c: Renamed to ...
23266 * util/i386/pc/grub-setup.c: ... this.
23267 * util/pupa-emu.c: Renamed to ...
23268 * util/grub-emu.c: ... this.
23269
e56cdf21 232702004-03-29 Marco Gerards <metgerards@student.han.nl>
23271
23272 Add support for the newworld apple macintosh (PPC). This has been
23273 tested on the powerbook 2000 only. It only adds support for
23274 generic ieee1275 functions, console and disk support. This should
23275 be easy to port to other architectures with support for Open
23276 Firmware.
f19dbdb7 23277
e56cdf21 23278 * configure.ac: Accept the powerpc as host_cpu. In the case of
23279 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23280 specific tests are only executed while building for the i386.
23281 Inverse test for crosscompile.
23282 * genmk.rb (Utility): Allow assembler files.
23283 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23284 * conf/powerpc-ieee1275.rmk: New file.
23285 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23286 * disk/powerpc/ieee1275/partition.c: Likewise.
23287 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23288 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23289 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23290 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23291 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23292 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23293 * include/pupa/powerpc/ieee1275/loader.h
23294 * include/pupa/powerpc/setjmp.h: Likewise.
23295 * include/pupa/powerpc/types.h: Likewise.
23296 * kern/powerpc/ieee1275/init.c: Likewise.
23297 * kern/powerpc/ieee1275/openfw.c: Likewise.
23298 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23299
23300 These files were written by Johan Rydberg
23301 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23302
e56cdf21 23303 * boot/powerpc/ieee1275/cmain.c: New file.
23304 * boot/powerpc/ieee1275/crt0.S: Likewise.
23305 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23306 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23307
8c8cc205 233082004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23309
23310 * Makefile.in: Update copyright.
23311 * genmodsrc.sh: Likewise.
23312 * gensymlist.sh: Likewise.
23313 * term/i386/pc/vga.c: Indent correctly.
23314
23315 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23316 bugreporting address.
23317 * util/i386/pc/pupa-setup.c (usage): Likewise,
23318 (main): Call pupa_ext2_init and pupa_ext2_fini.
23319
f19dbdb7 23320 * fs/fat.c (log2): Renamed to ...
8c8cc205 23321 (fat_log2): ... this.
23322 All callers changed.
23323 * kern/misc.c (memcpy): Alias to pupa_memmove.
23324 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23325 lvalue cast.
23326 * util/console.c (pupa_ncurses_fini): Return 0.
23327
23328 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23329 Move fail label here.
23330 [__GNU__]: Don't warn when using stat.
23331 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23332 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23333 long int. Use strtol instead of strtoul.
f19dbdb7 23334
db1771cf 233352004-03-14 Marco Gerards <metgerards@student.han.nl>
23336
23337 * commands/boot.c: New file.
23338 * commands/cat.c: Likewise.
23339 * commands/cmp.c: Likewise.
23340 * commands/ls.c: Likewise.
23341 * commands/terminal.c: Likewise.
23342 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23343 (pupa_register_command): Changed interface to match the new
23344 argument parser.
23345 (pupa_command_execute): Changed (almost rewritten) so it uses
23346 pupa_split_command. Added support for setting variables using the
23347 syntax `foo=bar'.
23348 (rescue_command): Changed to work with the new argument parser.
23349 (terminal_command): Moved from here to commands/terminal.c.
23350 (set_command): New function.
23351 (unset_command): New function.
23352 (insmod_command): New function.
23353 (rmmod_command): New function.
23354 (lsmod_command): New function.
23355 (pupa_command_init): Don't initialize the command terminal
23356 anymore. Initialize the commands set, unset, insmod, rmmod and
23357 lsmod.
23358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23359 (kernel_img_HEADERS): Add arg.h and env.h.
23360 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23361 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23362 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23363 normal/arg.c.
23364 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23365 terminal.mod.
23366 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23367 (boot_mod_SOURCES): New variable.
23368 (terminal_mod_SOURCES): Likewise.
23369 (ls_mod_SOURCES): Likewise.
23370 (cmp_mod_SOURCES): Likewise.
23371 (cat_mod_SOURCES): Likewise.
23372
23373 * normal/arg.c: New file.
23374 * kern/env.c: Likewise.
23375 * include/pupa/arg.h: Likewise.
23376 * include/pupa/env.h: Likewise.
23377 * font/manager.c (font_command): Changed to match argument parsing
23378 interface changes.
23379 (PUPA_MOD_INIT): Likewise.
23380 * hello/hello.c (pupa_cmd_hello): Likewise.
23381 (PUPA_MOD_INIT): Likewise.
23382 * include/pupa/disk.h: Include <pupa/device.h>.
23383 (pupa_print_partinfo): New prototype.
23384 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23385 (pupa_dl_get_prefix): Likewise.
23386 * include/pupa/misc.h: Include <pupa/err.h>.
23387 (pupa_isgraph): New prototype.
23388 (pupa_isdigit): Likewise.
23389 (pupa_split_cmdline): Likewise.
23390 * include/pupa/normal.h: Include <pupa/arg.h>.
23391 (pupa_command): Changed the prototype of the member `func' to
23392 match the argument parsing interface. Added member `options'.
23393 (pupa_register_command): Updated to match function.
23394 (pupa_arg_parse): New prototype.
23395 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23396 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23397 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23398 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23399 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23400 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23401 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23402 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23403 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23404 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23405 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23406 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23407 * kern/disk.c: Include <pupa/file.h>.
23408 (pupa_print_partinfo): New function.
23409 * kern/dl.c: Include <pupa/env.h>.
23410 (pupa_dl_dir): Variable removed.
23411 (pupa_dl_load): Use the environment variable `prefix' instead of
23412 the variable pupa_dl_dir.
23413 (pupa_dl_set_prefix): Function removed.
23414 (pupa_dl_get_prefix): Likewise.
23415 * kern/i386/pc/init.c: Include <pupa/env.h>.
23416 (pupa_machine_init): Use the environment variable `prefix' instead of
23417 using pupa_dl_set_prefix to set the prefix.
23418 * kern/main.c: Include <pupa/env.h>.
23419 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23420 using pupa_dl_get_prefix to get the prefix.
23421 * kern/misc.c: Include <pupa/env.h>.
23422 (pupa_isdigit): New function.
23423 (pupa_isgraph): Likewise.
23424 (pupa_ftoa): Likewise.
23425 (pupa_vsprintf): Added support for printing values of the type
23426 `double'. Make it possible to format variable output when using
23427 formatting like `%1.2%f'.
23428 (pupa_split_cmdline): New function.
23429 * kern/rescue.c: Include <pupa/env.h>.
23430 (next_word): Removed function.
23431 (pupa_rescue_cmd_prefix): Likewise.
23432 (pupa_rescue_cmd_set): New function.
23433 (pupa_rescue_cmd_unset): New function.
23434 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23435 split the command line instead of splitting it here. Added
23436 support for setting variables using the syntax `foo=bar'. Don't
23437 initialize the prefix command anymore. Initialized the set and
23438 unset commands.
23439 * normal/cmdline.c: Include <pupa/env.h>.
23440 (pupa_tab_complete): Added prototypes for print_simple_completion,
23441 print_partition_completion, add_completion, iterate_commands,
23442 iterate_dev, iterate_part and iterate_dir. Moved code to print
23443 partition information from here to kern/disk.c.
fe6b695a 23444 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23445 * normal/main.c: Include <pupa/env.h>.
23446 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23447 instead of using pupa_dl_get_prefix to get the prefix.
23448 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23449 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23450 warning.
23451 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23452 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23453 ((unused))' to silence a gcc warning.
23454 (pupa_vga_setcolor): Likewise.
23455 (debug_command): Changed to match argument parsing
23456 interface changes.
23457 * util/pupa-emu.c: Include <pupa/env.h>.
23458 (options): Added 0's for unused fields to silence a gcc warning.
23459 (argp): Likewise.
23460 (main): Use the environment variable `prefix' instead of using
23461 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23462 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23463 and terminal.
23464
23465 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23466 * util/misc.c: Include <malloc.h>.
23467 (pupa_malloc): Rewritten so errors are correctly reported.
23468 (pupa_realloc): Likewise.
23469 (pupa_memalign): Likewise.
23470 (pupa_mm_init_region): Declare unused variables with
23471 `__attribute__ ((unused))' to silence a gcc warning.
23472 * normal/i386/setjmp.S: Remove tab at the end of the file to
23473 silence a gcc warning.
23474 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23475 variables with `__attribute__ ((unused))' to silence a gcc
23476 warning.
23477 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23478 local variable i unsigned to silence a gcc warning.
23479
23480 * kern/term.c: Include <pupa/misc.h>.
23481 (pupa_more_lines): New variable.
23482 (pupa_more): Likewise.
23483 (pupa_putcode): When the pager is active pause at the end of every
23484 screen.
23485 (pupa_set_more): New function.
23486 * include/pupa/term.h (pupa_set_more): New prototype.
23487
23488
3b1139cb 234892004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23490
23491 Now this project is GRUB 2 rather than PUPA. The location of
23492 the CVS repository was moved to GRUB's.
f19dbdb7 23493
3b1139cb 23494 * configure.ac: Use bug-grub as the reporting address.
23495 Use GRUB instead of PUPA.
23496 Change the version number to 1.90.
23497
8367695c 234982004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23499
23500 * genkernsyms.sh: Updated copyright information.
23501 * genmk.rb: Likewise.
23502 * genmodsrc.sh: Likewise.
23503 * gensymlist.sh: Likewise.
23504 * boot/i386/pc/boot.S: Likewise.
23505 * boot/i386/pc/diskboot.S: Likewise.
23506 * disk/i386/pc/biosdisk.c: Likewise.
23507 * disk/i386/pc/partition.c: Likewise.
23508 * font/manager.c: Likewise.
23509 * fs/ext2.c: Likewise.
23510 * fs/fat.c: Likewise.
23511 * include/pupa/boot.h: Likewise.
23512 * include/pupa/device.h: Likewise.
23513 * include/pupa/disk.h: Likewise.
23514 * include/pupa/dl.h: Likewise.
23515 * include/pupa/elf.h: Likewise.
23516 * include/pupa/err.h: Likewise.
23517 * include/pupa/file.h: Likewise.
23518 * include/pupa/font.h: Likewise.
23519 * include/pupa/fs.h: Likewise.
23520 * include/pupa/kernel.h: Likewise.
23521 * include/pupa/loader.h: Likewise.
23522 * include/pupa/misc.h: Likewise.
23523 * include/pupa/mm.h: Likewise.
23524 * include/pupa/net.h: Likewise.
23525 * include/pupa/normal.h: Likewise.
23526 * include/pupa/rescue.h: Likewise.
23527 * include/pupa/setjmp.h: Likewise.
23528 * include/pupa/symbol.h: Likewise.
23529 * include/pupa/term.h: Likewise.
23530 * include/pupa/types.h: Likewise.
23531 * include/pupa/i386/setjmp.h: Likewise.
23532 * include/pupa/i386/types.h: Likewise.
23533 * include/pupa/i386/pc/biosdisk.h: Likewise.
23534 * include/pupa/i386/pc/boot.h: Likewise.
23535 * include/pupa/i386/pc/console.h: Likewise.
23536 * include/pupa/i386/pc/init.h: Likewise.
23537 * include/pupa/i386/pc/kernel.h: Likewise.
23538 * include/pupa/i386/pc/linux.h: Likewise.
23539 * include/pupa/i386/pc/loader.h: Likewise.
23540 * include/pupa/i386/pc/memory.h: Likewise.
23541 * include/pupa/i386/pc/multiboot.h: Likewise.
23542 * include/pupa/i386/pc/partition.h: Likewise.
23543 * include/pupa/i386/pc/time.h: Likewise.
23544 * include/pupa/i386/pc/vga.h: Likewise.
23545 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
23546 * include/pupa/util/getroot.h: Likewise.
23547 * include/pupa/util/misc.h: Likewise.
23548 * include/pupa/util/resolve.h: Likewise.
23549 * kern/device.c: Likewise.
23550 * kern/disk.c: Likewise.
23551 * kern/dl.c: Likewise.
23552 * kern/err.c: Likewise.
23553 * kern/file.c: Likewise.
23554 * kern/fs.c: Likewise.
23555 * kern/loader.c: Likewise.
23556 * kern/main.c: Likewise.
23557 * kern/misc.c: Likewise.
23558 * kern/mm.c: Likewise.
23559 * kern/rescue.c: Likewise.
23560 * kern/term.c: Likewise.
23561 * kern/i386/dl.c: Likewise.
23562 * kern/i386/pc/init.c: Likewise.
23563 * kern/i386/pc/lzo1x.S: Likewise.
23564 * kern/i386/pc/startup.S: Likewise.
23565 * loader/i386/pc/chainloader.c: Likewise.
23566 * loader/i386/pc/linux.c: Likewise.
23567 * loader/i386/pc/multiboot.c: Likewise.
23568 * normal/cmdline.c: Likewise.
23569 * normal/command.c: Likewise.
23570 * normal/main.c: Likewise.
23571 * normal/menu.c: Likewise.
23572 * normal/i386/setjmp.S: Likewise.
23573 * term/i386/pc/console.c: Likewise.
23574 * term/i386/pc/vga.c: Likewise.
23575 * util/console.c: Likewise.
23576 * util/genmoddep.c: Likewise.
23577 * util/misc.c: Likewise.
23578 * util/pupa-emu.c: Likewise.
23579 * util/resolve.c: Likewise.
23580 * util/unifont2pff.rb: Likewise.
23581 * util/i386/pc/biosdisk.c: Likewise.
23582 * util/i386/pc/getroot.c: Likewise.
23583 * util/i386/pc/pupa-mkimage.c: Likewise.
23584 * util/i386/pc/pupa-setup.c: Likewise.
23585
e6eced71 235862004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
23587
23588 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
23589 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
23590 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
23591 reading and reset it after reading.
23592 (pupa_ext2_close): Return PUPA_ERR_NONE.
23593
23594 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
23595 Correct value.
23596 (struct linux_kernel_header): Add kernel_version and
23597 initrd_addr_max.
23598 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
23599 pupa_file_read succeeds.
23600 (pupa_rescue_cmd_initrd): Implement.
23601
5aded270 236022003-12-03 Marco Gerards <metgerards@student.han.nl>
23603
23604 * fs/ext2.c (pupa_ext2_label): New function.
23605 (pupa_ext2_fs): Added label.
23606 * fs/fat.c (pupa_fat_label): New function.
23607 (pupa_fat_fs): Added label.
23608 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
23609
23610 * kern/misc.c (pupa_strndup): New function.
23611 * include/pupa/misc.h (pupa_strndup): New prototype.
23612
23613 * include/pupa/normal.h: Include <pupa/err.h>.
23614 (pupa_set_history): New prototype.
23615 (pupa_iterate_commands): New prototype.
23616 * normal/cmdline.c: Include <pupa/machine/partition.h>,
23617 <pupa/disk.h>, <pupa/file.h>.
23618 (hist_size): New variable.
23619 (hist_lines): Likewise.
23620 (hist_end): Likewise.
23621 (hist_used): Likewise.
23622 (pupa_set_history): New function.
23623 (pupa_history_get): Likewise.
23624 (pupa_history_add): Likewise.
23625 (pupa_history_replace): Likewise.
23626 (pupa_tab_complete): Likewise.
23627 (pupa_cmdline_run): Added tab completion and history buffer. Tab
23628 completion shows partitionnames while completing partitions, this
23629 feature was suggested by Jeff Bailey.
23630 * normal/command.c (pupa_iterate_commands): New function.
23631 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
23632 (pupa_normal_init): Initialize history buffer.
23633 (PUPA_MOD_INIT): Likewise.
23634 (pupa_normal_fini): Free the history buffer.
23635 (PUPA_MOD_FINI): Likewise.
23636
23637 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
23638 key.
23639
23640 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
23641 * configure.ac [i386]: Check for regparam bug.
23642 (NESTED_FUNC_ATTR) [! i386]: Defined.
23643
1f7315a3 236442003-11-17 Marco Gerards <metgerards@student.han.nl>
23645
23646 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
23647 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
23648 (pupa_emu_SOURCES): New variable.
23649 (pupa_emu_LDFLAGS): Likewise.
23650 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
23651 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
23652 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
23653 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23654 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
23655 (pupa_jmp_buf): New typedef.
23656 (pupa_setjmp) [PUPA_UTIL]: New macro.
23657 (pupa_longjmp) [PUPA_UTIL]: Likewise.
23658 * include/pupa/term.h (struct pupa_term): New member `refresh'.
23659 (pupa_refresh): New prototype.
23660 * include/pupa/util/getroot.h: New file.
23661 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
23662 it.
23663 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
23664 (pupa_rescue_cmd_cat): Likewise.
23665 (pupa_rescue_cmd_ls): Likewise.
23666 (pupa_rescue_cmd_testload): Likewise.
23667 (pupa_rescue_cmd_lsmod): Likewise.
23668 * normal/cmdline.c (pupa_cmdline_get): Likewise.
23669 * normal/menu.c (run_menu): Likewise.
23670 * kern/term.c (pupa_cls): Likewise.
23671 (pupa_refresh): New function.
23672 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
23673 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23674 * util/console.c: New file.
f19dbdb7 23675
1f7315a3 23676 * util/i386/pc/getroot.c: New file.
23677 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
23678 (pupa_putchar): New function.
23679 (pupa_refresh): Likewise.
23680 (xgetcwd): Function moved to ...
23681 (strip_extra_slashes): Likewise.
23682 (get_prefix): Likewise.
f19dbdb7 23683 * util/i386/pc/getroot.c: ... here.
1f7315a3 23684 (find_root_device): Function moved and renamed to...
23685 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
23686 Changed all callers.
23687 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
23688 and renamed to...
23689 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
23690 Changed all callers.
23691 * util/misc.c (pupa_memalign): New function.
23692 (pupa_mm_init_region): Likewise.
23693 (pupa_register_exported_symbols): Likewise.
23694 (pupa_putchar): Function removed.
23695 * util/pupa-emu.c: New file.
23696
9a5c1ade 236972003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
23698
23699 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
23700 (_multiboot_mod_SOURCES): New variable.
23701 (_multiboot_mod_CFLAGS): Likewise.
23702 * loader/i386/pc/multiboot.c: New file.
23703 * include/pupa/i386/pc/multiboot.h: Likewise.
23704 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
23705 (pupa_multiboot_real_boot): New function.
23706 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
23707 (pupa_multiboot_real_boot): New prototype.
23708 (pupa_rescue_cmd_multiboot): Likewise
23709 (pupa_rescue_cmd_module): Likewise.
23710
23711 * kern/loader.c (pupa_loader_set): Continue when
23712 pupa_loader_unload_func() fails.
23713 (pupa_loader_unset): New function.
23714 * include/pupa/loader.h (pupa_loader_unset): New prototype.
23715
23716 * kern/misc.c (pupa_stpcpy): New function.
23717 * include/pupa/misc.h (pupa_stpcpy): New prototype.
23718
8e72a9c0 237192003-11-12 Marco Gerards <metgerards@student.han.nl>
23720
23721 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
23722 for available extensions.
23723
23724 * include/pupa/i386/pc/time.h: New file.
23725 * kern/disk.c: Include <pupa/machine/time.h>.
23726 (PUPA_CACHE_TIMEOUT): New macro.
23727 (pupa_last_time): New variable.
23728 (pupa_disk_open): Flush the cache when there was a timeout.
23729 (pupa_disk_close): Reset the timer.
23730 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
23731 pupa_currticks.
23732 * util/misc.c: Include <sys/times.h>
23733 (pupa_get_rtc): New function.
23734
c4adbd32 237352003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23736
23737 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
23738 as blocks.
23739 (pupa_ext2_get_file_block): Use blocks member.
23740
23741 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
23742 first block. Return -1 instead of pupa_errno on error.
23743
bfd30f06 237442003-10-27 Marco Gerards <metgerards@student.han.nl>
23745
23746 * README: In the pupa-mkimage example use _chain instead of chain
23747 and ext2 instead of fat.
23748 * TODO: Replace ext2fs with jfs as an example. Add an item for
23749 adding journal playback for ext2fs.
23750 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
23751 (pkgdata_MODULES): Added ext2.mod.
23752 (ext2_mod_SOURCES): New variable.
23753 (ext2_mod_CFLAGS): Likewise.
23754 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
23755 * include/pupa/misc.h (pupa_strncpy): New prototype.
23756 (pupa_strcat): Likewise.
23757 (pupa_strncmp): Likewise.
23758 * kern/misc.c (pupa_strcat): Enable function.
23759 (pupa_strncpy): New function.
23760 (pupa_strncmp): Likewise.
23761 * fs/ext2.c: New file.
f19dbdb7 23762
bfd30f06 23763 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
23764 when the read failed before retrying.
23765 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
23766 (_FILE_OFFSET_BITS): Likewise.
23767 * configure.ac: Added AC_SYS_LARGEFILE.
23768
98d15063 237692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23770
23771 * genmk.rb (PModule#rule): Make sure to get only symbol names
23772 from the output of nm.
23773 Reported by Robert Millan <zeratul2@wanadoo.es>.
23774
18d9c7cd 237752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23776
23777 I forgot to check in these changes for a long time. This adds
23778 incomplete support for VGA console, and this is still very
23779 buggy. Also, a lot of consideration is required for I18N,
23780 UNICODE, and VGA font issues. Therefore, assume that this is
23781 such that "better than nothing".
f19dbdb7 23782
18d9c7cd 23783 * font/manager.c: New file.
23784 * include/pupa/font.h: Likewise.
23785 * include/pupa/i386/pc/vga.h: Likewise.
23786 * term/i386/pc/vga.c: Likewise.
23787 * util/unifont2pff.rb: Likewise.
23788
23789 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
23790 (pkgdata_MODULES): Added vga.mod and font.mod.
23791 (vga_mod_SOURCES): New variables.
23792 (vga_mod_CFLAGS): Likewise.
23793 (font_mod_SOURCES): Likewise.
23794 (font_mod_CFLAGS): Likewise.
23795
23796 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
23797
23798 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 23799 (struct pupa_term): Added init and fini.
18d9c7cd 23800 Changed the argument of putchar to pupa_uint32_t.
23801
23802 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
23803 (pupa_console_real_putchar): New prototype.
23804 (pupa_console_putchar): Removed.
23805 (pupa_console_checkkey): Exported.
23806 (pupa_console_getkey): Likewise.
23807
23808 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
23809 characters.
23810
23811 * kern/term.c (pupa_term_set_current): Rewritten.
23812 (pupa_putchar): Likewise.
23813 (pupa_putcode): New function.
23814
23815 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
23816 (pupa_console_real_putchar): ... this.
23817 (pupa_vga_set_mode): New function.
23818 (pupa_vga_get_font): Likewise.
23819
23820 * normal/command.c: Include pupa/term.h.
23821 (terminal_command): New function.
23822 (pupa_command_init): Register the command "terminal".
23823
23824 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
23825 (DISP_UP): Likewise.
23826 (DISP_RIGHT): Likewise.
23827 (DISP_DOWN): Likewise.
23828 (DISP_HLINE): Likewise.
23829 (DISP_VLINE): Likewise.
23830 (DISP_UL): Likewise.
23831 (DISP_UR): Likewise.
23832 (DISP_LL): Likewise.
23833 (DISP_LR): Likewise.
23834
23835 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 23836
977329f5 238372003-02-08 NIIBE Yutaka <gniibe@m17n.org>
23838
23839 * util/resolve.c (pupa_util_resolve_dependencies): BUG
23840 FIX. Reverse the path_list.
23841
23842 * include/pupa/normal.h: Export pupa_register_command and
23843 pupa_unregister_command.
23844
23845 * hello/hello.c (pupa_cmd_hello): New module.
23846 * conf/i386-pc.rmk: Added hello.mod.
23847
1f5ab428 238482003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
23849
23850 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 23851
1f5ab428 23852 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
23853 (compress_kernel): New variable.
23854 (generate_image): Heavily modified to support compressing a
23855 large part of the core image.
23856
23857 * util/misc.c (pupa_util_read_image): Fix a file descriptor
23858 leak.
23859 (pupa_util_load_image): New function.
23860
23861 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
23862 (pupa_compressed_size): New variable.
23863 (codestart): Enable Gate A20 here.
23864 Decompress the compressed part of the core image.
23865 Rearrange the code to put functions and variables which are
23866 required for initialization in the non-compressed part.
23867 Include lzo1x.S.
23868
23869 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
23870 here.
23871
23872 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
23873
f19dbdb7 23874 * include/pupa/i386/pc/kernel.h
1f5ab428 23875 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
23876 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
23877 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
23878 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
23879 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
23880
23881 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
23882
23883 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
23884 (Utility#rule): Likewise.
23885
23886 * configure.ac: Check if LZO is available.
23887
ce5bf700 238882003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
23889
23890 * include/pupa/normal.h: New file.
23891 * include/pupa/setjmp.h: Likewise.
23892 * include/pupa/i386/setjmp.h: Likewise.
23893 * normal/cmdline.c: Likewise.
23894 * normal/command.c: Likewise.
23895 * normal/main.c: Likewise.
23896 * normal/menu.c: Likewise.
23897 * normal/i386/setjmp.S: Likewise.
f19dbdb7 23898
ce5bf700 23899 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
23900 (pupa_rescue_cmd_initrd): Likewise.
23901
23902 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
23903 Likewise.
23904
23905 * kern/i386/pc/startup.S (translation_table): New variable.
23906 (translate_keycode): New function.
23907 (pupa_console_getkey): Call translate_keycode.
23908
23909 * kern/rescue.c (attempt_normal_mode): New function.
23910 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
23911 it failed, print a message.
23912
23913 * kern/mm.c (pupa_real_malloc): Print more information when a
23914 free magic is broken.
23915 (pupa_free): If the first free header is not free actually, set
23916 it to P.
23917
23918 * kern/main.c (pupa_load_normal_mode): Just load the module
23919 "normal".
23920 (pupa_main): Don't print the message
23921 "Entering into rescue mode..." here.
23922
23923 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
23924 Declared.
23925 (pupa_rescue_cmd_initrd): Likewise.
23926 (pupa_rescue_cmd_initrd): Likewise.
23927
23928 * include/pupa/symbol.h (FUNCTION): Specify the type.
23929 (VARIABLE): Likewise.
23930
23931 * include/pupa/err.h (pupa_err_t): Added
23932 PUPA_ERR_UNKNOWN_COMMAND.
23933
23934 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
23935 (pupa_dl_get_prefix): Likewise.
23936
23937 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
23938 Added _chain.mod and _linux.mod instead of chain.mod and
23939 linux.mod.
23940 (chain_mod_SOURCES): Renamed to ...
23941 (_chain_mod_SOURCES): ... this.
23942 (chain_mod_CFLAGS): Renamed to ...
23943 (_chain_mod_CFLAGS): ... this.
23944 (linux_mod_SOURCES): Renamed to ...
23945 (_linux_mod_SOURCES): ... this.
23946 (linux_mod_CFLAGS): Renamed to ...
23947 (_linux_mod_CFLAGS): ... this.
23948 (normal_mod_SOURCES): New variable.
23949 (normal_mod_CFLAGS): Likewise.
23950 (normal_mod_ASFLAGS): Likewise.
23951
239522003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
23953
23954 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
23955 possible.
23956
fe6b695a 23957 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 23958 recursively.
23959 (pupa_dl_unref): Unrefer depending modules recursively.
23960 Don't call pupa_dl_unload implicitly, because PUPA can crash if
23961 a module is unloaded before one depending on that module is
23962 unloaded.
23963 (pupa_dl_unload): Unload depending modules explicitly,
23964 if possible.
23965
c04da074 239662003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
23967
23968 * include/pupa/i386/pc/linux.h: New file.
23969 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 23970
c04da074 23971 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
23972 Removed.
23973 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
23974 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
23975 of PUPA_CHAINLOADER_BOOT_SECTOR.
23976
23977 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
23978 (pupa_linux_prot_size): New variable.
23979 (pupa_linux_tmp_addr): Likewise.
23980 (pupa_linux_real_addr): Likewise.
23981 (pupa_linux_boot_zimage): New function.
23982 (pupa_linux_boot_bzimage): Likewise.
23983
23984 * kern/i386/pc/init.c (struct mem_region): New structure.
23985 (MAX_REGIONS): New macro.
23986 (mem_regions): New variable.
23987 (num_regions): Likewise.
23988 (pupa_os_area_addr): Likewise.
23989 (pupa_os_area_size): Likewise.
23990 (pupa_lower_mem): Likewise.
23991 (pupa_upper_mem): Likewise.
23992 (add_mem_region): New function.
23993 (compact_mem_regions): Likewise.
23994 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
23995 the size of the conventional memory and that of so-called upper
23996 memory (before the first memory hole).
23997 Instead of adding each found region to free memory, use
23998 add_mem_region and add them after removing overlaps.
23999 Also, add only 1/4 of the upper memory to free memory. The rest
24000 is used for loading OS images. Maybe this is ad hoc, but this
24001 makes it much easier to relocate OS images when booting.
24002
24003 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24004 (pupa_enter_rescue_mode): Don't register initrd and module.
24005
24006 * kern/mm.c: Include pupa/dl.h.
24007
24008 * kern/main.c: Include pupa/file.h and pupa/device.h.
24009
24010 * kern/loader.c (pupa_loader_load_module_func): Removed.
24011 (pupa_loader_load_module): Likewise.
24012
24013 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24014 ``.o''.
24015
24016 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24017 (pupa_linux_tmp_addr): Likewise.
24018 (pupa_linux_real_addr): Likewise.
24019 (pupa_linux_boot_zimage): Likewise.
24020 (pupa_linux_boot_bzimage): Likewise.
24021
24022 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24023 (pupa_upper_mem): Likewise.
24024 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24025 module is too dangerous.
24026
24027 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24028 (pupa_os_area_size): Likewise.
24029 (pupa_loader_set): Remove the first argument. Loader doesn't
24030 manage modules or initrd any longer.
24031 (pupa_loader_load_module): Removed.
24032
24033 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24034 (linux_mod_SOURCES): New variable.
24035 (linux_mod_CFLAGS): Likewise.
24036
a13f9237 240372003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24038
24039 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24040 the length of a blocklist correctly.
24041
24042 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24043 Use ioctl only if the OS file is a block device.
24044 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24045 not very useful for normal files.
24046
24047 * kern/main.c (pupa_set_root_dev): New function.
24048 (pupa_load_normal_mode): Likewise.
24049 (pupa_main): Call those above.
24050
24051 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24052 pupa_uint16_t.
24053
24054 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24055
a5ffe966 240562003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24057
24058 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24059 (setup): Configure the installed partition information and the
24060 dl prefix.
24061
24062 * loader/i386/pc/chainloader.c (my_mod): New variable.
24063 (pupa_chainloader_unload): New function.
24064 (pupa_rescue_cmd_chainloader): Refer itself.
24065 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24066
24067 * kern/i386/pc/startup.S (install_partition): Removed.
24068 (version_string): Likewise.
24069 (config_file): Likewise.
24070 (pupa_install_dos_part): New variable.
24071 (pupa_install_bsd_part): Likewise.
24072 (pupa_prefix): Likewise.
24073 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24074
24075 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24076 and pupa/misc.h.
24077 (make_install_device): New function.
24078 (pupa_machine_init): Set the dl prefix.
24079
24080 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24081 (buf): Renamed to ...
24082 (linebuf): ... this.
24083 (pupa_rescue_cmd_prefix): New function.
24084 (pupa_rescue_cmd_insmod): Likewise.
24085 (pupa_rescue_cmd_rmmod): Likewise.
24086 (pupa_rescue_cmd_lsmod): Likewise.
24087 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24088 rmmod and lsmod.
24089
24090 * kern/mm.c (pupa_memalign): If failed even after invalidating
24091 disk caches, unload unneeded modules and retry.
24092
24093 * kern/misc.c (pupa_memmove): New function.
24094 (pupa_memcpy): Removed.
24095 (pupa_strcpy): New function.
24096 (pupa_itoa): Made static.
24097
24098 * kern/dl.c (pupa_dl_iterate): New function.
24099 (pupa_dl_ref): Likewise.
24100 (pupa_dl_unref): Likewise.
24101 (pupa_dl_unload): Return if succeeded or not.
24102 (pupa_dl_unload_unneeded): New function.
24103 (pupa_dl_unload_all): Likewise.
24104 (pupa_dl_init): Renamed to ...
24105 (pupa_dl_set_prefix): ... this.
24106 (pupa_dl_get_prefix): New function.
24107
24108 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24109 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24110 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24111 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24112 (pupa_install_dos_part): Declared.
24113 (pupa_install_bsd_part): Likewise.
24114 (pupa_prefix): Likewise.
24115 (pupa_boot_drive): Likewise.
24116
24117 * include/pupa/types.h: Fix a typo.
24118
24119 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24120 pupa_memmove.
24121 (pupa_memmove): Declared.
24122 (pupa_strcpy): Likewise.
24123
24124 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24125 pupa_mod_init takes one argument, its own module.
24126 (pupa_dl_unload_unneeded): Declared.
24127 (pupa_dl_unload_all): Likewise.
24128 (pupa_dl_ref): Likewise.
24129 (pupa_dl_unref): Likewise.
24130 (pupa_dl_iterate): Likewise.
24131 (pupa_dl_init): Renamed to ...
24132 (pupa_dl_set_prefix): ... this.
24133 (pupa_dl_get_prefix): Declared.
24134
24135 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24136 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24137 unloaded.
24138 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24139 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24140
24141 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24142 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24143
012d7999 241442003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24145
24146 * util/i386/pc/pupa-setup.c (setup): Define the internal
24147 function find_first_partition_start at the top level, because GCC
24148 3.0.x cannot compile internal functions in deeper scopes
24149 correctly.
24150 (find_root_device): Use lstat instead of stat.
24151 Don't follow symbolic links.
24152 Fix the path-constructing code.
24153
24154 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24155 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24156 by a BLKGETSIZE ioctl first, because block devices don't fill
24157 the member st_mode of the structure stat on Linux.
24158 [__linux__] (linux_find_partition): Use a temporary buffer
24159 REAL_DEV for the working space. Copy it to DEV before returning.
24160 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24161 buffer cache consistent.
24162 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24163 strncmp. The previous value was merely wrong.
24164 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24165
24166 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24167 FAT size is 12. The previous value was merely wrong.
24168
24169 * kern/main.c (pupa_main): Don't split the starting message from
24170 newlines.
24171
24172 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24173 LF, because BIOS goes crazy about character attributes in this
24174 case.
24175
1cc73a62 241762003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24177
24178 * include/i386/pc/util/biosdisk.h: New file.
24179 * util/i386/pc/biosdisk.c: Likewise.
24180 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24181
1cc73a62 24182 * Makefile.in (INCLUDE_DISTFILES): Added
24183 include/pupa/i386/pc/util/biosdisk.h.
24184 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24185 directory util/i386/pc.
24186 (install-local): Added a rule for sbin_UTILITIES.
24187 (uninstall): Likewise.
24188
24189 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24190
24191 * util/misc.c (xrealloc): New function.
24192 (pupa_malloc): Likewise.
24193 (pupa_free): Likewise.
24194 (pupa_realloc): Likewise.
24195 (pupa_stop): Likewise.
24196 (pupa_putchar): Likewise.
24197
24198 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24199
24200 * include/pupa/util/misc.h (xrealloc): Declared.
24201
24202 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24203 macro.
24204 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24205 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24206
24207 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24208 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24209
24210 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24211 way should be implemented.
24212 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24213
24214 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24215 the size of NAME for safety.
24216 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24217 0x88.
24218
24219 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24220 (pupa_setup_SOURCES): Likewise.
24221
24222 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24223
08b70fe8 242242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24225
24226 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24227 bunch of pushl's from pusha, because this destroys the return
24228 value.
24229
62ddcc8f 242302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24231
24232 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24233 This means that any missing prototypes could be fatal. Also, you
24234 must take care when writing assembly code. See the comments at
24235 the beginning of startup.S, for more details.
f19dbdb7 24236
62ddcc8f 24237 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24238 compilation mechanism.
24239 (pupa_chainloader_real_boot): Likewise.
24240 (pupa_biosdisk_rw_int13_extensions): Likewise.
24241 (pupa_biosdisk_rw_standard): Likewise.
24242 (pupa_biosdisk_check_int13_extensions): Likewise.
24243 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24244 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24245 (pupa_get_memsize): Likewise.
24246 (pupa_get_mmap_entry): Likewise.
24247 (pupa_console_putchar): Likewise.
24248 (pupa_console_setcursor): Likewise.
24249 (pupa_getrtsecs): Use pushl instead of push.
24250
24251 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24252 memory instead of the stack for a mmap entry, because some
24253 BIOSes may ignore the maximum size and overflow.
24254
24255 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24256
24257 * genmk.rb (PModule#rule): Compile automatically generated
24258 sources with module-specific CFLAGS as well as other sources.
24259
9962ed99 242602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24261
24262 * configure.ac: Check ld.
24263 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24264 respectively, before checking endianness and sizes.
24265
24266 * Makefile.in (LD): New variable.
f19dbdb7 24267
abdfc3c5 242682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24269
24270 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24271
6a161fa9 242722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24273
24274 * Changelog: New file.
24275