]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* New Bazaar snapshot.
[grub2.git] / ChangeLog
1 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2
3 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4 handle on failure.
5 (grub_loopback_close): Remove empty function.
6 (grub_loopback_dev): Remove close method.
7
8 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
9
10 Disable EFI cursor when the EFI console becomes inactive.
11
12 * term/efi/console.c (grub_efi_console_init): New function.
13 (grub_efi_console_fini): New function.
14 (grub_console_term_output): Register init and fini methods.
15
16 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19 sh script.
20
21 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * disk/loopback.c (grub_loopback): Replace filename with file.
24 (delete_loopback): Handle new semantics.
25 (grub_cmd_loopback): Likewise.
26 (grub_loopback_iterate): Likewise.
27 (grub_loopback_close): Likewise.
28
29 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
32 with -p "".
33 Reported by: Tito Keitel.
34
35 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * docs/grub.texi (Naming convention): Document new naming convention.
38
39 2010-07-20 Vadim Solomin <vadic052@gmail.com>
40 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
41
42 Generate device.map in something closer to the old ordering.
43
44 * util/deviceiter.c (struct device): New declaration.
45 (compare_file_names): Rename to ...
46 (compare_devices): ... this. Sort by kernel name in preference to
47 the stable by-id name, but keep the latter as a fallback comparison.
48 Update header comment.
49 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
50 of `struct device' rather than of plain file names.
51
52 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
53
54 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
55 on i386.
56
57 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * commands/acpi.c (setup_common_tables): Use sizeof instead of
60 hardcoding size.
61 (setv1table): Likewise.
62
63 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
64
65 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
66 removing the homehost if present.
67 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
68 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
69 removing the homehost if present.
70 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
71 if possible.
72 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
73
74 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
75 parameter. Set its pointer target to 0.
76 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
77 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
78 `data_offset' value from the superblock for 1.x metadata.
79 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
80 data on the device.
81 (insert_array): Record the start sector of data on the device.
82 (grub_raid_register): Pass start_sector parameters to
83 grub_raid_list->detect and insert_array.
84 * include/grub/raid.h (struct grub_raid_array): Add start_sector
85 member.
86 (struct grub_raid): Add start_sector parameter to `detect'.
87
88 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
89 __attribute__ ((packed)), leaving a comment.
90 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
91 (grub_mdraid_detect_09): ... here and ...
92 (grub_mdraid_detect_1x): ... here.
93
94 2010-07-20 Peter Henn <peter.henn@web.de>
95
96 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
97 chunk size and disk size, which are already given as sector counts
98 as distinct from the 0.90 units. Fetch the correct device number
99 from the role table instead of using the table index.
100
101 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
102
103 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
104 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
105 (WriteMostly1): New macro.
106 Set array->name to NULL for metadata format 0.90. Add support for
107 metadata 1.x. Fix some comments.
108 * disk/raid.c (): Add support for name based RAID arrays. Fix a
109 few comments.
110 * util/getroot.c (grub_util_get_grub_dev): Add support for
111 /dev/md/name style devices.
112
113 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
114
115 * .bzrignore: Ignore 20_linux_xen.
116
117 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
118
119 * util/import_unicode.py: Remove unnecessary imports.
120
121 2010-07-17 Aleš Nesrsta <starous@volny.cz>
122
123 Hotplugging and USB hub support.
124
125 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
126 (grub_ohci): Likewise.
127 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
128 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
129 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
130 (GRUB_OHCI_CTRL_EDS): Likewise.
131 (GRUB_OHCI_BULK_EDS): Likewise.
132 (GRUB_OHCI_TDS): Likewise.
133 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
134 (grub_ohci_ed_phys2virt): New function.
135 (grub_ohci_virt_to_phys): Likewise.
136 (grub_ohci_td_phys2virt): Likewise.
137 (grub_ohci_td_virt2phys): Likewise.
138 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
139 attachment.
140 (grub_ohci_find_ed): New function.
141 (grub_ohci_alloc_td): Likewise.
142 (grub_ohci_free_td): Likewise.
143 (grub_ohci_free_tds): Likewise.
144 (grub_ohci_transfer): Use previously allocated memory.
145 (grub_ohci_portstatus): Reset status changed bit.
146 (grub_ohci_detect_dev): Supply status changed.
147 (grub_ohci_fini_hw): Free memory.
148 (grub_ohci_restore_hw): Reallocate memory.
149 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
150 Reset status change.
151 (grub_uhci_detect_dev): Supply status_change.
152 * bus/usb/usb.c (attach_hooks): New var.
153 (grub_usb_device_attach): New function.
154 (grub_usb_register_attach_hook_class): Likewise.
155 (grub_usb_unregister_attach_hook_class): Likewise.
156 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
157 (grub_usb_add_hub): Reset connection changed bit.
158 (attach_root_port): New function.
159 (grub_usb_root_hub): Likewise.
160 (poll_nonroot_hub): Likewise.
161 (grub_usb_poll_devices): Likewise.
162 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
163 * disk/usbms.c (grub_usbms_open): Use device hooks.
164 (grub_usbms_iterate) :Poll devices.
165 (grub_usbms_finddevs): Split into ...
166 (grub_usbms_attach): ... this ...
167 (grub_usbms_attach): ... and this.
168 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
169 in detect_dev.
170 (grub_usb_interface): New fields attached and detach_hook.
171 (grub_usb_attach_hook_class): New type.
172 (grub_usb_attach_desc): New struct.
173 (grub_usb_register_attach_hook_class): New function.
174 (grub_usb_unregister_attach_hook_class): Likewise.
175 (grub_usb_poll_devices): Likewise.
176 (grub_usb_device_attach): Likewise.
177 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
178 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
179
180 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
183 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
184 delta determination style. Works with most NetBSD partitions too.
185
186 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
189 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
190
191 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
194
195 2010-07-14 Anton Blanchard <anton@samba.org>
196
197 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
198 ET_DYN files.
199
200 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
201
202 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
203
204 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
205
206 * kern/partition.c (grub_partition_check_containment): New function to
207 check that a partition is physically contained in a parent. Since
208 offsets are relative (and non-negative), this reduces to checking that
209 the partition ends before its parent.
210 (grub_partition_map_probe): Discard out-of-range sub-partitions.
211 (grub_partition_iterate): Likewise.
212 * include/grub/partition.h (grub_partition_map): Slightly more detailed
213 comments.
214 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
215 partitions that start before their parent, and add debug printfs.
216
217 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
218
219 * Makefile.in (.SUFFIX): Spell correctly, as ...
220 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
221 bare module name without `.mod', e.g. `test') tried to invoke a
222 Modula-2 compiler.
223
224 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
225
226 * README: Point to the Info manual.
227
228 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
229
230 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
231 2nd superblock position from partition size.
232
233 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
234
235 * Makefile.in (MAINTAINER_CLEANFILES): Remove
236 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
237 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
238 outputs.
239
240 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
241
242 Restructure SCSI .id handling.
243 Reported and tested by: Aleš Nesrsta.
244
245 * disk/ata.c (grub_atapi_close): Removed. All users updated.
246 (grub_atapi_dev): Changed .name to "ata". New field .id.
247 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
248 (grub_usbms_dev): New field .id.
249 * disk/scsi.c (grub_scsi_iterate): Generate name.
250 (grub_scsi_open): Parse name.
251 * include/grub/scsi.h (grub_make_scsi_id): New function.
252 (grub_scsi_dev): Change iterate and open to number instead of naming
253 busses. All users updated.
254 (grub_scsi): Remove name. Add .bus.
255
256 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * commands/help.c (grub_cmd_help): Fix a typo.
259
260 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
263 Reported and tested by: Colin Watson.
264
265 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
268 in this context.
269
270 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
273
274 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
275
276 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
277 indentation.
278
279 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
280
281 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
282 and disk/raid6_recover.c.
283 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
284 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
285
286 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
287
288 * term/gfxterm.c (repaint_schedulded): Rename to ...
289 (repaint_scheduled): ... this. Update all callers.
290 (repaint_was_schedulded): Rename to ...
291 (repaint_was_scheduled): ... this. Update all callers.
292
293 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
294
295 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
296 which we expect to be handled by upper layers.
297
298 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
299
300 * bus/usb/usbhub.c: #include time.h header.
301
302 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
303
304 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
305 entry_name also for entries without stat blocks (e.g. ".."); fixes
306 corruption of the first entry in a directory.
307
308 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
309
310 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
311 after setting gfxterm as the active terminal. GRUB_BACKGROUND
312 doesn't work otherwise.
313
314 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
315
316 * docs/grub.texi (Features): Update list of supported file systems.
317 (GNU/Linux): Update for GRUB 2.
318 (Serial terminal): Remove mention of --disable-serial, which was a
319 GRUB Legacy configure option. Update instructions to use
320 `terminal_input' and `terminal_output' rather than `terminal'.
321 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
322 configuration' and `Installing GRUB using grub-install'.
323 (Menu entry editor): Update for GRUB 2.
324 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
325 Document new -a, -u, and -v options.
326 (initrd): New section.
327 (initrd16): New section.
328 (linux): New section.
329 (linux16): New section.
330 (search): The `var' argument to `--set' is optional.
331 (GRUB only offers a rescue shell): Go into a little more detail on
332 drive ordering.
333
334 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
335
336 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
337
338 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
339
340 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
341 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
342
343 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
344
345 * util/i386/pc/grub-setup.c (setup): Rename prefix to
346 install_prefix, in line with install_dos_part and install_bsd_part.
347 Add new prefix variable, which is copied to install_prefix after
348 comparing core.img in memory with the one read from disk in the
349 no-embedding case, and use that rather than overwriting
350 install_prefix immediately when installing to a partition.
351 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
352 Bicakci.
353
354 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
355
356 * configure.ac: Avoid == in test command, it's not portable.
357 * util/grub.d/30_os-prober.in: Likewise.
358
359 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
360
361 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
362
363 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
364
365 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
366 multiple (top-level) partmaps.
367
368 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * util/i386/efi/grub-install.in: Don't use empty grub_device.
371 Reported by: Tino Keitel.
372
373 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
374
375 Bidi and diacritics support.
376
377 * Makefile.in (widthspec.bin): New target.
378 (widthspec.h): Likewise.
379 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
380 * autogen.sh: Generate unidata.c.
381 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
382 * commands/ls.c (grub_ls_list_devices): Likewise.
383 (grub_ls_list_files): Likewise.
384 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
385 (grub_mini_cmd_lsmod): Likewise.
386 * commands/read.c: Likewise.
387 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
388 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
389 * lib/arg.c (grub_arg_show_help): Likewise.
390 * lib/crypto.c (grub_password_get): Likewise.
391 * normal/auth.c (grub_username_get): Likewise.
392 * normal/misc.c (grub_normal_print_device_info): Likewise.
393 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
394 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
395 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
396 (normal/charset.c_DEPENDENCIES): New variable.
397 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
398 (pkglib_MODULES): Remove charset.mod.
399 (charset_mod_SOURCES): Removed.
400 (charset_mod_CFLAGS): Likewise.
401 (charset_mod_LDFLAGS): Likewise.
402 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
403 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
404 and term/tparm.c.
405 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
406 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
407 (kernel_img_HEADERS): Add terminfo.h.
408 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
409 Fill ->font. Reverse ascii bitmaps.
410 (grub_font_get_xheight): New function.
411 * font/font.c (grub_font_get_string_width): Moved from here ...
412 * gfxmenu/font.c (grub_font_get_string_width): ... here.
413 * font/font.c (grub_font_draw_string): Moved from here ...
414 * gfxmenu/font.c (grub_font_draw_string): ... here.
415 * font/font.c (grub_font_dup_glyph): New function.
416 (grub_font_blit_glyph): Likewise.
417 (grub_font_blit_glyph_mirror): Likewise.
418 (blit_comb): Likewise.
419 (grub_font_construct_dry_run): Likewise.
420 (grub_font_get_constructed_device_width): Likewise.
421 (grub_font_construct_glyph): Likewise.
422 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
423 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
424 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
425 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
426 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
427 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
428 (grub_font_get_xheight): New proto.
429 (grub_font_get_constructed_device_width): Likewise.
430 (grub_font_construct_glyph): Likewise.
431 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
432 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
433 * include/grub/font.h (grub_font_draw_string): Moved from here ...
434 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
435 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
436 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
437 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
438 (grub_console_getcharwidth): Likewise.
439 * include/grub/misc.h (grub_xputs): New proto.
440 (grub_puts): Inlined.
441 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
442 (grub_normal_get_line_counter): Removed.
443 (grub_install_newline_hook): Likewise.
444 (grub_normal_get_char_counter): New proto.
445 (grub_normal_reset_more): Likewise.
446 (grub_xputs_normal): Likewise.
447 * include/grub/powerpc/ieee1275/console.h: Removed.
448 * include/grub/sparc64/ieee1275/console.h: Likewise.
449 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
450 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
451 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
452 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
453 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
454 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
455 (grub_term_input): Pass reference to self. All users updated.
456 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
457 Pass reference to self. New fields normal_color, highlight_color and
458 data. All users updated.
459 (grub_putchar): Removed.
460 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
461 (grub_unicode_estimate_width): New function.
462 (grub_term_getcharwidth): Add defaults.
463 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
464 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
465 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
466 (grub_cls): Remove EXPORT_FUNC.
467 (grub_setcolorstate): Inline.
468 (grub_newline_hook): Removed.
469 * include/grub/terminfo.h: Rewritten. All users updated.
470 * include/grub/unicode.h: New file.
471 * include/grub/video.h (grub_video_signed_rect): New type.
472 * kern/emu/console.c (grub_console_highlight_color): Removed.
473 (grub_console_normal_color): Likewise.
474 (grub_console_standard_color): Made static.
475 (grub_ncurses_putchar): Remove mapping.
476 (grub_ncurses_getcharwidth): Removed.
477 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
478 (grub_ncurses_setcolor): Removed.
479 (grub_ncurses_getcolor): Likewise.
480 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
481 (grub_console_putchar): ... this.
482 (grub_console_putchar): Handle argument difference.
483 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
484 console_init_early and console_init_lately.
485 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
486 * kern/misc.c (grub_puts): Removed.
487 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
488 (grub_vsnprintf_real): Remove str = NULL support.
489 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
490 * normal/charset.c (grub_utf8_to_ucs4): ... here.
491 * kern/term.c (grub_putcode): Renamed to ...
492 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
493 (grub_putchar): Removed.
494 (grub_xputs_dumb): New function.
495 (grub_xputs): New variable.
496 * lib/charset.c: Move from here ...
497 * normal/charset.c: ... to here.
498 (grub_ucs4_to_utf8): New function.
499 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
500 (join_types): New variable.
501 (unpack_join): New function.
502 (bidi_types): New variable.
503 (unpack_bidi): New function.
504 (get_bidi_type): Likewise.
505 (get_join_type): Likewise.
506 (is_mirrored): Likewise.
507 (grub_unicode_get_comb_type): Likewise.
508 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
509 (is_type_after): Likewise.
510 (grub_unicode_aglomerate_comb): Likewise.
511 (bidi_line_wrap): Likewise.
512 (grub_bidi_line_logical_to_visual): Likewise.
513 (grub_bidi_logical_to_visual): Likewise.
514 (grub_unicode_mirror_code): Likewise.
515 (grub_unicode_shape_code): Likewise.
516 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
517 Don't use grub_putchar.
518 * normal/main.c (grub_normal_init_page): Use grub_putcode.
519 (grub_normal_reader_init): Likewise.
520 (grub_xputs_saved): New variable.
521 (GRUB_MOD_INIT): Set grub_xputs.
522 (GRUB_MOD_FINI): Restore grub_xputs.
523 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
524 (menu_init): Avoid printing gfxmenu error.
525 (show_menu): Use grub_normal_get_char_counter.
526 * normal/menu_entry.c (update_screen): Fix out-of-array.
527 (complete): Avoid NULL dereferencing.
528 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
529 * normal/menu_text.c (print_spaces): Removed.
530 (grub_print_ucs4): Likewise.
531 (grub_print_message_indented): Use grub_print_ucs4.
532 (print_message): Use grub_putcode.
533 (print_entry): Hanlde diacritics.
534 * normal/term.c (term_state): New type.
535 (grub_more_lines): Removed.
536 (term_states): New variable.
537 (grub_normal_line_counter): Renamed to ..
538 (grub_normal_char_counter): ...this. All users updated.
539 (grub_normal_get_line_counter): Renamed to ...
540 (grub_normal_get_char_counter): ... this.
541 (grub_normal_reset_more): New function.
542 (process_newline): Removed.
543 (print_more): New function.
544 (grub_install_newline_hook): Removed.
545 (map_code): New function.
546 (grub_puts_terminal): Use grub_print_ucs4.
547 (putglyph): New function.
548 (putcode_real): Likewise.
549 (grub_putcode): Use putcode_real.
550 (get_maxwidth): New function.
551 (get_startwidth): Likewise.
552 (print_ucs4_terminal): Likewise.
553 (find_term_state): Likewise.
554 (put_glyphs_terminal): Likewise.
555 (print_backlog): Likewise.
556 (print_ucs4_real): Likewise.
557 (grub_print_ucs4): Likewise.
558 (grub_xputs_normal): Likewise.
559 * term/efi/console.c (grub_console_putchar): Output diacritics.
560 (grub_console_getcharwidth): Removed.
561 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
562 * term/gfxterm.c (clear_char): Free chars.
563 (scroll_up): Avoid leaking memory.
564 (grub_gfxterm_putchar): Support diacritics.
565 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
566 * term/i386/pc/console.c (grub_console_term_output): Declare as
567 GRUB_TERM_CODE_TYPE_VGA.
568 * term/i386/pc/vga.c (grub_vga_term): Declare as
569 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
570 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
571 GRUB_TERM_CODE_TYPE_VGA.
572 * term/i386/vga_common.c (map_char): Removed.
573 (grub_console_putchar): Likewise.
574 (grub_console_getcharwidth): Likewise.
575 * term/ieee1275/ofconsole.c: Simplify using terminfo.
576 (colors): Reordered to match terminfo.
577 (grub_ofconsole_normal_color): Removed.
578 (grub_ofconsole_writeesc): Likewise.
579 (grub_ofconsole_highlight_color): Likewise.
580 (grub_ofconsole_getcharwidth): Likewise.
581 (grub_ofconsole_setcolorstate): Likewise.
582 (grub_ofconsole_setcolor): Likewise.
583 (grub_ofconsole_getcolor): Likewise.
584 (grub_ofconsole_readkey): Renamed to ...
585 (readkey): ... this. Remove escape sequence handling. Return -1 on no
586 key.
587 (grub_ofconsole_checkkey): Removed.
588 (grub_ofconsole_getkey): Likewise.
589 (grub_ofconsole_getxy): Likewise.
590 (grub_ofconsole_gotoxy): Likewise.
591 (grub_ofconsole_cls): Likewise.
592 (grub_ofconsole_refresh): Likewise.
593 (grub_ofconsole_terminfo_input): New struct.
594 (grub_ofconsole_terminfo_output): Likewise.
595 (grub_ofconsole_term_input): Use terminfo.
596 (grub_ofconsole_term_output): Likewise.
597 (grub_console_init): Split into ...
598 (grub_console_init_early): ...this and ...
599 (grub_console_init_lately): ...this. Use terminfo.
600 (grub_ofconsole_putchar): Renamed to ...
601 (put): ... this. Remove mapping.
602 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
603 * term/serial.c: Simplify using terminfo.
604 (xpos): Removed.
605 (ypos): Likewise.
606 (keep_track): Likewise.
607 (registered): Likewise.
608 (input_buf): Likewise.
609 (npending): Likewise.
610 (serial_translate_key_sequence): Likewise.
611 (fill_input_buf): Likewise.
612 (grub_serial_checkkey): Likewise.
613 (grub_serial_getkey): Likewise.
614 (grub_serial_getxy): Likewise.
615 (grub_serial_gotoxy): Likewise.
616 (grub_serial_putchar): Likewise.
617 (grub_serial_cls): Likewise.
618 (grub_serial_setcolorstate): Likewise.
619 (grub_serial_setcursor): Likewise.
620 (serial_hw_init): Use serial_hw_fetch.
621 (grub_serial_terminfo_input): New variable.
622 (grub_serial_terminfo_output): Likewise.
623 (grub_serial_term_input): Use terminfo.
624 (grub_serial_term_output): Likewise.
625 * term/terminfo.c (putstr): Use put.
626 (grub_terminfo_all_free): New function
627 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
628 (grub_terminfo_output_register): New function.
629 (grub_terminfo_output_unregister): Likewise.
630 (grub_terminfo_getxy): Likewise.
631 (grub_terminfo_readkey): Likewise.
632 (grub_terminfo_checkkey): Likewise.
633 (grub_terminfo_getkey): Likewise.
634 (grub_terminfo_input_init): Likewise.
635 (print_terminfo): Likewise.
636 (grub_cmd_terminfo): Handle encoding.
637 (grub_terminfo_gotoxy): Track position.
638 (grub_terminfo_cls): Likewise.
639 (grub_terminfo_putchar): Likewise.
640 (grub_terminfo_setcolorstate): Handle colors
641 (grub_terminfo_cursor_on): This ...
642 (grub_terminfo_cursor_off): ... and this merged into ...
643 (grub_terminfo_setcursor): ... this.
644 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
645 * unicode/ArabicShaping.txt: New file (imported from Unicode).
646 * unicode/BidiMirroring.txt: Likewise.
647 * unicode/UnicodeData.txt: Likewise.
648 * unicode/COPYING: Likewise.
649 * util/grub-editenv.c (grub_putchar): Removed.
650 (grub_xputs_real): New function.
651 (grub_xputs): New variable.
652 * util/grub-fstest.c (grub_putchar): Removed.
653 (grub_xputs_real): New function.
654 (grub_xputs): New variable.
655 * util/grub-mkdevicemap.c (grub_putchar): Removed.
656 (grub_xputs_real): New function.
657 (grub_xputs): New variable.
658 * util/grub-probe.c (grub_putchar): Removed.
659 (grub_xputs_real): New function.
660 (grub_xputs): New variable.
661 * util/grub-script-check.c (grub_putchar): Removed.
662 (grub_xputs_real): New function.
663 (grub_xputs): New variable.
664 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
665 (grub_xputs_real): New function.
666 (grub_xputs): New variable.
667 * util/import_unicode.py: New file.
668 * util/grub-mkfont.c (ft_errmsgs): New array.
669 (grub_glyph_info): Make bitmap a pointer.
670 (file_formats): New type WIDTH_SPEC.
671 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
672 (options): Add width-spec.
673 (help): Likewise.
674 (add_char): Renamed to ...
675 (add_glyph): ... this.
676 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
677 (glyph_replace): New type.
678 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
679 (add_char): New function.
680 (add_subst): Likewise.
681 (process_cursive): Likewise.
682 (add_font): Handle GSUB.
683 (write_font_width_spec): New function.
684 (main): Sort glyphs.
685 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
686 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
687 * kern/term.c (grub_cls): Moved from here...
688 * normal/term.c (grub_cls): ... here.
689
690 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
691
692 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
693 suitable for using within the format argument of printf when
694 converting grub_size_t.
695 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
696 "x" to convert grub_size_t arguments.
697
698 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
701 too long captions.
702 (list_get_minimal_size): Take selection box into account.
703
704 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
707 NULL font.
708
709 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
710
711 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
712 devices when iterating over /dev/disk/by-id; they will be handled
713 later if appropriate, which they aren't always (e.g. LVM).
714
715 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
716
717 * include/grub/misc.h (grub_reboot): Declare as noreturn.
718 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
719 fails.
720 (grub_halt): Likewise.
721 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
722 reset-all fails.
723 (grub_halt): Don't return, even if all of shut-down, power-off, and
724 poweroff fail.
725
726 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
727
728 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
729 arguments, not three.
730
731 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
732
733 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
734 * util/grub.d/10_linux.in: Use it to check for LVM, so that
735 LVM-on-RAID is handled correctly.
736
737 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
738
739 * docs/grub.texi (Changes from GRUB Legacy): New section.
740 (Future): Fix typo.
741
742 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
743
744 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
745 grub.d/README accidentally ends up executable for one reason or
746 another. Ignore it.
747
748 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
751 (gpt_partition_map_iterate): Support non-512B sectors.
752
753 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * kern/efi/init.c (grub_efi_init): Disable watchdog.
756 Tested by: Seth Goldberg.
757
758 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
761 Properly align mbi.
762 Reported by: Seth Goldberg.
763
764 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * util/grub-mkrescue.in: Avoid module duplication.
767
768 2010-07-01 Sean Finney <seanius@seanius.net>
769
770 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
771
772 2010-07-01 Sean Finney <seanius@seanius.net>
773
774 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
775
776 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * disk/lvm.c (grub_lvm_checkvalue): New function.
779 (grub_lvm_check_flag): Likewise.
780
781 2010-07-01 Robert Millan <rmh@gnu.org>
782
783 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
784 Support 'p' as partition separator on kernel of FreeBSD (used
785 with GPT labels).
786 (grub_util_biosdisk_get_grub_dev): Likewise.
787
788 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Yeeloong firmware port.
791
792 * boot/mips/yeeloong/fwstart.S: New file.
793 * bus/cs5536.c (gpiodump): New const.
794 (set_io_space): New function.
795 (set_iod): Likewise.
796 (set_p2d): Likewise.
797 (grub_cs5536_init_geode): Likewise.
798 * commands/mips/yeeloong/lsspd.c: New file.
799 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
800 (serial_mod_SOURCES): New variable.
801 (serial_mod_CFLAGS): Likewise.
802 (serial_mod_LDFLAGS): Likewise.
803 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
804 term/terminfo.c and term/tparm.c.
805 (pkglib_IMAGES): Add fwstart.img.
806 (fwstart_img_SOURCES): New variable.
807 (fwstart_img_CFLAGS): Likewise.
808 (fwstart_img_ASFLAGS): Likewise.
809 (fwstart_img_LDFLAGS): Likewise.
810 (fwstart_img_FORMAT): Likewise.
811 (pkglib_MODULES): Add lsspd.mod.
812 (lsspd_mod_SOURCES): New variable.
813 (lsspd_mod_CFLAGS): Likewise.
814 (lsspd_mod_LDFLAGS): Likewise.
815 (pkglib_MODULES): Add halt.mod.
816 (halt_mod_SOURCES): New variable.
817 (halt_mod_CFLAGS): Likewise.
818 (halt_mod_LDFLAGS): Likewise.
819 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
820 (serial_mod_SOURCES): Removed.
821 (serial_mod_CFLAGS): Likewise.
822 (serial_mod_LDFLAGS): Likewise.
823 * disk/ata.c (check_device): New function.
824 (grub_ata_device_initialize): Use check_device.
825 (grub_ata_iterate): Recheck devices.
826 (grub_ata_open): Likewise.
827 (grub_atapi_iterate): Likewise.
828 (grub_atapi_open): Likewise.
829 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
830 (GRUB_ATA_CH1_PORT1): Likewise.
831 (GRUB_ATA_CH0_PORT2): Likewise.
832 (GRUB_ATA_CH1_PORT2): Likewise.
833 * include/grub/mips/loongson.h: New file.
834 * include/grub/mips/yeeloong/ec.h: Likewise.
835 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
836 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
837 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
838 * include/grub/misc.h (grub_halt): Declare as noreturn.
839 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
840 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
841 (UART_ENABLE_FIFO_TRIGGER1): New definition.
842 (UART_ENABLE_DTRRTS): Likewise.
843 (UART_ENABLE_MODEM): Removed.
844 (UART_ENABLE_OUT2): New const.
845 * include/grub/term.h (grub_term_register_input_active): New function.
846 (grub_term_register_output_active): Likewise.
847 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
848 argument.
849 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
850 (init_pci): New function.
851 (grub_machine_init): Execute platform init when firmware. Init serial.
852 (grub_halt): Implement.
853 (grub_exit): Likewise.
854 (grub_reboot): Likewise.
855 * term/serial.c (serial_hw_init): Update macros.
856 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
857 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
858 (image_targets): New target mipsel-yeeloong-flash.
859 (generate_image): Support IMAGE_YEELOONG_FLASH.
860 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
861 (grub_video_sm712_setup): Init card.
862 (grub_video_sm712_set_palette): Removed.
863 * video/sm712_init.c: New file.
864
865 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
866
867 * Makefile.in (install-local): Temporarily prepend $(builddir) to
868 PATH when running help2man and then run it on the unadorned
869 executable names, rather than passing $(builddir)/* paths to
870 help2man. This avoids the build directory ending up in generated
871 manual pages.
872
873 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
874
875 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
876 to avoid accidents when debugging with 'sh -x'.
877 * util/grub-mkrescue.in: Likewise.
878 * util/grub.d/00_header.in: Likewise.
879 * util/grub.d/10_hurd.in: Likewise.
880 * util/grub.d/10_kfreebsd.in: Likewise.
881 * util/grub.d/10_linux.in: Likewise.
882 * util/grub.d/10_netbsd.in: Likewise.
883 * util/grub.d/10_windows.in: Likewise.
884 * util/grub.d/20_linux_xen.in: Likewise.
885 * util/grub.d/30_os-prober.in: Likewise.
886 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
887
888 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
889
890 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
891 last character in the buffer.
892 Reported by: Vladimir Serbinenko.
893
894 2010-06-29 Robert Millan <rmh@gnu.org>
895
896 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
897 (Command-line and menu entry commands): Document `badram' command.
898
899 2010-06-28 Robert Millan <rmh@gnu.org>
900
901 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
902 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
903 command using ${GRUB_BADRAM} as parameter.
904
905 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
906
907 * docs/grub.texi (Device map): New section.
908 (Themes): New section (stub).
909 * Makefile.in (docs/grub.info): The info documentation now builds
910 without errors. Make sure it stays that way.
911
912 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Use normal parser for menu entries.
915 Reported by: Thomas Frauendorfer
916
917 * include/grub/parser.h (grub_parser_execute): Don't export.
918 * normal/menu.c (grub_menu_execute_entry_real): New function.
919 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
920
921 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
922
923 * docs/grub.texi (Embedded configuration): New section (replacing
924 old "Preset Menu" stub).
925 (Images): New section.
926 (configfile): Note that any menu entries defined in `file' are shown
927 immediately.
928
929 2010-06-28 Josh Triplett <josh@joshtriplett.org>
930
931 * mmap/i386/pc/mmap_helper.S: Set CF on return.
932
933 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
934
935 * util/grub-install.in: Add --debug-image= option.
936
937 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
938
939 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
940 possible on Linux.
941
942 * util/deviceiter.c (check_device): Rename to ...
943 (check_device_readable_unique): ... this. Update all callers.
944 Maintain and check a list of which devices (by canonicalized name)
945 have already been seen.
946 (clear_seen_devices): New function.
947 (compare_file_names) [__linux__]: New function.
948 (grub_util_iterate_devices): Clear the list of seen devices on exit
949 and (just in case) on entry.
950 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
951 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
952 seen-devices list, superseded by general code in check_device.
953
954 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
955
956 * commands/cat.c (options): New variable.
957 (grub_cmd_cat): Parse options. If the --dos option is given, print
958 DOS-style "\r\n" line endings as simple newlines (Debian bug
959 #586358).
960 (GRUB_MOD_INIT): Use extcmd.
961 (GRUB_MOD_FINI): Likewise.
962 * docs/grub.texi (cat): Document --dos.
963
964 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
965
966 XEN with Linux grub-mkconfig support.
967
968 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
969 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
970 GRUB_CMDLINE_XEN_DEFAULT.
971 * util/grub.d/20_linux_xen.in: New file.
972
973 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Initialise VGA video on qemu ourselves.
976
977 * boot/i386/qemu/boot.S: Don't call 0xc000.
978 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
979 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
980 (kernel_img_HEADERS): Add pci.h.
981 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
982 * configure.ac: Force unifont on qemu and yeeloong.
983 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
984 (grub_vga_palette_write): Use correct register.
985 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
986 Call grub_qemu_init_cirrus.
987 * kern/i386/qemu/init.c: New file.
988 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
989
990 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
991
992 2010-06-26 Pavel Roskin <proski@gnu.org>
993
994 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
995 13.
996
997 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
998
999 * docs/grub.texi (Simple configuration): Explain that
1000 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1001 set to `true' to disable their respective recovery entries, not
1002 merely set.
1003
1004 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1005
1006 Make the `source' command slightly faster.
1007
1008 * normal/main.c (grub_normal_execute): Don't re-read list files when
1009 nested.
1010
1011 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1012
1013 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1014 field position and mask size to red fields from mode_info, not
1015 green.
1016 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1017 Remove redundant tag->common.framebuffer_type assignment.
1018 Reported by: Seth Goldberg.
1019
1020 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1021
1022 Sync up other versions of the Linux loader with Robert Millan's
1023 change of 2010-01-09, "Make loader output a bit more user-friendly".
1024
1025 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1026 grub_dprintf().
1027 (grub_cmd_linux): Likewise.
1028 (grub_cmd_initrd): Likewise.
1029 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1030 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1031
1032 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1033
1034 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1035 larger than MEMORY_MAP_SIZE.
1036
1037 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1038
1039 Fix parallel build.
1040
1041 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1042 dependency.
1043 * script/parser.y: #include grub_script.tab.h header.
1044
1045 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Support >3GiB and <16MiB RAM in i386-qemu.
1048
1049 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1050 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1051 (grub_lower_mem): Removed.
1052 (grub_upper_mem): Likewise.
1053 (mem_size): Made static.
1054 (above_4g): New variable.
1055 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1056 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1057 support.
1058
1059 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Cirrus 5446 and Bochs video cards support.
1062
1063 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1064 video_bochs.mod
1065 (video_cirrus_mod_SOURCES): New variable.
1066 (video_cirrus_mod_CFLAGS): Likewise.
1067 (video_cirrus_mod_LDFLAGS): Likewise.
1068 (video_bochs_mod_SOURCES): Likewise.
1069 (video_bochs_mod_CFLAGS): Likewise.
1070 (video_bochs_mod_LDFLAGS): Likewise.
1071 * include/grub/vga.h: New file.
1072 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1073 (grub_video_fb_set_page_t): New type.
1074 (grub_video_fb_setup): New prototype.
1075 (grub_video_fb_swap_buffers): Likewise.
1076 (grub_video_fb_get_info_and_fini): Likewise.
1077 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1078 (CRTC_DATA_PORT): Likewise.
1079 (CRTC_CURSOR): Likewise.
1080 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1081 (CRTC_CURSOR_ADDR_LOW): Likewise.
1082 (CRTC_CURSOR_DISABLE): Likewise.
1083 (update_cursor): Use grub_vga_cr_write.
1084 (grub_vga_text_setcursor): Likewise.
1085 * video/bochs.c: New file.
1086 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1087 (palette): Likewise.
1088 (palette_size): Likewise.
1089 (framebuffer): New variable.
1090 (grub_video_fb_init): Use 'framebuffer'.
1091 (grub_video_fb_fini): Likewise.
1092 (grub_video_fb_get_info): Likewise.
1093 (grub_video_fb_get_palette): Likewise.
1094 (grub_video_fb_set_palette): Likewise.
1095 (grub_video_fb_set_viewport): Likewise.
1096 (grub_video_fb_get_viewport): Likewise.
1097 (grub_video_fb_map_color): Likewise.
1098 (grub_video_fb_map_rgb): Likewise.
1099 (grub_video_fb_map_rgba): Likewise.
1100 (grub_video_fb_unmap_color): Likewise.
1101 (grub_video_fb_unmap_color_int): Likewise.
1102 (grub_video_fb_fill_rect): Likewise.
1103 (grub_video_fb_blit_bitmap): Likewise.
1104 (grub_video_fb_blit_render_target): Likewise.
1105 (grub_video_fb_scroll): Likewise.
1106 (grub_video_fb_create_render_target): Likewise.
1107 (grub_video_fb_doublebuf_blit_init): Likewise.
1108 (grub_video_fb_set_active_render_target): Handle doublebuffering.
1109 (doublebuf_pageflipping_update_screen): New function.
1110 (doublebuf_pageflipping_init): Likewise.
1111 (grub_video_fb_setup): Likewise.
1112 (grub_video_fb_swap_buffers): Likewise.
1113 (grub_video_fb_get_info_and_fini): Likewise.
1114 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
1115 All users updated.
1116 (doublebuf_pageflipping_commit): Restructured into ...
1117 (doublebuf_pageflipping_set_page): ... this.
1118 (doublebuf_pageflipping_update_screen): Removed.
1119 (doublebuf_pageflipping_init): Likewise.
1120 (double_buffering_init): Likewise.
1121 (grub_video_vbe_setup): Use grub_video_fb_setup.
1122 (grub_video_vbe_swap_buffers): Removed.
1123 (grub_video_vbe_set_active_render_target): Likewise.
1124 (grub_video_vbe_get_active_render_target): Likewise.
1125 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
1126 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
1127 grub_video_fb_set_active_render_target and
1128 grub_video_fb_get_active_render_target.
1129 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
1130 (SEQUENCER_DATA_PORT): Likewise.
1131 (MAP_MASK_REGISTER): Likewise.
1132 (CRTC_ADDR_PORT): Likewise.
1133 (CRTC_DATA_PORT): Likewise.
1134 (START_ADDR_HIGH_REGISTER): Likewise.
1135 (START_ADDR_LOW_REGISTER): Likewise.
1136 (GRAPHICS_ADDR_PORT): Likewise.
1137 (GRAPHICS_DATA_PORT): Likewise.
1138 (READ_MAP_REGISTER): Likewise.
1139 (INPUT_STATUS1_REGISTER): Likewise.
1140 (INPUT_STATUS1_VERTR_BIT): Likewise.
1141 (get_map_mask): Use grub_vga_sr_read.
1142 (set_map_mask): Use grub_vga_sr_write.
1143 (set_read_map): Use grub_vga_gr_write.
1144 (set_start_address): Use grub_vga_cr_write.
1145 * video/sm712.c (framebuffer): Remove leftover fields.
1146
1147 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
1148
1149 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
1150 setting GRUB_VIDEO_BACKEND. Make it available as a user override
1151 instead. Replace the gfxterm backend check with a check that
1152 ${GRUB_PREFIX}/video.lst is non-empty.
1153 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
1154 again.
1155 (load_video): New generated function. Call it before loading
1156 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
1157 * util/grub.d/10_linux.in (linux_entry): Call load_video.
1158 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
1159 * docs/grub.texi (Simple configuration): Document
1160 GRUB_VIDEO_BACKEND.
1161
1162 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Use video functions in linux and xnu loaders.
1165
1166 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
1167 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
1168 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
1169 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
1170 loader/i386/pc/linux.c.
1171 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
1172 (find_line_len): Removed.
1173 (find_framebuf): Likewise.
1174 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
1175 * loader/i386/efi/xnu.c: Removed.
1176 * loader/i386/pc/xnu.c: Moved from here...
1177 * loader/i386/xnu.c: ...here.
1178
1179 Enable priorities in video drivers.
1180
1181 * include/grub/video.h (grub_video_adapter_prio_t): New type.
1182 (grub_video_adapter): New field prio.
1183 (grub_video_register): Respect prio when inserting.
1184 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
1185 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
1186 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
1187 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
1188 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
1189 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
1190 * video/sm712.c (grub_video_sm712_adapter): Likewise.
1191
1192 Fix SDL driver ID.
1193
1194 * include/grub/video.h (grub_video_driver_id_t): New value
1195 GRUB_VIDEO_DRIVER_SDL.
1196 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
1197
1198 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1199
1200 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
1201 argument to printf.
1202 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1203
1204 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1205
1206 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
1207 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1208
1209 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1210
1211 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
1212 directly, and recommend grub-install instead.
1213 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
1214
1215 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
1216
1217 Fix i386-pc prefix handling with nested partitions (Debian bug
1218 #585068). Note that the case where the core image is booted using
1219 multiboot and relocated from its original location still requires
1220 more work.
1221
1222 * kern/i386/pc/init.c (make_install_device): If the prefix starts
1223 with "(,", fill the boot drive in between those two characters, but
1224 expect that a full partition specification including partition map
1225 names will follow.
1226 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
1227 specified, write a prefix without the drive name but including a
1228 full partition specification.
1229
1230 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
1231
1232 * util/grub-mkconfig.in: Ignore non-option arguments, for
1233 compatibility with older versions (before 2010-06-12) which did the
1234 same. In particular, this makes it easier to ship an update-grub
1235 wrapper which is compatible with that used with GRUB Legacy (Debian
1236 bug #586056).
1237
1238 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1239
1240 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
1241 for manual page generation.
1242
1243 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1244
1245 * po/POTFILES: Remove leftover commands/handler.c.
1246
1247 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1248
1249 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
1250 left this script non-functional.
1251
1252 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
1253
1254 * docs/man/grub-emu.h2m: New file.
1255
1256 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
1257
1258 * docs/grub.texi (Commands): Document reduced command set in rescue
1259 mode.
1260 (cpuid): New section.
1261
1262 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
1263
1264 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
1265 new partition naming style.
1266 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
1267
1268 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
1269
1270 Add "-o grub.iso" like cmdline options support.
1271
1272 * util/grub-install.in: Improve cmdline option parsing.
1273 * util/grub-mkconfig.in: Likewise.
1274 * util/grub-mkrescue.in: Likewise.
1275 * util/grub-reboot.in: Likewise.
1276 * util/grub-set-default.in: Likewise.
1277 * util/i386/efi/grub-install.in: Likewise.
1278 * util/ieee1275/grub-install.in: Likewise.
1279 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1280
1281 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1282
1283 * .bzrignore: Ignore 41_custom.
1284
1285 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1286
1287 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
1288
1289 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1290
1291 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
1292 prototype declarations.
1293
1294 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
1295 generating fs, partmap, and video lists.
1296 * include/grub/fs.h (grub_fs_register): Omit prototype if
1297 GRUB_LST_GENERATOR is defined.
1298 * include/grub/partition.h (grub_partition_map_register): Likewise.
1299 * include/grub/video.h (grub_video_register): Likewise.
1300
1301 2010-06-12 Javier Martín <lordhabbit@gmail.com>
1302
1303 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
1304
1305 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
1306
1307 * util/grub-mkrescue.in: Support --xorriso argument.
1308
1309 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
1312 Suggested by: Thomas Schmitt.
1313
1314 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
1317 Suggested by: Thomas Schmitt.
1318
1319 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 custom.cfg support.
1322
1323 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
1324 * util/grub.d/41_custom.in: New file.
1325
1326 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
1327
1328 * util/grub-mkrescue.in (make_image): Remove sh module, which has
1329 been merged back into normal.
1330
1331 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1332
1333 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
1334 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
1335
1336 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
1339 when generating manual pages.
1340 * docs/man/grub-bin2h.h2m: New file.
1341 * docs/man/grub-editenv.h2m: New file.
1342 * docs/man/grub-fstest.h2m: New file.
1343 * docs/man/grub-install.h2m: New file.
1344 * docs/man/grub-macho2img.h2m: New file.
1345 * docs/man/grub-mkconfig.h2m: New file.
1346 * docs/man/grub-mkdevicemap.h2m: New file.
1347 * docs/man/grub-mkfont.h2m: New file.
1348 * docs/man/grub-mkimage.h2m: New file.
1349 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
1350 * docs/man/grub-mkrelpath.h2m: New file.
1351 * docs/man/grub-mkrescue.h2m: New file.
1352 * docs/man/grub-ofpathname.h2m: New file.
1353 * docs/man/grub-pe2elf.h2m: New file.
1354 * docs/man/grub-probe.h2m: New file.
1355 * docs/man/grub-reboot.h2m: New file.
1356 * docs/man/grub-script-check.h2m: New file.
1357 * docs/man/grub-set-default.h2m: New file.
1358 * docs/man/grub-setup.h2m: New file.
1359
1360 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Use FOR_* macros instead of *_iterate whenever possible.
1363
1364 * commands/handler.c: Removed.
1365 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
1366 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
1367 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1368 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
1369 (grub_probe_SOURCES): Remove kern/parser.c.
1370 (util/grub-script-check.c_DEPENDENCIES): Removed.
1371 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
1372 and grub_script_check_init.c.
1373 (grub_script_check_init.lst): Removed.
1374 (grub_script_check_init.h): Likewise.
1375 (grub_script_check_init.c): Likewise.
1376 (pkglib_MODULES): Remove handler.mod and sh.mod.
1377 (handler_mod_SOURCES): Removed.
1378 (handler_mod_CFLAGS): Likewise.
1379 (handler_mod_LDFLAGS): Likewise.
1380 (normal_mod_SOURCES): Remove normal/handler.c.
1381 Add script/main.c, script/script.c, script/execute.c,
1382 script/function.c, script/lexer.c, grub_script.tab.c
1383 and grub_script.yy.c.
1384 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1385 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1386 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
1387 (grub_setup_SOURCES): Remove kern/parser.c.
1388 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1389 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
1390 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1391 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1392 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1393 (grub_setup_SOURCES): Remove kern/parser.c.
1394 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
1395 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
1396 * include/grub/command.h (grub_command_iterate): Removed.
1397 (FOR_COMMANDS): New macro.
1398 * include/grub/dl.h (grub_dl): New member next.
1399 (grub_dl_iterate): Removed.
1400 (grub_dl_head): New variable declaration.
1401 (FOR_DL_MODULES): New macro.
1402 * include/grub/fs.h: Include list.h.
1403 (grub_fs): Make next first element.
1404 (grub_fs_list): New variable declaration.
1405 (grub_fs_register): Make inline.
1406 (grub_fs_unregister): Likewise.
1407 (grub_fs_iterate): Removed.
1408 (FOR_FILESYSTEMS): New macro.
1409 * include/grub/handler.h: Removed.
1410 * include/grub/list.h (grub_list_hook_t): Removed.
1411 (grub_list_test_t): Likewise.
1412 (grub_list_pop): Likewise.
1413 (grub_list_iterate): Likewise.
1414 (grub_list_insert): Likewise.
1415 (FOR_LIST_ELEMENTS): New macro.
1416 * include/grub/parser.h (grub_parser_class): Removed.
1417 (grub_parser_register): Likewise.
1418 (grub_parser_unregister): Likewise.
1419 (grub_parser_get_current): Likewise.
1420 (grub_parser_set_current): Likewise.
1421 (grub_register_rescue_parser): Likewise.
1422 (grub_rescue_parse_line): New function.
1423 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
1424 * include/grub/script_sh.h (grub_script_function_list): New variable
1425 declaration.
1426 (FOR_SCRIPT_FUNCTIONS): New macro.
1427 (grub_script_function_iterate): Removed.
1428 (grub_normal_parse_line): New prototype.
1429 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
1430 (FOR_DISABLED_TERM_INPUTS): Likewise.
1431 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1432 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1433 * include/grub/video.h (grub_video_adapter): Move 'next' to first
1434 element.
1435 (grub_video_register): Inline.
1436 (grub_video_unregister): Likewise.
1437 (grub_video_adapter_list): New variable declaration.
1438 (grub_video_iterate): Removed.
1439 (FOR_VIDEO_ADAPTERS): New macro.
1440 * kern/dl.c (grub_dl_list): Removed. All users updated.
1441 (grub_dl_iterate): Removed.
1442 * kern/fs.c (grub_fs_list): Make global.
1443 (grub_fs_register): Removed.
1444 (grub_fs_unregister): Likewise.
1445 (grub_fs_iterate): Likewise.
1446 * kern/handler.c: Removed.
1447 * kern/list.c (grub_list_pop): Removed.
1448 (grub_list_iterate): Likewise.
1449 (grub_list_insert): Likewise.
1450 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
1451 (grub_prio_list_insert): Don't use grub_list_insert.
1452 * kern/main.c (grub_register_rescue_parser): Don't call
1453 grub_register_rescue_parser.
1454 * kern/parser.c (grub_parser_class): Removed.
1455 (grub_parser_execute): Use grub_rescue_parse_line.
1456 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
1457 (grub_rescue_parser): Removed.
1458 (grub_register_rescue_parser): Likewise.
1459 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
1460 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
1461 (grub_auth_check_authentication): Likewise.
1462 * normal/completion.c (iterate_command): Removed.
1463 (grub_normal_do_completion): Use FOR_COMMANDS.
1464 * normal/handler.c: Removed.
1465 * normal/main.c (read_config_file): Remove parser changing.
1466 (grub_normal_execute): Don't call read_handler_list.
1467 (grub_normal_read_line_real): Statically allocate prompt.
1468 (grub_cmdline_run): Use grub_normal_parse_line.
1469 (GRUB_MOD_FINI): Don't call free_handler_list.
1470 * normal/menu_entry.c (run): Likewise.
1471 * script/function.c (grub_script_function_list): Make global.
1472 (grub_script_function_iterate): Removed.
1473 * script/main.c (grub_normal_parse_line): Make global.
1474 (grub_sh_parser): Removed.
1475 (GRUB_MOD_INIT): Likewise.
1476 (GRUB_MOD_FINI): Likewise.
1477 * tests/lib/functional_test.c (grub_functional_test): Use
1478 FOR_LIST_ELEMENTS.
1479 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
1480 (grub_test_run): Use FOR_LIST_ELEMENTS.
1481 * tests/lib/unit_test.c (main): Likewise.
1482 * util/deviceiter.c (grub_util_iterate_devices): Don't use
1483 grub_list_pop.
1484 * util/grub-fstest.c (grub_term_input_class): Removed.
1485 (grub_term_output_class): Likewise.
1486 * util/grub-probe.c: Likewise.
1487 * util/i386/pc/grub-setup.c: Likewise.
1488 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1489 * util/grub-script-check.c (main): Don't call grub_init_all and
1490 grub_fini_all.
1491 * video/video.c (grub_video_adapter_list): Make global.
1492 (grub_video_register): Removed.
1493 (grub_video_unregister): Likewise.
1494 (grub_video_iterate): Likewise.
1495
1496 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
1499 reported by Henrique Ferreiro.
1500
1501 2010-06-09 Robert Millan <rmh@gnu.org>
1502
1503 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
1504 ones, when both are available.
1505
1506 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1507
1508 Make --version uniform and avoid hard-coded program name.
1509
1510 * util/grub-mkimage.c (main): Use `program_name' instead of
1511 hard-coded string.
1512 * util/i386/pc/grub-setup.c (main): Likewise.
1513 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
1514 * util/grub-install.in: Save the basename of $0 in $self, and use the
1515 latter in informational messages. Use the same format for --version
1516 as the binary programs.
1517 * util/grub-mkconfig.in: Likewise.
1518 * util/grub-mkrescue.in: Likewise.
1519 * util/grub-reboot.in: Likewise.
1520 * util/grub-set-default.in: Likewise.
1521 * util/i386/efi/grub-install.in: Likewise.
1522 * util/ieee1275/grub-install.in: Likewise.
1523 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1524
1525 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1526
1527 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
1528 embedding area. Use <= instead of == when checking for non-emptiness.
1529
1530 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1531
1532 * configure.ac: Add `.' to the directories searched for unifont.
1533
1534 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
1537 grub_script.yy.h.
1538
1539 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1540
1541 * docs/grub.texi (History): Expand to cover GRUB 2.
1542 (Serial terminal): Refer to `terminal_input' and `terminal_output'
1543 commands, not `terminal'.
1544 (serial): Likewise.
1545 (terminal_input): New section.
1546 (terminal_output): New section.
1547 (uppermem): New section (stub).
1548 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
1549
1550 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * docs/grub.texi (Security): Menu entries are unrestricted by
1553 default, not restricted to superusers as I had previously thought.
1554 Reword to account for this.
1555
1556 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1557
1558 * kern/emu/misc.c (device_mapper_null_log): New function.
1559 (grub_device_mapper_supported): New function.
1560 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
1561 prototype.
1562 * kern/emu/hostdisk.c (find_partition_start): Check whether
1563 device-mapper is supported before trying to use it.
1564 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
1565
1566 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1567
1568 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
1569 (File name syntax): Likewise.
1570 (help): --all is no longer supported in GRUB 2. Be more precise
1571 about pattern matching.
1572
1573 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1574
1575 * normal/completion.c (grub_normal_do_completion): When completing
1576 arguments to "set" and the current word contains an equals sign,
1577 skip to after the equals sign before starting completion.
1578
1579 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1580
1581 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
1582
1583 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1584
1585 * docs/grub.texi (Network): New section.
1586 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
1587 `(nd)' as in GRUB Legacy.
1588 (pxe_unload): New section.
1589
1590 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1591
1592 * docs/grub.texi (Troubleshooting): `echo' is not usually available
1593 in the rescue shell, so recommend using `set' instead. Thanks,
1594 Jordan Uggla.
1595
1596 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1597
1598 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
1599 (password): New section.
1600 (password_pbkdf2): New section.
1601 (search): New section.
1602 (Security): New section.
1603 (Troubleshooting): New section, currently very incomplete.
1604 (Invoking grub-mkpasswd-pbkdf2): New section.
1605 (Internals): New section, currently very incomplete.
1606
1607 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1608
1609 * util/grub.d/00_header.in: Add some more quoting (of
1610 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
1611 work again.
1612 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
1613
1614 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
1615
1616 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
1617 to `count', fixing variable shadowing that broke the -c option.
1618
1619 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
1620
1621 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
1622 in case they contain spaces.
1623
1624 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1625
1626 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
1627 "part_" to partmap module names, in line with grub-install.
1628 Reported by: Jindřich Makovička (Debian bug #584426).
1629
1630 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
1631
1632 * util/grub-mkimage.c: Make target-related error messages slightly
1633 more helpful; -O talks about "format". Explicitly point to the use
1634 of -O if no target is specified.
1635 Reported by: Didier Raboud (Debian bug #584415).
1636
1637 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
1638
1639 * INSTALL: Document several build requirements for optional features
1640 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
1641
1642 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1643
1644 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
1645 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
1646 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
1647
1648 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1649
1650 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
1651 Thanks to Jordan Uggla for spotting this.
1652
1653 2010-06-02 Aleš Nesrsta <starous@volny.cz>
1654
1655 Finally make USB usable.
1656
1657 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
1658 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
1659 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
1660 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
1661 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
1662 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
1663 (GRUB_OHCI_FSMPS): Likewise.
1664 (GRUB_OHCI_PERIODIC_START): Likewise.
1665 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
1666 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
1667 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
1668 (GRUB_OHCI_SET_PORT_RESET): Likewise.
1669 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
1670 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
1671 (grub_ohci_transaction): Likewise.
1672 (grub_ohci_transfer): Improve condition detection algorithms.
1673 Handle toggle property. Program the transactions correctly.
1674 Improve error handling. Various important fixups.
1675 (grub_ohci_portstatus): Put register writes in right order.
1676 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
1677 (grub_uhci_transfer): Don't show "failed" message on success.
1678 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
1679 array.
1680 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
1681 determine its size.
1682 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
1683 before initialization is completed. Use IN direction for empty
1684 transfers. Use last_trans and compute toggle.
1685 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
1686 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
1687 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
1688 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
1689 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
1690 (grub_usb_device): Increase toggle to 256.
1691 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
1692 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
1693 GRUB_USBMS_SUBCLASS_SFF8070.
1694 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
1695 (grub_scsi_inquiry): New member page and alloc_length.
1696 (grub_scsi_request_sense): New structure.
1697 (grub_scsi_request_sense_data): Likewise.
1698 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
1699 control.
1700 * disk/scsi.c (grub_scsi_request_sense): New function.
1701 (grub_scsi_test_unit_ready): Likewise.
1702 (grub_scsi_inquiry): Fill new fields.
1703 (grub_scsi_read_capacity): Likewise.
1704 (grub_scsi_read10): Add request sense at the end.
1705 (grub_scsi_read12): Likewise.
1706 (grub_scsi_write10): Likewise.
1707 (grub_scsi_write12): Likewise.
1708 (grub_scsi_open): Add Test Unit Ready.
1709 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
1710 Support additional subclasses. Con't clear halt yet. Activate the
1711 proper config. Calculate LUNs correctly.
1712 (grub_usbms_transfer): Various important fixups.
1713
1714 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
1717 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
1718 (grub_ohci_fini_hw): New function.
1719 (grub_ohci_restore_hw): Likewise.
1720 (GRUB_MOD_INIT(ohci)): Register preboot hook.
1721 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
1722 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
1723
1724 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Dedicated DMA allocations.
1727
1728 * bus/pci.c (grub_memalign_dma32): New function
1729 (grub_dma_free): Likewise.
1730 (grub_dma_get_virt): Likewise.
1731 (grub_dma_get_phys): Likewise.
1732 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
1733 (grub_ohci_pci_iter): Use dma32_alloc.
1734 (grub_ohci_transfer): Likewise.
1735 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
1736 (grub_usb_bulk_readwrite): Likewise.
1737 * include/grub/pci.h: Add declarations.
1738
1739 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 CS5536 support.
1742
1743 * bus/cs5536.c: New file.
1744 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
1745 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
1746 (cs5536_mod_SOURCES): New variable.
1747 (cs5536_mod_CFLAGS): Likewise.
1748 (cs5536_mod_LDFLAGS): Likewise.
1749 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
1750 machine/pci.h.
1751 (kernel_img_SOURCES): Add bus/cs5536.c.
1752 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
1753 usb_keyboard.mod.
1754 (usb_mod_SOURCES): New variable.
1755 (usb_mod_CFLAGS): New variable.
1756 (usb_mod_LDFLAGS): New variable.
1757 (usbtest_mod_SOURCES): New variable.
1758 (usbtest_mod_CFLAGS): New variable.
1759 (usbtest_mod_LDFLAGS): New variable.
1760 (ohci_mod_SOURCES): New variable.
1761 (ohci_mod_CFLAGS): New variable.
1762 (ohci_mod_LDFLAGS): New variable.
1763 (usbms_mod_SOURCES): New variable.
1764 (usbms_mod_CFLAGS): New variable.
1765 (usbms_mod_LDFLAGS): New variable.
1766 (usb_keyboard_mod_SOURCES): New variable.
1767 (usb_keyboard_mod_CFLAGS): New variable.
1768 (usb_keyboard_mod_LDFLAGS): New variable.
1769 * include/grub/smbus.h: New file.
1770 * include/grub/cs5536.h: New file.
1771
1772 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1773
1774 * util/grub.d/00_header.in: Add safety check to make sure that
1775 ${locale_dir} exists before trying to probe it.
1776
1777 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1778
1779 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
1780 per the GNU Coding Standards; this is now too obscure to be worth
1781 documenting.
1782 (QNX): Likewise.
1783 (chainloader): Remove cross-reference to `SCO UnixWare'.
1784
1785 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1786
1787 * docs/grub.texi (Chain-loading): New section.
1788 (DOS/Windows): New section, borrowed from GRUB Legacy with details
1789 adjusted for GRUB 2.
1790 (SCO UnixWare): Likewise.
1791 (QNX): Likewise.
1792 (chainloader): Add reference to `Block list syntax'.
1793 (drivemap): New section.
1794 (parttool): New section.
1795
1796 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1797
1798 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
1799 the grub shell'.
1800 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
1801 (Installing GRUB using grub-install): Remove reference to the grub
1802 shell; mention `grub-mkimage' and `grub-setup' instead.
1803 (Invoking grub-install): Likewise.
1804 (Interface): Add reference to `Menu entry editor'.
1805 (serial): Remove `--device' option.
1806
1807 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1808
1809 * docs/grub.texi (Configuration): New section, documenting
1810 configuration file generation using grub-mkconfig. I've left a slot
1811 for documenting the full shell scripting format but have not yet
1812 started on writing that up.
1813 (Invoking grub-mkconfig): New section.
1814
1815 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1816
1817 * docs/grub.texi (direntry): Remove grub-terminfo reference.
1818 (GNU GRUB manual): Likewise.
1819 (General commands): Update description of `terminfo' for GRUB 2.
1820
1821 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1822
1823 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
1824 (GRUB_MOD_INIT): Fix capitalisation.
1825 * docs/grub.texi (Command-line and menu entry commands): Document
1826 gettext and gptsync commands.
1827
1828 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
1829
1830 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
1831 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
1832
1833 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
1834
1835 Add btrfs probing support, currently only in the single-device case.
1836
1837 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
1838 function.
1839 (grub_guess_root_device): Call find_root_device_from_mountinfo
1840 before looking in /dev.
1841
1842 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
1845 GRUB_DISK_SIZE_UNKNOWN.
1846 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
1847
1848 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
1849
1850 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
1851 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
1852 corrupted or not synced properly.
1853
1854 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
1857 Reported by: Seth Goldberg.
1858
1859 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
1862 addition of dest.
1863 Reported by: Seth Goldberg.
1864
1865 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
1868 Reported by: Seth Goldberg.
1869
1870 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
1873 64-bit address as signed on MIPS.
1874
1875 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1876
1877 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
1878 to the empty string.
1879
1880 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
1881
1882 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
1883
1884 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
1885 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
1886 * kern/misc.c (__enable_execute_stack): Disable on
1887 GRUB_MACHINE_EMU.
1888
1889 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
1890
1891 Make grub-probe work with symbolic links under /dev/mapper as well
1892 as with real block devices. The Linux world seems to be (at best)
1893 in transition here, and GRUB shouldn't get caught in the middle.
1894
1895 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
1896 /dev/mapper.
1897
1898 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1899
1900 * util/grub-script-check.c (main): Ensure defined behaviour on empty
1901 input files (in which case exit zero).
1902
1903 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1904
1905 * kern/emu/misc.c (canonicalize_file_name): realpath can still
1906 return NULL for various reasons even if it has a maximum-length
1907 buffer: for example, there might be a symlink loop, or the path
1908 might exceed PATH_MAX. If this happens, return NULL.
1909
1910 2010-05-27 Robert Millan <rmh@gnu.org>
1911
1912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1913 partmap module to handle cross-partmap setups.
1914 Reported by Orestes Mas. Gràcies!
1915
1916 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * util/grub-mkrescue.in: Initialise override_dir rather than
1919 assuming that it's unset or empty in the environment.
1920
1921 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1922
1923 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1924 variable index into p_index to suppress a warning with -Wshadow.
1925
1926 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1927
1928 * INSTALL: Added flex >= 2.5.35 requirement.
1929
1930 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1933
1934 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 cmostest support.
1937
1938 * commands/i386/cmostest.c: New file.
1939 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1940 (cmostest_mod_SOURCES): New variable.
1941 (cmostest_mod_CFLAGS): Likewise.
1942 (cmostest_mod_LDFLAGS): Likewise.
1943 * conf/i386-pc.rmk: Likewise.
1944 * docs/grub.texi (Vendor power-on keys): New section.
1945 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1946 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1947 and GRUB_BUTTON_CMOS_ADDRESS.
1948 * util/grub.d/00_header.in: Handle powering-on by separate button.
1949
1950 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1953 Removed drawing_scrollbar argument. All users updated
1954 Fixes #29792.
1955 Reported by Jo Shields
1956
1957 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1960 buffer since gfxterm handles double repaint.
1961
1962 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1965 * term/gfxterm.c (real_scroll): Likewise.
1966
1967 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1970 before calling BIOS.
1971
1972 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * include/grub/i18n.h: Always enable grub_gettext.
1975
1976 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1979 partition naming style.
1980
1981 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
1982
1983 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1984 not the first option.
1985
1986 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1987
1988 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1989
1990 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
1991
1992 * util/misc.c: Move inclusion of <limits.h> to ...
1993 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1994
1995 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1996
1997 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1998 Fix merge error in NetBSD code.
1999 (find_partition_start) [__NetBSD__]: Likewise.
2000
2001 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2002
2003 Fix grub-mkrescue usage unit testing.
2004
2005 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2006
2007 2010-05-18 Christian Franke <franke@computer.org>
2008
2009 * util/grub.d/10_windows.in: Use path names instead of
2010 drive letters to prevent warning from Cygwin 1.7.
2011 Add drivemap command to menuentry if needed.
2012
2013 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2014
2015 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2016 gnumach and gnumach.gz.
2017
2018 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * include/grub/i18n.h (gettext): Inline instead of using #define.
2021 (grub_gettext): Likewise.
2022 (_): Likewise.
2023
2024 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2027 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2028 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2029 (main): Add a slash after pkglibdirroot.
2030
2031 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * util/grub-install.in: Add missing "in" keyword.
2034
2035 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2038 Reported by: Seth Goldberg.
2039
2040 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2043
2044 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2045
2046 * configure.ac: Check for Linux device-mapper support.
2047
2048 * util/hostdisk.c (device_is_mapped): New function.
2049 (find_partition_start): New function, partly broken out from
2050 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2051 device-mapper support added.
2052 (linux_find_partition): Use find_partition_start.
2053 (convert_system_partition_to_system_disk): Add `st' argument.
2054 Support Linux /dev/mapper/* devices if device-mapper support is
2055 available; only DM-RAID devices are understood at present.
2056 (find_system_device): Add `st' argument. Pass it to
2057 convert_system_partition_to_system_disk.
2058 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2059 find_system_device and convert_system_partition_to_system_disk. Use
2060 find_partition_start.
2061
2062 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2063 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2064 * util/deviceiter.c [__linux__]: Define MINOR.
2065 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2066 * util/mkdevicemap.c (grub_putchar): New function.
2067 (grub_getkey): New function.
2068 (grub_refresh): New function.
2069 (main): Set debug=all if -v -v is used.
2070
2071 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2072
2073 Fix build with non-GNU libcs.
2074
2075 * util/misc.c (canonicalize_file_name): Move to ...
2076 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2077 grub_make_system_path_relative_to_its_root.
2078
2079 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2080
2081 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2082 we handle finding grub-mkimage. Default to finding grub-mkimage in
2083 ${bindir} with program_transform_name applied, and provide a
2084 --grub-mkimage option to override this.
2085
2086 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Remove grub-mkisofs.
2089
2090 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2091 (grub_mkisofs_SOURCES): Removed.
2092 (grub_mkisofs_CFLAGS): Removed.
2093 * util/mkisofs/defaults.h: Removed.
2094 * util/mkisofs/eltorito.c: Likewise.
2095 * util/mkisofs/exclude.h: Likewise.
2096 * util/mkisofs/hash.c: Likewise.
2097 * util/mkisofs/include/: Likewise.
2098 * util/mkisofs/include/fctldefs.h: Likewise.
2099 * util/mkisofs/include/mconfig.h: Likewise.
2100 * util/mkisofs/include/prototyp.h: Likewise.
2101 * util/mkisofs/include/statdefs.h: Likewise.
2102 * util/mkisofs/iso9660.h: Likewise.
2103 * util/mkisofs/joliet.c: Likewise.
2104 * util/mkisofs/match.c: Likewise.
2105 * util/mkisofs/match.h: Likewise.
2106 * util/mkisofs/mkisofs.c: Likewise.
2107 * util/mkisofs/mkisofs.h: Likewise.
2108 * util/mkisofs/msdos_partition.h: Likewise.
2109 * util/mkisofs/multi.c: Likewise.
2110 * util/mkisofs/name.c: Likewise.
2111 * util/mkisofs/rock.c: Likewise.
2112 * util/mkisofs/tree.c: Likewise.
2113 * util/mkisofs/write.c: Likewise.
2114
2115 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Unify grub-mkimage accross platforms.
2118
2119 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
2120 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
2121 (grub_mkelfimage_SOURCES): Removed.
2122 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
2123 (util/grub-mkimage.c_DEPENDENCIES): .. this.
2124 (bin_UTILITIES): Add grub-mkimage.
2125 (grub_mkimage_SOURCES): New variable.
2126 (kernel_img_HEADERS): Remove machine/kernel.h.
2127 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
2128 (pkglib_PROGRAMS): Add kernel.img.
2129 (kernel_img_HEADERS): Add machine/kernel.h.
2130 (kernel_img_FORMAT): Removed.
2131 (bin_UTILITIES): Remove grub-mkimage.
2132 (grub_mkimage_SOURCES): Removed.
2133 (grub_mkimage_CFLAGS): Likewise.
2134 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2135 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
2136 (pkglib_PROGRAMS): Add kernel.img.
2137 (bin_UTILITIES): Remove grub-mkimage.
2138 (grub_mkimage_SOURCES): Removed.
2139 (grub_mkimage_CFLAGS): Likewise.
2140 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2141 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
2142 (pkglib_PROGRAMS): Add kernel.img.
2143 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
2144 (pkglib_PROGRAMS): Add kernel.img.
2145 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
2146 (grub_mkimage_SOURCES): Removed.
2147 (grub_mkimage_CFLAGS): Likewise.
2148 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2149 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
2150 (pkglib_PROGRAMS): Add kernel.img.
2151 (bin_UTILITIES): Remove grub-mkimage.
2152 (grub_mkimage_SOURCES): Removed.
2153 (grub_mkimage_CFLAGS): Likewise.
2154 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2155 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
2156 (grub_mkimage_SOURCES): Removed.
2157 (grub_mkimage_CFLAGS): Likewise.
2158 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
2159 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
2160 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
2161 (grub_pe32_optional_header): ... this.
2162 (grub_pe64_optional_header): ... and this. All users updated.
2163 (GRUB_PE32_PE32_MAGIC): Split into ..
2164 (GRUB_PE32_PE32_MAGIC): .. this.
2165 (GRUB_PE32_PE64_MAGIC): .. and this.
2166 (GRUB_PE32_SIGNATURE_SIZE): New definition.
2167 * include/grub/elf.h (PT_GNU_STACK): New definition.
2168 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
2169 * include/grub/i386/efi/kernel.h: Likewise.
2170 * include/grub/i386/kernel.h: Likewise.
2171 * include/grub/i386/pc/kernel.h: Likewise.
2172 * include/grub/i386/qemu/boot.h: Likewise.
2173 * include/grub/mips/kernel.h: Likewise.
2174 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2175 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2176 * include/grub/powerpc/kernel.h: Likewise.
2177 * include/grub/sparc64/ieee1275/boot.h: Likewise.
2178 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2179 * include/grub/sparc64/kernel.h: Likewise.
2180 * include/grub/x86_64/efi/kernel.h: Likewise.
2181 * include/grub/x86_64/kernel.h: Likewise.
2182 * include/grub/offsets.h: New file.
2183 * include/grub/kernel.h (grub_module_info): Split into ...
2184 (grub_module_info32): ... this.
2185 (grub_module_info64): ... and this.
2186 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
2187 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
2188 (grub_boot_blocklist): Moved from here ...
2189 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
2190 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
2191 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
2192 * include/grub/types.h (grub_target_to_host16): Removed.
2193 (grub_target_to_host32): Likewise.
2194 (grub_target_to_host64): Likewise.
2195 (grub_host_to_target16): Likewise.
2196 (grub_host_to_target32): Likewise.
2197 (grub_host_to_target64): Likewise.
2198 (grub_host_to_target_addr): Likewise.
2199
2200 Support grub-mkrescue for efi, coreboot and qemu.
2201
2202 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
2203 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
2204 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
2205 * util/grub-mkrawimage.c: Moved from here ...
2206 * util/grub-mkimage.c: ... here. All users updated.
2207 (ALIGN_ADDR): Use image_target.
2208 (TARGET_NO_FIELD): New const.
2209 (image_target_desc): New type.
2210 (image_targets): New array.
2211 (grub_target_to_host64): Use image_target.
2212 (grub_target_to_host32): Likewise.
2213 (grub_target_to_host16): Likewise.
2214 (grub_host_to_target64): Likewise.
2215 (grub_host_to_target32): Likewise.
2216 (grub_host_to_target16): Likewise.
2217 (grub_host_to_target_addr): Likewise.
2218 (generate_image): Handle multiimage.
2219 (main): Require -O parameter. All users updated.
2220 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
2221 util/efi/grub-mkimage.c
2222 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
2223 New option --rom-directory.
2224 Use xorriso.
2225 * util/i386/efi/grub-mkimage.c: Removed.
2226 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
2227 (grub_target_to_host32): Likewise.
2228 (grub_target_to_host64): Likewise.
2229 (grub_host_to_target16): Likewise.
2230 (grub_host_to_target32): Likewise.
2231 (grub_host_to_target64): Likewise.
2232 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
2233 (grub_target_to_host32): Likewise.
2234 (grub_target_to_host64): Likewise.
2235 (grub_host_to_target16): Likewise.
2236 (grub_host_to_target32): Likewise.
2237 (grub_host_to_target64): Likewise.
2238
2239 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
2240
2241 Source tree is reorganized for emu build.
2242
2243 * include/grub/util/console.h: Move from here...
2244 * include/grub/emu/console.h: ...to here.
2245 * include/grub/util/getroot.h: Move from here...
2246 * include/grub/emu/getroot.h: ...to here.
2247 * include/grub/util/hostdisk.h: Move from here...
2248 * include/grub/emu/hostdisk.h: ...to here.
2249 * util/console.c: Move from here...
2250 * kern/emu/console.c: ...to here.
2251 * util/getroot.c: Move from here...
2252 * kern/emu/getroot.c: ...to here.
2253 * util/grub-emu.c: Move from here...
2254 * kern/emu/main.c: ...to here.
2255 * util/hostdisk.c: Move from here...
2256 * kern/emu/hostdisk.c: ...to here.
2257 * util/hostfs.c: Move from here...
2258 * kern/emu/hostfs.c: ...to here.
2259 * util/mm.c: Move from here...
2260 * kern/emu/mm.c: ...to here.
2261 * util/pci.c: Move from here...
2262 * bus/emu/pci.c: ...to here.
2263 * util/sdl.c: Move from here...
2264 * video/emu/sdl.c: ...to here.
2265 * util/time.c: Move from here...
2266 * kern/emu/time.c: ...to here.
2267 * util/usb.c: Move from here...
2268 * bus/usb/emu/usb.c: ...to here.
2269
2270 * include/grub/emu/misc.h: New header for grub-emu functions.
2271 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
2272
2273 * conf/any-emu.rmk: Rule updates for above renames.
2274 * conf/common.rmk: Likewise.
2275 * conf/i386-pc.rmk: Likewise.
2276 * conf/i386-qemu.rmk: Likewise.
2277 * conf/mips.rmk: Likewise.
2278 * conf/sparc64-ieee1275.rmk: Likewise.
2279 * conf/x86-efi.rmk: Likewise.
2280
2281 * disk/lvm.h: #include updates for above renames.
2282 * util/grub-mkrelpath.c: Likewise.
2283 * util/grub-probe.c: Likewise.
2284 * util/i386/pc/grub-setup.c: Likewise.
2285 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2286 * kern/emu/console.c: Likewise.
2287 * kern/emu/getroot.c: Likewise.
2288 * kern/emu/hostdisk.c: Likewise.
2289 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
2290
2291 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
2292 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
2293 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
2294 * util/misc.c: Remove grub-emu functions.
2295
2296 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 Fix gfxmenu crash.
2299 Reported by: Thorsten Grützmacher.
2300
2301 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
2302 timeout hook.
2303 (circprog_set_property): Register and unregister timeout hook.
2304 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
2305 (label_destroy): Free template. and unregister hook.
2306 (label_set_state): New function.
2307 (label_set_property): Handle templates and hooks.
2308 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
2309 timeout hook.
2310 (progress_bar_set_property): Register and unregister timeout hook.
2311 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
2312 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
2313 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
2314 (update_timeout_visit): Removed.
2315 (update_timeouts): New function.
2316 (redraw_timeouts): Likewise.
2317 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
2318 (grub_gfxmenu_clear_timeout): Likewise.
2319 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
2320 (grub_gfxmenu_timeout_notify): Likewise.
2321 (grub_gfxmenu_timeout_notifications): New external variable.
2322 (grub_gfxmenu_timeout_register): New function.
2323 (grub_gfxmenu_timeout_unregister): Likewise.
2324
2325 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Transform (broken) vga terminal into (working) vga video driver.
2328
2329 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
2330 video/i386/pc/vga.c.
2331 * include/grub/video.h (grub_video_driver_id):
2332 Add GRUB_VIDEO_DRIVER_VGA.
2333 * term/i386/pc/vga.c: Renamed to ...
2334 * video/i386/pc/vga.c: ...this
2335 (DEBUG_VGA): Removed.
2336 (CHAR_WIDTH): Likewise.
2337 (CHAR_HEIGHT): Likewise.
2338 (TEXT_WIDTH): Likewise.
2339 (TEXT_HEIGHT): Likewise.
2340 (DEFAULT_FG_COLOR): Likewise.
2341 (DEFAULT_BG_COLOR): Likewise.
2342 (colored_char): Likewise.
2343 (xpos): Likewise.
2344 (ypos): Likewise.
2345 (cursor_state): Likewise.
2346 (fg_color): Likewise.
2347 (bg_color): Likewise.
2348 (text_buf): Likewise.
2349 (page): Likewise.
2350 (font): Likewise.
2351 (framebuffer): New variable.
2352 (set_read_map): Disabled.
2353 (setup): New variable.
2354 (is_target): Likewise.
2355 (grub_vga_mod_init): Likewise.
2356 (grub_vga_mod_fini): Likewise.
2357 (check_vga_mem): Likewise.
2358 (write_char): Likewise.
2359 (write_cursor): Likewise.
2360 (scroll_up): Likewise.
2361 (grub_vga_putchar): Likewise.
2362 (grub_vga_getcharwidth): Likewise.
2363 (grub_vga_getwh): Likewise.
2364 (grub_vga_getxy): Likewise.
2365 (grub_vga_gotoxy): Likewise.
2366 (grub_vga_cls): Likewise.
2367 (grub_vga_setcolorstate): Likewise.
2368 (grub_vga_setcursor): Likewise.
2369 (grub_video_vga_init): New function.
2370 (grub_video_vga_setup): Likewise.
2371 (grub_video_vga_fini): Likewise.
2372 (update_target): Likewise.
2373 (grub_video_vga_blit_bitmap): Likewise.
2374 (grub_video_vga_blit_render_target): Likewise.
2375 (grub_video_vga_set_active_render_target): Likewise.
2376 (grub_video_vga_get_active_render_target): Likewise.
2377 (grub_video_vga_swap_buffers): Likewise.
2378 (grub_video_vga_set_palette): Likewise.
2379 (grub_video_vga_get_info_and_fini): Likewise.
2380 (grub_vga_term): Removed.
2381 (grub_video_vga_adapter): New variable.
2382 (GRUB_MOD_INIT): Register a video driver instead of terminal.
2383 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2384
2385 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * video/readers/jpeg.c: Indented.
2388
2389 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Various jpeg cleanups.
2392
2393 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
2394 (grub_jpeg_decode_quan_table): Use sizeof.
2395 (grub_jpeg_decode_du): Use ARRAY_SIZE.
2396
2397 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
2398
2399 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
2400 tables. Ignore non-last ac bit.
2401 (grub_jpeg_decode_quan_table): Likewise.
2402
2403 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2406 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
2407 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2408 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
2409 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
2410 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2411
2412 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
2415 error.
2416
2417 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2420
2421 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
2424 condition.
2425
2426 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
2429 part.
2430
2431 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
2434 pointers.
2435
2436 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2439
2440 2010-05-01 Christian Franke <franke@computer.org>
2441
2442 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
2443 Remove broken Cygwin path conversion.
2444 * util/misc.c: [__CYGWIN__] Add include and define.
2445 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
2446 for Cygwin 1.7.
2447 (make_system_path_relative_to_its_root): Simplify loop, replace early
2448 return by break.
2449 [__CYGWIN__] Add conversion to win32 path.
2450 Include "/" case in trailing slash removal.
2451
2452 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * kern/main.c (grub_load_config): Fix copy-pasted comment.
2455 Reported by: Seth Goldberg
2456
2457 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * commands/help.c (grub_cmd_help): Fix a typo.
2460 Reported by: Seth Goldberg
2461
2462 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
2465 name and add N_.
2466 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
2467 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
2468 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
2469 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
2470 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
2471 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
2472 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2473 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2474 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2475 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2476 * normal/context.c (GRUB_MOD_INIT): Likewise.
2477 * normal/main.c (GRUB_MOD_INIT): Likewise.
2478 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2479 * term/serial.c (GRUB_MOD_INIT): Likewise.
2480 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2481
2482 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
2485 extra == 0.
2486
2487 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * commands/iorw.c: New file.
2490 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
2491 (iorw_mod_SOURCES): New variable.
2492 (iorw_mod_CFLAGS): Likewise.
2493 (iorw_mod_LDFLAGS): Likewise.
2494
2495 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 Hotkey support
2498
2499 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
2500 * normal/main.c (hotkey_aliases): New variable.
2501 (grub_normal_add_menu_entry): Parse "--hotkey".
2502 * normal/menu_text.c (run_menu): Handle hotkeys.
2503
2504 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * kern/i386/coreboot/init.c (grub_machine_init): Call
2507 grub_machine_mmap_init on qemu.
2508
2509 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * boot/i386/qemu/boot.S: Add a missing .code16.
2512
2513 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 Use LBIO on coreboot.
2516
2517 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
2518 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
2519 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
2520 New declaration.
2521 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
2522 grub_machine_mmap_init on coreboot.
2523 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
2524 GRUB_LINUXBIOS_MEMBER_LINK.
2525 (grub_machine_mmap_iterate): Fix declaration.
2526 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2527
2528 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Split coreboot and multiboot ports.
2531
2532 * conf/i386-multiboot.rmk: New file.
2533 * configure.ac: Add multiboot port.
2534 * include/grub/i386/multiboot/boot.h: New file.
2535 * include/grub/i386/multiboot/console.h: Likewise.
2536 * include/grub/i386/multiboot/init.h: Likewise.
2537 * include/grub/i386/multiboot/kernel.h: Likewise.
2538 * include/grub/i386/multiboot/loader.h: Likewise.
2539 * include/grub/i386/multiboot/memory.h: Likewise.
2540 * include/grub/i386/multiboot/serial.h: Likewise.
2541 * include/grub/i386/multiboot/time.h: Likewise.
2542 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
2543 * loader/multiboot.c: Likewise.
2544 * loader/multiboot_mbi2.c: Likewise.
2545 * util/grub-mkrescue.in: Generate multiboot rescue.
2546
2547 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * kern/parser.c (grub_parser_execute): Cope with read-only config.
2550
2551 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 Merge handling of input and output terminals. Fix a hang.
2554
2555 * commands/terminal.c (abstract_terminal): New struct.
2556 (handle_command): New function. Based on grub_cmd_terminal_input.
2557 (grub_cmd_terminal_input): Use handle_command.
2558 (grub_cmd_terminal_output): Use handle_command.
2559
2560 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
2561
2562 Fix comment handling.
2563
2564 * tests/grub_script_comments.in: New testcase.
2565 * conf/tests.rmk: Rules for new testcase.
2566 * script/yylex.l: Updated flex rules.
2567
2568 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2569
2570 * docs/grub.texi (play): Document that zero pitches produce rests.
2571 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
2572 if argc is 1.
2573
2574 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
2577 autogen issues.
2578
2579 2010-04-26 Christian Franke <franke@computer.org>
2580
2581 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
2582 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
2583 (grub_get_prefix): Remove function.
2584 * util/grub-emu.c (main): Replace grub_get_prefix () call by
2585 make_system_path_relative_to_its_root ().
2586 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2587
2588 2010-04-24 Christian Franke <franke@computer.org>
2589
2590 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
2591 (kernel_img_LDFLAGS): Remove -static-libgcc.
2592
2593 2010-04-24 Christian Franke <franke@computer.org>
2594
2595 * configure.ac: Do not CHECK_BSS_START_SYMBOL
2596 and CHECK_END_SYMBOL if grub-emu is built.
2597 Unset TARGET_OBJ2ELF if grub-emu is built
2598 without module support.
2599
2600 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
2601
2602 Nilfs2 support.
2603
2604 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
2605 (grub_fstest_SOURCES): Likewise.
2606 (pkglib_MODULES): Add nilfs2.mod.
2607 (nilfs2_mod_SOURCES): New variable.
2608 (nilfs2_mod_CFLAGS): Likewise.
2609 (nilfs2_mod_LDFLAGS): Likewise.
2610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2611 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
2612 * fs/nilfs2.c: New file.
2613
2614 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
2617 is not supported.
2618
2619 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
2620
2621 Add grub-mkconfig support for NetBSD.
2622
2623 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
2624 * util/grub-mkconfig.in: export new NetBSD specific variables.
2625 * po/POTFILES-shell: added 10_netbsd.in.
2626 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
2627
2628 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
2629
2630 Fix emu build with grub-emu-pci and grub-emu-modules.
2631
2632 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
2633 functions.
2634 * include/grub/libpciaccess.h: New file.
2635 * conf/any-emu.rmk: Update kernel headers for emu build.
2636
2637 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2640
2641 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2644
2645 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
2648 Retrieve chosen/bootpath if bootpath isn't hardcoded.
2649 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
2650 util/ieee1275/ofpath.c.
2651 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
2652 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
2653 * include/grub/sparc64/ieee1275/boot.h
2654 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
2655 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
2656 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
2657 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
2658 const char *.
2659 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
2660 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
2661 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
2662 install.
2663
2664 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2665
2666 * util/grub-mkconfig.in: Corrected two == equality tests.
2667 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
2668 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
2669 expect a number appended to it.
2670 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
2671 expects a number appended to it.
2672
2673 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2676
2677 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * util/hostdisk.c (make_device_name): Change to new partition naming.
2680
2681 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2684
2685 2010-04-17 Christian Franke <franke@computer.org>
2686
2687 * Makefile.in: Add missing localedir setting.
2688
2689 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
2690
2691 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
2692 mistake in r2156. Noticed by Anthony Fok.
2693
2694 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
2695 @localedir@.
2696 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2697
2698 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
2699
2700 Fix a spurious, uninitialized variable warning.
2701
2702 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
2703 Initialize variable, shdr.
2704 (grub_freebsd_load_elfmodule): Likewise.
2705 (grub_freebsd_load_elf_meta): Likewise.
2706
2707 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
2708
2709 Fix for escaped dollar in double quoted strings.
2710
2711 * script/yylex.l: Updated flex rules.
2712 * conf/tests.rmk: Rule for new testcase.
2713 * tests/grub_script_dollar.in: New testcase.
2714
2715 2010-04-13 Carles Pina i Estany <carles@pina.cat>
2716 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
2717
2718 Enclose all translated strings in grub.cfg in single quotes, and
2719 escape them appropriately (Ubuntu bug #552921).
2720
2721 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
2722 * util/grub.d/10_hurd.in: Use it.
2723 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2724 * util/grub.d/10_linux.in (linux_entry): Likewise.
2725
2726 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Fix cygwin compilation.
2729
2730 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
2731 * include/grub/misc.h (__register_frame_info)
2732 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
2733 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2734 * kern/misc.c (__register_frame_info)
2735 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
2736 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2737
2738 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2741
2742 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Unify libgcc processing.
2745
2746 * Makefile.in (kernel_img_LDFLAGS): New variable.
2747 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
2748 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
2749 overwriting.
2750 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
2751 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
2752 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
2753 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
2754 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
2755 overwriting. Remove -lgcc and -static-libgcc
2756 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
2757 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2758 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
2759 (kernel_img_LDFLAGS): Append instead of overwriting.
2760 Remove -lgcc and -static-libgcc
2761 * conf/sparc64-ieee1275.rmk: Likewise.
2762 * include/grub/powerpc/libgcc.h: Move to ...
2763 * include/grub/libgcc.h: .. this.
2764 * include/grub/libgcc.h: Don't export most of the function on x86.
2765 (__bswapsi2): New export.
2766 (__bswapdi2): Likewise.
2767 * include/grub/mips/libgcc.h: Removed.
2768 * include/grub/sparc64/libgcc.h: Likewise.
2769
2770 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
2773 disk_info_msg (conflicts with gettexting into languages with cases).
2774
2775 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2776
2777 Add grub-probe support for NetBSD.
2778
2779 * util/getroot.c (find_root_device): Convert block device to
2780 character device on NetBSD.
2781 * util/probe.c (probe): Require character device on NetBSD.
2782 * util/hostdisk.c: NetBSD specific headers.
2783 (configure_device_driver): new function to tune device driver
2784 parameters (currently only for NetBSD floppy driver).
2785 (grub_util_biosdisk_open): NetBSD specific code (get disk size
2786 via disklabel ioctl).
2787 (open_device): call configure_device_driver on NetBSD.
2788 (convert_system_partition_to_system_disk): NetBSD specific code.
2789 (device_is_wholedisk): Likewise.
2790 (grub_util_biosdisk_get_grub_dev): Likewise.
2791 (make_device_name): Fixed a typo in bsd_part_str.
2792 * configure.ac: check for opendisk() and getrawpartition() on
2793 NetBSD and set LIBUTIL.
2794 * Makefile.in: add LIBUTIL to LIBS.
2795
2796 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2797
2798 Documentation fix.
2799
2800 * util/grub-script-check.c: Better help message.
2801
2802 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
2803
2804 Fix FreeBSD build.
2805
2806 * configure.ac: Flex version check.
2807 * conf/common.rmk: Add -Wno-error to sh.mod.
2808 * script/yylex.l: Remove all #pragma.
2809
2810 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * include/grub/util/misc.h (canonicalise_file_name): Add missing
2813 prototype.
2814 Reported by: Seth Goldberg.
2815
2816 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
2819 Rename "module" to "module2".
2820 Reported by: Seth Goldberg.
2821
2822 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
2825 EXPORT_FUNC.
2826 Reported by: Seth Goldberg.
2827
2828 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * lib/posix_wrap/locale.h: Add missing file.
2831 Reported by: Seth Goldberg.
2832
2833 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 grub-emu module load support.
2836
2837 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
2838 NO_DYNAMIC_MODULES switched to this.
2839 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
2840 (CFLAGS): Likewise.
2841 * conf/any-emu.rmk: Generate symlist.
2842 (kernel_img_HEADERS): Add util/datetime.h.
2843 (kernel_img_HEADERS) [sdl]: Add sdl.h.
2844 (kernel_img_HEADERS) [libusb]: Add libusb.h.
2845 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
2846 kern/$(target_cpu)/cache.S.
2847 * configure.ac (grub-emu-modules): New option.
2848 * genmk.rb: Handle multiple source lists.
2849 * include/grub/sdl.h: New file.
2850 * include/grub/libusb.h: Likewise.
2851 * util/grub-emu.c (main): Hanle (host) root.
2852 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
2853 GRUB_ERR_UNKNOWN_DEVICE.
2854 * util/misc.c: Move mm functions to ...
2855 * util/mm.c: ... here. All users updated.
2856
2857 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
2860 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
2861 missing files.
2862 (maintainer-clean): Remove libgcrypt-grub.
2863
2864 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
2867
2868 2010-04-09 EFI Coder <eficoder@hotmail.com>
2869
2870 * normal/menu_text.c (print_message): Clean up the message and show
2871 the Fn information when on EFI
2872 * term/efi/console.c (grub_console_checkkey): Add F4 support.
2873
2874 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
2877 All users updated.
2878 * normal/crypto.c (read_crypto_list): Likewise.
2879 * normal/dyncmd.c (read_command_list): Likewise.
2880 * normal/term.c (read_terminal_list): Likewise.
2881 * normal/main.c (read_lists): Use explicit prefix.
2882 (read_lists_hook): Use read_lists.
2883 (grub_normal_execute): Likewise.
2884
2885 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
2888 Reported by: Thomas Schmitt.
2889 Add -no-emul-boot to grub-mkisofs parameters.
2890
2891 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * font/font.c: Indented.
2894
2895 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2896
2897 Elif support to GRUB script (by Deepak Vankadaru).
2898
2899 * tests/grub_script_if.in: New testcase.
2900 * conf/tests.rmk: Rule for new testcase.
2901 * script/parser.y: Grammar rules for elif.
2902
2903 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
2904
2905 While and until loops support to GRUB script.
2906
2907 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
2908 (grub_script_create_cmdwhile): New function prototype.
2909 (grub_script_execute_cmdwhile): New function prototype.
2910 * script/execute.c (grub_script_execute_cmdwhile): New function.
2911 * script/parser.y (command): New commands.
2912 (whilecmd): New grammar rule.
2913 (untilcmd): New grammar rule.
2914 * script/script.c (grub_script_create_cmdwhile): New function.
2915 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2916 function.
2917
2918 * tests/grub_script_while1.in: New testcase.
2919 * conf/tests.rmk: Rule for new testcase.
2920
2921 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2924 as *.jpg.
2925
2926 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
2927
2928 GRUB_BACKGROUND support.
2929
2930 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2931 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2932
2933 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 Load fonts and modules for gfxmenu in grub-mkconfig.
2936 Idea by: Mario Vazquez
2937
2938 * util/grub.d/00_header.in: Load pf2 and image modules.
2939
2940 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 grub-mkconfig multiple terminal support.
2943
2944 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2945 * util/grub.d/00_header.in: Likewise.
2946
2947 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2950 we use cd $(srcdir).
2951
2952 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
2953
2954 * util/grub.d/10_linux.in: Only use the first word of
2955 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2956 spaces in GRUB_DISTRIBUTOR.
2957 * util/grub.d/10_kfreebsd.in: Likewise.
2958 * util/grub.d/10_hurd.in: Likewise.
2959
2960 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2961
2962 Fix unit testing framework for Qemu 0.12.
2963
2964 * tests/util/grub-shell.in: Remove -serial stdio option.
2965
2966 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 POSIX header file wrappers.
2969
2970 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2971 equivalents.
2972 * lib/posix_wrap/ctype.h: Likewise.
2973 * lib/posix_wrap/errno.h: Likewise.
2974 * lib/posix_wrap/langinfo.h: Likewise.
2975 * lib/posix_wrap/limits.h: Likewise.
2976 * lib/posix_wrap/localcharset.h: Likewise.
2977 * lib/posix_wrap/stdint.h: Likewise.
2978 * lib/posix_wrap/stdio.h: Likewise.
2979 * lib/posix_wrap/stdlib.h: Likewise.
2980 * lib/posix_wrap/string.h: Likewise.
2981 * lib/posix_wrap/sys/types.h: Likewise.
2982 * lib/posix_wrap/unistd.h: Likewise.
2983 * lib/posix_wrap/wchar.h: Likewise.
2984 * lib/posix_wrap/wctype.h: Likewise.
2985 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2986 (grub_script.yy.h): Likewise.
2987 * script/yylex.l: Remove POSIX emulation #defines.
2988 * Makefile.in (POSIX_CFLAGS): New variable.
2989 (GNULIB_UTIL_CFLAGS): Likewise.
2990
2991 Regexp support.
2992
2993 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2994 (regexp_mod_SOURCES): New variable.
2995 (regexp_mod_CFLAGS): Likewise.
2996 (regexp_mod_LDFLAGS): Likewise.
2997 * commands/regexp.c: New file.
2998 * gnulib/regcomp.c: New file. Imported from gnulib.
2999 * gnulib/regex.c: Likewise.
3000 * gnulib/regex_internal.c: Likewise.
3001 * gnulib/regex_internal.h: Likewise.
3002 * gnulib/regexec.c: Likewise.
3003 * gnulib/regex.h: Likewise.
3004
3005 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3008 unsupported video mode types.
3009
3010 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3013
3014 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3017 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3018
3019 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 Remove unused grub_vga_get_font.
3022
3023 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3024 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3025
3026 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3027
3028 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3029 * include/grub/misc.h: Likewise.
3030
3031 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3032
3033 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3034 for which failure is fatal.
3035
3036 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3037
3038 * util/grub-install.in: Use mkdir -p to create grub directory.
3039 * util/i386/efi/grub-install.in: Likewise.
3040 * util/ieee1275/grub-install.in: Likewise.
3041
3042 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3043
3044 * Makefile.in (LEX): new variable.
3045
3046 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3047
3048 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3049 `=' and added double quotes on operands of this equality test.
3050
3051 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * Makefile.in (uninstall): Remove a leftover debug echo.
3054 Reported by: Grégoire Sutre
3055
3056 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 MIPS multiboot2 support.
3059
3060 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3061 (multiboot2_mod_SOURCES): New variable.
3062 (multiboot2_mod_CFLAGS): Likewise.
3063 (multiboot2_mod_LDFLAGS): Likewise.
3064 (multiboot2_mod_ASFLAGS): Likewise.
3065 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3066 definition.
3067 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3068 (MULTIBOOT_MBI_REGISTER): Likewise.
3069 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3070 (MULTIBOOT_ELF32_MACHINE): Likewise.
3071 (MULTIBOOT_ELF64_MACHINE): Likewise.
3072 * include/grub/mips/multiboot.h: New file.
3073 * include/grub/video.h (grub_video_driver_id): New type
3074 GRUB_VIDEO_DRIVER_SM712.
3075 (grub_video_get_info_and_fini): Export.
3076 (grub_video_get_palette): Likewise.
3077 (grub_video_get_driver_id): Likewise.
3078 * include/multiboot2.h: Resynced with spec.
3079 * loader/i386/multiboot.c: Moved from here ...
3080 * loader/multiboot.c: ... here. All users updated.
3081 (grub_multiboot_boot): Use platform-specific macros.
3082 * loader/i386/multiboot_elfxx.c: Moved from here ...
3083 * loader/multiboot_elfxx.c: ... here. All users updated.
3084 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3085 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3086 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3087
3088 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 Import gnulib argp module.
3091
3092 * gnulib/argp-ba.c: New file.
3093 * gnulib/argp-eexst.c: Likewise.
3094 * gnulib/argp-fmtstream.c: Likewise.
3095 * gnulib/argp-fmtstream.h: Likewise.
3096 * gnulib/argp-fs-xinl.c: Likewise.
3097 * gnulib/argp-help.c: Likewise.
3098 * gnulib/argp-namefrob.h: Likewise.
3099 * gnulib/argp-parse.c: Likewise.
3100 * gnulib/argp-pin.c: Likewise.
3101 * gnulib/argp-pv.c: Likewise.
3102 * gnulib/argp-pvh.c: Likewise.
3103 * gnulib/argp-version-etc.c: Likewise.
3104 * gnulib/argp-version-etc.h: Likewise.
3105 * gnulib/argp-xinl.c: Likewise.
3106 * gnulib/argp.h: Likewise.
3107
3108 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * kern/device.c (grub_device_iterate): Clear errors after failed
3111 opening device.
3112
3113 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
3116 returned by firmware.
3117
3118 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
3121 compilation on coreboot and qemu
3122
3123 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * include/multiboot2.h: Resync with spec.
3126
3127 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Multiboot2 tag support
3130
3131 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
3132 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
3133 Remove loader/multiboot_loader.c.
3134 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
3135 (grub_multiboot2_real_boot): Likewise.
3136 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
3137 (grub_get_multiboot_mmap_count): New proto.
3138 (grub_fill_multiboot_mmap): Likewise.
3139 (grub_multiboot_set_video_mode): Likewise.
3140 (grub_multiboot_set_console): Likewise.
3141 (grub_multiboot_load): Likewise.
3142 (grub_multiboot_load_elf): Likewise.
3143 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
3144 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
3145 * include/multiboot.h: Resynced with specification.
3146 * include/multiboot2.h: Resynced with specification.
3147 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
3148 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
3149 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
3150 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
3151 users updated.
3152 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
3153 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
3154 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
3155 Removed.
3156 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
3157 Moved from here...
3158 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
3159 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3160 Moved from here...
3161 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
3162 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
3163 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
3164 All users updated.
3165 * loader/i386/multiboot_mbi2.c: New file.
3166
3167 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Resync with gnulib.
3170
3171 * Makefile.in (GNULIB_CFLAGS): New variable.
3172 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
3173 (grub_script_check_CFLAGS): New variable.
3174 * gnulib/alloca.h: Resync with gnulib.
3175 * gnulib/error.c: Likewise.
3176 * gnulib/error.h: Likewise.
3177 * gnulib/fnmatch.c: Likewise.
3178 * gnulib/fnmatch_loop.c: Likewise.
3179 * gnulib/getdelim.c: Likewise.
3180 * gnulib/getline.c: Likewise.
3181 * gnulib/getopt.c: Likewise.
3182 * gnulib/getopt1.c: Likewise.
3183 * gnulib/getopt_int.h: Likewise.
3184 * gnulib/gettext.h: Likewise.
3185 * gnulib/progname.c: Likewise.
3186 * gnulib/progname.h: Likewise.
3187
3188 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
3189
3190 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
3191 which is the case with --disabled-nls.
3192
3193 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
3194 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
3195 * util/misc.c: Likewise.
3196 * util/mkisofs/mkisofs.c: Likewise.
3197 * util/mkisofs/mkisofs.h: Likewise.
3198
3199 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Simplify Apple CC support.
3202
3203 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
3204 Add 0 byte at the end not to have a symbol with empty target.
3205 * mmap/i386/pc/mmap_helper.S: Likewise.
3206 * genmk.rb: Ignore errors 2030 and 2050.
3207 * kern/i386/pc/startup.S: Use LOCAL when possible.
3208
3209 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
3210
3211 Testcase and the fix for final semicolon on cmdline.
3212
3213 * tests/grub_script_final_semicolon.in: New testcase.
3214 * conf/tests.rmk: Rules for the new testcase.
3215 * script/parser.y: Grammar fix.
3216
3217 2010-03-26 BVK Chaitanya <bvk@localhost>
3218
3219 Blank lines testcase for GRUB script.
3220
3221 * tests/grub_script_blanklines.in: New testcase.
3222 * conf/tests.rmk: Rules for the new testcase.
3223
3224 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 Don't use __FILE__.
3227
3228 * genmk.rb: Add -DGRUB_FILE to all C targets.
3229 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
3230 * include/grub/list.h: Likewise.
3231 * include/grub/misc.h: Likewise.
3232 * include/grub/mm.h: Likewise.
3233 * include/grub/test.h: Likewise.
3234 * kern/mm.c: Likewise.
3235 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3236
3237 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Sunpc partitions support.
3240
3241 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
3242 (grub_fstest_SOURCES): Likewise.
3243 (pkglib_MODULES): Add part_sunpc.mod.
3244 (part_sunpc_mod_SOURCES): New variable.
3245 (part_sunpc_mod_CFLAGS): Likewise.
3246 (part_sunpc_mod_LDFLAGS): Likewise.
3247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
3248 * partmap/sunpc.c: New file.
3249
3250 2010-03-26 BVK Chaitanya <bvk@localhost>
3251
3252 For loop support to GRUB script.
3253
3254 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
3255 (grub_script_create_cmdfor): New function prototype.
3256 (grub_script_execute_cmdfor): New function prototype.
3257 * script/execute.c (grub_script_execute_cmdfor): New function.
3258 * script/parser.y (command): New for command.
3259 (forcmd): New grammar rule.
3260 * script/script.c (grub_script_create_cmdfor): New function.
3261 * util/grub-script-check.c (grub_script_execute_cmdfor): New
3262 function.
3263 * tests/grub_script_for1.in: New testcase.
3264 * conf/tests.rmk: Rules for new testcase.
3265
3266 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Nested partitions
3269
3270 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
3271 'partition' is NULL, grub_partition_get_start already does that.
3272 * commands/loadenv.c (check_blocklists): Likewise.
3273 (write_blocklists): Likewise.
3274 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
3275 (grub_fstest_SOURCES): Likewise.
3276 (pkglib_MODULES): Add part_bsd.mod.
3277 (part_bsd_mod_SOURCES): New variable.
3278 (part_bsd_mod_CFLAGS): Likewise.
3279 (part_bsd_mod_LDFLAGS): Likewise.
3280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
3281 (grub_emu_SOURCES): Likewise.
3282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3283 * include/grub/bsdlabel.h: New file.
3284 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
3285 'get_name'.
3286 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
3287 (grub_partition_map_list): New variable.
3288 (grub_partition_map_register): Inline.
3289 (grub_partition_map_unregister): Likewise.
3290 (FOR_PARTITION_MAPS): New macro.
3291 (grub_partition_map_iterate): Removed.
3292 (grub_partition_get_start): Handle nested partitions.
3293 * include/grub/msdos_partition.h: Remove bsd-related entries.
3294 (grub_pc_partition): Remove.
3295 * kern/disk.c (grub_disk_close): Free partition data.
3296 (grub_disk_adjust_range): Handle nested partitions.
3297 * kern/partition.c (grub_partition_map_probe): New function.
3298 (grub_partition_probe): Parse name to number, handle subpartitions.
3299 (get_partmap): New function.
3300 (grub_partition_iterate): Handle subpartitions.
3301 (grub_partition_get_name): Likewise.
3302 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
3303 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
3304 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
3305 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
3306 Set 'number'.
3307 (acorn_partition_map_probe): Remove.
3308 (acorn_partition_map_get_name): Likewise.
3309 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
3310 Set 'number'.
3311 Set 'index' to 0 since there can be only one partition entry per sector.
3312 (amiga_partition_map_probe): Remove.
3313 (amiga_partition_map_get_name): Likewise.
3314 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
3315 Set 'number'.
3316 Set 'offset' and 'index' to real positions of partitions.
3317 (apple_partition_map_probe): Remove.
3318 (apple_partition_map_get_name): Likewise.
3319 * partmap/bsdlabel.c: New file.
3320 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
3321 Set 'number'.
3322 Allocate 'data' so it can be correctly freed.
3323 Set 'index' to offset inside sector.
3324 (gpt_partition_map_probe): Remove.
3325 (gpt_partition_map_get_name): Likewise.
3326 * partmap/msdos.c (grub_partition_parse): Remove.
3327 (pc_partition_map_iterate): Don't force raw access.
3328 Set 'number'.
3329 Make 'ext_offset' a local variable.
3330 (pc_partition_map_probe): Remove.
3331 (pc_partition_map_get_name): Remove.
3332 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
3333 Set 'number'.
3334 (sun_partition_map_probe): Remove.
3335 (sun_partition_map_get_name): Likewise.
3336 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
3337 (grub_pcpart_type): Likewise.
3338 * util/hostdisk.c (open_device): Handle new numbering scheme.
3339 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
3340 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
3341 * util/grub-probe.c (probe_partmap): Handle nested paritions.
3342 * util/grub-install.in: Insert all subpartition modules.
3343 * util/ieee1275/grub-install.in: Likewise.
3344
3345 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
3346
3347 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
3348 grammar.
3349
3350 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
3351
3352 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
3353
3354 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
3355
3356 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
3357 match where 'make install' puts them.
3358 * util/i386/efi/grub-install.in: Likewise.
3359
3360 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
3361
3362 * .bzrignore: Add gentrigtables, grub-script-check,
3363 grub_script_check_init.c, grub_script_check_init.h, and
3364 trigtables.c.
3365
3366 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * kern/parser.c: Indented.
3369
3370 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
3373
3374 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
3377 alpha_mask_size == 0 case.
3378
3379 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
3380
3381 GRUB shell lexer and parser improvements.
3382
3383 * conf/any-emu.rmk: Build rule updates.
3384 * conf/common.rmk: Likewise.
3385 * conf/i386-coreboot.rmk: Likewise.
3386 * conf/i386-efi.rmk: Likewise.
3387 * conf/i386-ieee1275.rmk: Likewise.
3388 * conf/i386-pc.rmk: Likewise.
3389 * conf/powerpc-ieee1275.rmk: Likewise.
3390 * conf/x86_64-efi.rmk: Likewise.
3391
3392 * configure.ac: Configure check for flex.
3393
3394 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
3395 types.
3396 (grub_lexer_param): Struct member updates.
3397 (grub_parser_param): Likewise.
3398 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
3399 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
3400 (grub_script_lexer_init): Prototype update.
3401 (grub_script_lexer_record_start): Likewise.
3402 (grub_script_lexer_record_stop): Likewise.
3403 (grub_script_lexer_yywrap): New function prototype.
3404 (grub_script_lexer_fini): Likewise.
3405 (grub_script_execute_argument_to_string): Removed by...
3406 (grub_script_execute_argument_to_argv): ...better version.
3407
3408 * script/execute.c (ROUND_UPTO): New macro.
3409 (grub_script_execute_cmdline): Out of memory fixes.
3410 (grub_script_execute_menuentry): Likewise.
3411 (grub_script_execute_argument_to_string): Removed. Update all
3412 users by...
3413 (grub_script_execute_argument_to_argv): ...better version.
3414 * script/function.c (grub_script_function_create): Use
3415 grub_script_execute_argument_to_argv instead of
3416 grub_script_execute_argument_to_string.
3417
3418 * script/lexer.c (check_varstate): Removed.
3419 (check_textstate): Removed.
3420 (grub_script_lexer_record_start): Likewise.
3421 (grub_script_lexer_record_stop): Likewise.
3422 (recordchar): Replaced with...
3423 (grub_script_lexer_record): ...new function.
3424 (nextchar): Removed.
3425 (grub_script_lexer_init): Rewritten.
3426 (grub_script_yylex): Rewritten.
3427 (append_newline): New function.
3428 (grub_script_lexer_yywrap): New function.
3429 (grub_script_lexer_fini): New function.
3430 (grub_script_yyerror): Sets error flag.
3431
3432 * script/yylex.l: New file.
3433 (grub_lexer_yyfree): Wrapper for flex yyffre.
3434 (grub_lexer_yyalloc): Likewise.
3435 (grub_lexer_yyrealloc): Likewise.
3436 * script/parser.y: Refactored.
3437
3438 * script/script.c (grub_script_arg_add): Out of memory fixes.
3439 (grub_script_add_arglist): Likewise.
3440 (grub_script_create_cmdline): Likewise.
3441 (grub_script_create_cmdmenu): Likewise.
3442 (grub_script_add_cmd): Likewise.
3443 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
3444 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
3445 unnecessary code.
3446
3447 * tests/grub_script_echo1.in: New testcase.
3448 * tests/grub_script_vars1.in: New testcase.
3449 * tests/grub_script_echo_keywords.in: New testcase.
3450
3451 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Remove some redundancy in build system.
3454
3455 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
3456 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
3457 (TARGET_LDFLAGS): Add -nostdlib.
3458 (TARGET_IMG_LDFLAGS): Likewise.
3459 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
3460 anything since mmap isn't available.
3461 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
3462 Add util/time.c.
3463 (pkglib_MODULES): Remove reboot.mod.
3464 (reboot_mod_SOURCES): Removed.
3465 (reboot_mod_CFLAGS): Likewise.
3466 (reboot_mod_LDFLAGS): Likewise.
3467 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
3468 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
3469 (DEFSYMFILES): Add kernel_syms.lst.
3470 (kernel_img_HEADERS): Add common headers.
3471 (symlist.c): New target.
3472 (kernel_syms.lst): Likewise.
3473 (pkglib_MODULES): Add memdisk.mod.
3474 (memdisk_mod_SOURCES): New variable.
3475 (memdisk_mod_CFLAGS): Likewise.
3476 (memdisk_mod_LDFLAGS): Likewise.
3477 (pkglib_MODULES): Add reboot.mod.
3478 (reboot_mod_SOURCES): New variable.
3479 (reboot_mod_CFLAGS): Likewise.
3480 (reboot_mod_LDFLAGS): Likewise.
3481 (pkglib_MODULES): Add date.mod.
3482 (date_mod_SOURCES): New variable.
3483 (date_mod_CFLAGS): Likewise.
3484 (date_mod_LDFLAGS): Likewise.
3485 (pkglib_MODULES): Add datehook.mod.
3486 (datehook_mod_SOURCES): New variable.
3487 (datehook_mod_CFLAGS): Likewise.
3488 (datehook_mod_LDFLAGS): Likewise.
3489 (pkglib_MODULES): Add lsmmap.mod.
3490 (lsmmap_mod_SOURCES): New variable.
3491 (lsmmap_mod_CFLAGS): Likewise.
3492 (lsmmap_mod_LDFLAGS): Likewise.
3493 (pkglib_MODULES): Add boot.mod.
3494 (boot_mod_SOURCES): New variable.
3495 (boot_mod_CFLAGS): Likewise.
3496 (boot_mod_LDFLAGS): Likewise.
3497 * conf/i386-coreboot.rmk: Removed redundant parts.
3498 * conf/i386-ieee1275.rmk: Likewise.
3499 * conf/i386-pc.rmk: Likewise.
3500 * conf/mips-yeeloong.rmk: Likewise.
3501 * conf/mips.rmk: Likewise.
3502 * conf/powerpc-ieee1275.rmk: Likewise.
3503 * conf/sparc64-ieee1275.rmk: Likewise.
3504 * conf/x86_64-efi.rmk: Likewise.
3505 * conf/i386-coreboot.rmk: Moved qemu parts ..
3506 * conf/i386-qemu.rmk: ... here
3507 * conf/i386-efi.rmk: Moved common parts to...
3508 * conf/x86-efi.rmk: ... here.
3509 * conf/i386.rmk: Added modules common to all x86 variants.
3510 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
3511 * disk/memdisk.c: Remove grub/machine/kernel.h.
3512 * gensymlist.sh.in: Include symbol.h.
3513 * hook/datehook.c: Correct module name.
3514 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
3515 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
3516 * include/grub/i386/efi/serial.h: New file.
3517 * include/grub/x86_64/efi/serial.h: Likewise.
3518 * util/time.c: Likewise.
3519 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
3520
3521 2010-03-14 Colin King <colin.king@ubuntu.com>
3522 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3523
3524 Shrink the pre-partition-table part of boot.img by eight bytes.
3525
3526 * boot/i386/pc/boot.S (ERR): New macro.
3527 (chs_mode): Use ERR.
3528 (geometry_error): Likewise.
3529 (hd_probe_error): Remove. This is only used once, so we wrwite
3530 it inline instead.
3531 (read_error): Instead of printing read_error_string, just set up
3532 %si and fall through to ...
3533 (error_message): ... this new function, also used by ERR.
3534
3535 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
3536
3537 Speed up consecutive hostdisk operations on the same device.
3538
3539 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
3540 (grub_util_biosdisk_open): Initialise disk->data.
3541 (struct linux_partition_cache): New structure.
3542 (linux_find_partition): Cache partition start positions; these are
3543 expensive to compute on every read and write.
3544 (open_device): Cache open file descriptor in disk->data, so that we
3545 don't have to reopen it and flush the buffer cache for consecutive
3546 operations on the same device.
3547 (grub_util_biosdisk_close): New function.
3548 (grub_util_biosdisk_dev): Set `close' member.
3549
3550 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
3551 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
3552 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3553 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3554 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
3555
3556 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Compile parts of grub-emu as modules.
3559
3560 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
3561 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
3562 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
3563 (all-local): Add $(GRUB_EMU).
3564 (install-local): Install $(GRUB_EMU).
3565 (uninstall): Uninstall $(GRUB_EMU).
3566 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
3567 * kern/dl.c: Likewise.
3568 * commands/sleep.c: Not include machine/time.h.
3569 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
3570 (COMMON_CFLAGS): Likewise.
3571 (sbin_UTILITIES): Remove grub-emu.
3572 (grub_emu_SOURCES): Removed.
3573 (kernel_img_RELOCATABLE): New variable.
3574 (pkglib_PROGRAMS): Add kernel.img.
3575 (kernel_img_SOURCES): New variable
3576 (kernel_img_CFLAGS): Likewise.
3577 (kernel_img_LDFLAGS): Likewise.
3578 (TARGET_NO_STRIP): Likewise.
3579 (TARGET_NO_DYNAMIC_MODULES): Likewise.
3580 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
3581 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
3582 (grub-emu): New target.
3583 (GRUB_EMU): New variable.
3584 * configure.ac: Whitelist -emu as possible x86_64 architecture.
3585 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
3586 * loader/xnu.c: Likewise.
3587 * include/grub/pci.h: Likewise.
3588 * genemuinit.sh: New file.
3589 * genemuinitheader.sh: Likewise.
3590 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
3591 Support TARGET_NO_DYNAMIC_MODULES.
3592 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
3593 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
3594 * disk/loopback.c: Likewise.
3595 * font/font_cmd.c: Likewise.
3596 * partmap/acorn.c: Likewise.
3597 * partmap/amiga.c: Likewise.
3598 * partmap/apple.c: Likewise.
3599 * partmap/gpt.c: Likewise.
3600 * partmap/msdos.c: Likewise.
3601 * partmap/sun.c: Likewise.
3602 * parttool/msdospart.c: Likewise.
3603 * term/gfxterm.c: Likewise.
3604 * video/bitmap.c: Likewise.
3605 * video/readers/jpeg.c: Likewise.
3606 * video/readers/png.c: Likewise.
3607 * video/readers/tga.c: Likewise.
3608 * video/video.c: Likewise.
3609 * util/grub-emu.c (read_command_list): Removed.
3610 (main): Don't call util_init_nls.
3611 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
3612 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
3613
3614 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
3617 date.mod, datehook.mod.
3618 (datetime_mod_SOURCES): New variable.
3619 (datetime_mod_CFLAGS): Likewise.
3620 (datetime_mod_LDFLAGS): Likewise.
3621 (date_mod_SOURCES): Likewise.
3622 (date_mod_CFLAGS): Likewise.
3623 (date_mod_LDFLAGS): Likewise.
3624 (datehook_mod_SOURCES): Likewise.
3625 (datehook_mod_CFLAGS): Likewise.
3626 (datehook_mod_LDFLAGS): Likewise.
3627 * conf/sparc64-ieee1275.rmk: Likewise.
3628 * lib/ieee1275/datetime.c: New file.
3629
3630 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
3633 (ieee1275_fb_mod_SOURCES): New variable.
3634 (ieee1275_fb_mod_CFLAGS): Likewise.
3635 (ieee1275_fb_mod_LDFLAGS): Likewise.
3636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
3637 New proto.
3638 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
3639 (HEAP_MAX_ADDR): Likewise.
3640 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
3641 type.
3642 Correct stop condition.
3643 (grub_ieee1275_devices_iterate): New function.
3644 * video/ieee1275.c: New file.
3645
3646 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
3649
3650 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
3651 as scratch.
3652 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
3653 SCRATCH_PAD_DISKBOOT as scratch.
3654 (bootit): Pass Openfirmware pointer in %o4.
3655 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
3656 of 0x200000.
3657 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
3658 with util/grub-mkrawimage.c.
3659 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
3660 * include/grub/aout.h (AOUT_MID_SUN): New definition.
3661 (grub_aout_get_type) [GRUB_UTIL]: Removed.
3662 (grub_aout_load) [GRUB_UTIL]: Likewise.
3663 * include/grub/kernel.h (grub_modules_get_end): New proto.
3664 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
3665 (SCRATCH_PAD_BOOT): New definition.
3666 (SCRATCH_PAD_DISKBOOT): Likewise.
3667 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
3668 * include/grub/sparc64/ieee1275/ieee1275.h
3669 (grub_ieee1275_original_stack): New variable
3670 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
3671 New definition
3672 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
3673 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
3674 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
3675 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
3676 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
3677 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
3678 (grub_platform_image_format_t): New type.
3679 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
3680 * kern/main.c (grub_modules_get_end)
3681 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
3682 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
3683 (codestart): Switch stacks.
3684 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
3685 variable.
3686 (grub_heap_init): Use grub_modules_get_end.
3687 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
3688 stack.
3689 * util/grub-mkrawimage.c (generate_image): Support sparc64.
3690 (main): Likewise.
3691 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
3692
3693 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
3694
3695 * util/grub-mkrescue.in: Base ISO UUID on UTC.
3696
3697 2010-03-08 Matt Kraai <kraai@ftbfs.org>
3698
3699 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
3700 bug #559005).
3701
3702 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * genmoddep.awk: Output all missing symbols and not only first.
3705
3706 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * NEWS: Put the date of 1.98 release.
3709
3710 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
3713 ft2build.h.
3714
3715 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
3718 completition in the middle of string.
3719
3720 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/grub-mkrescue.in: Use mktemp with explicit template.
3723
3724 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
3727
3728 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
3731 right pointer.
3732
3733 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Fix FreeBSD compilation.
3736
3737 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
3738 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
3739
3740 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
3743
3744 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
3747
3748 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
3751
3752 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
3753
3754 Support relative image path in theme file.
3755
3756 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
3757 (image_set_property): Handle theme_dir and relative path.
3758
3759 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * configure.ac: Alias amd64 to x86_64.
3762
3763 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * NEWS: mention multiboot on EFI.
3766
3767 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * kern/main.c (grub_load_modules): Handle errors from init functions of
3770 embeded modules.
3771
3772 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * normal/autofs.c (autoload_fs_module): Handle errors.
3775
3776 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Disable linux.mod on qemu-mips since it's not functional and leads
3779 to compilation failure.
3780
3781 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
3782 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
3783 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
3784 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
3785 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
3786 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
3787 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
3788 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
3789 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
3790 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
3791 Reported by: BVK Chaitanya
3792
3793 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
3794
3795 * INSTALL: Add gettext as a dependency and add qemu to a new section
3796 "Prerequisites for make-check".
3797
3798 2010-03-04 Christian Franke <franke@computer.org>
3799
3800 * util/grub-pe2elf.c: Add missing include "progname.h".
3801
3802 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * normal/crypto.c (read_crypto_list): Fix a typo.
3805 Reported by: Seth Goldberg.
3806
3807 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
3810 Reported by: Seth Goldberg.
3811
3812 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
3815 ascii.bitmaps.
3816
3817 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * genmk.rb: Remove terminal*.lst in make clean.
3820 Reported by: Seth Goldberg.
3821
3822 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * util/i386/efi/grub-install.in: Copy gettext files.
3825
3826 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
3829
3830 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 Wait for user entry basing on presence of output rather than on errors.
3833
3834 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
3835 (grub_install_newline_hook): Likewise.
3836 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
3837 * normal/menu.c (show_menu): Check line_counter to determine presence
3838 of output.
3839 * normal/term.c (grub_normal_line_counter): New variable.
3840 (grub_normal_get_line_counter): New function.
3841 (grub_install_newline_hook): Likewise.
3842
3843 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
3846
3847 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * configure.ac: Update version to 1.98.
3850
3851 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * util/grub.d/10_linux.in (linux_entry): Don't default to
3854 gfxpayload=keep if Linux doesn't support video handover.
3855
3856 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Don't compile video modules on yeeloong since video subsystem is part
3859 of kernel.
3860
3861 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
3862 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
3863 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
3864 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
3865 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
3866 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
3867 * include/grub/bitmap_scale.h: Likewise.
3868 * include/grub/bufio.h: Likewise.
3869 * include/grub/font.h: Likewise.
3870 * include/grub/gfxterm.h: Likewise.
3871 * include/grub/video.h: Likewise.
3872 * include/grub/vbe.h: Don't include video_fb.h.
3873 * video/i386/pc/vbe.c: Include video_fb.h.
3874 * commands/i386/pc/vbetest.c: Include video.h.
3875
3876 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
3877
3878 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
3879 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
3880 default entry if GRUB_SAVEDEFAULT=true. This allows using
3881 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
3882 saving a new default on every boot.
3883
3884 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * normal/crypto.c (read_crypto_list): Fix a memory leak.
3887 * normal/term.c (read_terminal_list): Likewise.
3888 * normal/main.c (grub_normal_init_page): Likewise.
3889 (grub_normal_read_line_real): Likewise.
3890
3891 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
3894 memory leak.
3895 Reported by: Seth Goldberg.
3896
3897 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
3898
3899 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
3900 duplicate declaration of `start'.
3901
3902 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
3905 filename.
3906 Reported by: Georgy Buranov
3907
3908 2010-02-20 Carles Pina i Estany <carles@pina.cat>
3909
3910 * util/grub-mkrawimage.c (usage): Change string formatting to
3911 improve gettext.
3912
3913 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3914
3915 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3916 backspace keys.
3917
3918 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3921 Reported by: Michael Suchanek.
3922
3923 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
3924
3925 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3926 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3927
3928 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 Remove any reference to non-free fonts.
3931
3932 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3933 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3934 uses non-free components.
3935 * font/font.c (grub_font_get_name): Remove example name.
3936 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3937 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3938 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3939 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3940
3941 2010-02-16 Georgy Buranov <gburanov@gmail.com>
3942
3943 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3944
3945 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3948 Double divisor.
3949 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3950 features.
3951 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3952
3953 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3956
3957 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3958
3959 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3960 * docs/grub.texi (Command-line and menu entry commands): Document play
3961 command.
3962
3963 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3964
3965 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3966 parse arguments as inline tempo and notes. Move code for playing notes
3967 to...
3968 (play): ... new function.
3969
3970 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3971
3972 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3973 grub_uint16_t instead of short.
3974 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3975 disk from little endian to cpu endianness.
3976
3977 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3978
3979 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3980 GRUB_TICKS_PER_SECOND instead of 120.
3981
3982 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3985 escape sequence after \e.
3986
3987 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3990 non-ASCII characters.
3991
3992 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3995 set root in single quotes to prevent \, from being unescaped.
3996
3997 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 Prevent unknown commands from stopping menuentry execution.
4000
4001 * script/execute.c (grub_script_execute_cmdline): Print error after
4002 unknown command.
4003
4004 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4007 Reported by: Pavel Pisa.
4008
4009 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4012
4013 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 Merge grub_ieee1275_map_physical into grub_map and rename to
4016 grub_ieee1275_map
4017
4018 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4019 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4020 Remove.
4021 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4022 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4023 necessary.
4024 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4025
4026 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4029 opening and not after.
4030
4031 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4034 constants.
4035
4036 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4039 (alloc_phys): Use ALIGN_UP instead of align_addr.
4040
4041 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4044
4045 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4048
4049 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4052 verbose dprintf.
4053
4054 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 Fix over-4GiB seek on sparc64.
4057
4058 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4059 Replace pos_i and pos_lo with pos. All users updated.
4060 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4061 New constant.
4062 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4063 Likewise.
4064 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4065 and pos_lo.
4066
4067 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * util/grub-mkrawimage.c (main): Call set_program_name.
4070
4071 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 Properly align 64-bit targets.
4074
4075 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4076 (generate_image): Use ALIGN_ADDR.
4077
4078 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 Properly create cross-endian images.
4081
4082 * include/grub/types.h (grub_host_to_target_addr): New macro
4083 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4084
4085 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4088
4089 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4092
4093 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4094 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4095 (grub_linux_boot): Divide by 64K when on VESA.
4096
4097 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 Support GRUB_GFXPAYLOAD_LINUX.
4100
4101 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
4102 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
4103
4104 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
4107 to show messages instead of discarding them.
4108 Process errors after executing command and not before. Keep old method
4109 too as precaution.
4110
4111 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * configure.ac: Check for ft2build.h.
4114
4115 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
4118
4119 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * genkernsyms.sh.in: Use TARGET_CC.
4122
4123 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
4124
4125 * NEWS: Update.
4126
4127 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * include/grub/multiboot2.h: Remove leftover file.
4130 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
4131 * include/grub/partition.h [GRUB_UTIL]: Likewise.
4132
4133 2010-02-07 Yves Blusseau <blusseau@zetam.org>
4134
4135 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
4136
4137 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Fix warnings in grub-emu when compiling with maximum warning options.
4140
4141 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
4142 (grub_arch_modules_addr): Return 0 and not NULL.
4143 * util/misc.c (ENABLE_RELOCATABLE): New definition.
4144 (xstrdup): Use newstr instead of dup.
4145 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
4146 of disk to dsk to avoid shadowing.
4147 (find_free_slot): Fix prototype.
4148 * util/getroot.c (grub_util_is_dmraid): Make static.
4149 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
4150 Add missing prototype.
4151 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
4152
4153 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * loader/i386/linux.c (grub_linux_setup_video): Handle error
4156 appropriately.
4157
4158 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
4161 code out.
4162
4163 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
4166 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
4167 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
4168 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
4169 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
4170 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
4171
4172 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * include/grub/err.h (grub_err_printf): Don't export.
4175
4176 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
4179
4180 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * include/grub/i18n.h (grub_gettext_dummy): Removed.
4183 * kern/misc.c (grub_gettext_dummy): Make static.
4184
4185 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
4188 by non-valid ones.
4189 * kern/term.c (grub_putchar): Likewise.
4190
4191 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
4194 buggy hook call and memory leak.
4195
4196 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
4199
4200 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
4203
4204 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
4207 modevar.
4208 Return grub_errno on allocation error.
4209
4210 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
4213
4214 2010-02-06 Yves Blusseau <blusseau@zetam.org>
4215
4216 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
4217 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
4218
4219 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
4222 non-pxe disk.
4223 (grub_pxefs_open): Likewise.
4224
4225 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4226
4227 * util/grub.d/10_hurd.in: Add --class information to menuentries.
4228 * util/grub.d/10_kfreebsd.in: Likewise.
4229 * util/grub.d/10_linux.in: Likewise.
4230
4231 2010-02-06 Colin D Bennett <colin@gibibit.com>
4232
4233 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
4234 (gfxmenu_mod_SOURCES): New variable.
4235 (gfxmenu_mod_CFLAGS): Likewise.
4236 (gfxmenu_mod_LDFLAGS): Likewise.
4237 * include/grub/term.h (grub_term_set_current_output): Declare
4238 argument as const.
4239 * docs/gfxmenu-theme-example.txt: New file.
4240 * gfxmenu/gfxmenu.c: Likewise.
4241 * gfxmenu/gui_box.c: Likewise.
4242 * gfxmenu/gui_canvas.c: Likewise.
4243 * gfxmenu/gui_circular_progress.c: Likewise.
4244 * gfxmenu/gui_image.c: Likewise.
4245 * gfxmenu/gui_label.c: Likewise.
4246 * gfxmenu/gui_list.c: Likewise.
4247 * gfxmenu/gui_progress_bar.c: Likewise.
4248 * gfxmenu/gui_string_util.c: Likewise.
4249 * gfxmenu/gui_util.c: Likewise.
4250 * gfxmenu/icon_manager.c: Likewise.
4251 * gfxmenu/model.c: Likewise.
4252 * gfxmenu/named_colors.c: Likewise.
4253 * gfxmenu/theme_loader.c: Likewise.
4254 * gfxmenu/view.c: Likewise.
4255 * gfxmenu/widget-box.c: Likewise.
4256 * include/grub/gfxmenu_model.h: Likewise.
4257 * include/grub/gfxmenu_view.h: Likewise.
4258 * include/grub/gfxwidgets.h: Likewise.
4259 * include/grub/gui.h: Likewise.
4260 * include/grub/gui_string_util.h: Likewise.
4261 * include/grub/icon_manager.h: Likewise.
4262
4263 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 Agglomerate scrolling in gfxterm.
4266
4267 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
4268 (grub_virtual_screen_setup): Initialise 'total_screen'.
4269 (write_char): Split to ...
4270 (paint_char): ... this ...
4271 (write_char): ... and this.
4272 (paint_char): Handle delayed scrolling.
4273 (draw_cursor): Likewise.
4274 (scroll_up): Split to ...
4275 (real_scroll): ... this ...
4276 (scroll_up): ... and this.
4277 (real_scroll): Handle multi-line scroll and draw below-the-bottom
4278 characters.
4279 (grub_gfxterm_refresh): Call real_scroll.
4280
4281 2010-02-06 Colin D Bennett <colin@gibibit.com>
4282
4283 * include/grub/misc.h (grub_iscntrl): New inline function.
4284 (grub_isalnum): Likewise.
4285 (grub_strtol): Likewise.
4286
4287 2010-02-06 Colin D Bennett <colin@gibibit.com>
4288
4289 * normal/menu_text.c (get_entry_number): Move from here ...
4290 * normal/menu.c (get_entry_number): ... moved here.
4291 * include/grub/menu.h (grub_menu_get_default_entry_index):
4292 New prototype.
4293 * normal/menu.c (grub_menu_get_default_entry_index): New function.
4294 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
4295 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
4296 (grub_menu_viewer_should_return): Likewise.
4297 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
4298 * normal/menu_text.c (run_menu): Enable menu switching.
4299 * normal/menu_viewer.c (should_return): New variable.
4300 (menu_viewer_changed): Likewise.
4301 (grub_menu_viewer_show_menu): Handle menu viewer changes.
4302 (grub_menu_viewer_should_return): New function.
4303 (menuviewer_write_hook): Likewise.
4304 (grub_menu_viewer_init): Likewise.
4305
4306 2010-02-06 Colin D Bennet <colin@gibibit.com>
4307 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Support for gfxterm in a window.
4310
4311 * include/grub/gfxterm.h: New file.
4312 * include/grub/video.h (struct grub_video_rect): New declaration.
4313 (grub_video_rect_t): Likewise.
4314 * term/gfxterm.c (struct grub_gfxterm_window): New type.
4315 (refcount): New variable.
4316 (render_target): Likewise.
4317 (window): Likewise.
4318 (repaint_callback): Likewise.
4319 (grub_virtual_screen_setup): Use 'render_target'.
4320 (init_window): New function.
4321 (grub_gfxterm_init_window): Likewise.
4322 (grub_gfxterm_init): Check reference counter.
4323 Use init_window.
4324 (destroy_window): New function.
4325 (grub_gfxterm_destroy_window): Likewise.
4326 (grub_gfxterm_fini): Check reference counter.
4327 Use destroy_window.
4328 (redraw_screen_rect): Restore viewport.
4329 Use 'render_target' and 'window'.
4330 Call 'repaint_callback'.
4331 (write_char): Use 'render_target'.
4332 (draw_cursor): Likewise.
4333 (scroll_up): Restore viewport.
4334 Use 'render_target' and 'window'.
4335 Call 'repaint_callback'.
4336 (grub_gfxterm_cls): Likewise.
4337 (grub_gfxterm_refresh): Use 'window'.
4338 (grub_gfxterm_set_repaint_callback): New function.
4339 (grub_gfxterm_background_image_cmd): Use 'window'.
4340 (grub_gfxterm_get_term): New function.
4341 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
4342
4343 2010-02-06 Colin D Bennett <colin@gibibit.com>
4344
4345 Bitmap scaling support.
4346
4347 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
4348 (bitmap_scale_mod_SOURCES): New variable.
4349 (bitmap_scale_mod_CFLAGS): Likewise.
4350 (bitmap_scale_mod_LDFLAGS): Likewise.
4351 * include/grub/bitmap_scale.h: New file.
4352 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
4353 (background_image_cmd_options): New variable.
4354 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
4355 (cmd): Rename and change type to ...
4356 (background_image_cmd_handle): ... this. All users updated.
4357 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
4358 * video/bitmap_scale.c: New file.
4359
4360 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 SDL support.
4363
4364 * Makefile.in (LIBSDL): New variable.
4365 (enable_grub_emu_sdl): Likewise.
4366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
4367 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
4368 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
4369 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
4370 * util/sdl.c: New file.
4371
4372 2010-02-06 Colin D Bennett <colin@gibibit.com>
4373 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 Double buffering support.
4376
4377 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
4378 * include/grub/video.h: Update comment.
4379 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4380 New type.
4381 (grub_video_fb_doublebuf_blit_init): New prototype.
4382 * term/gfxterm.c (scroll_up): Support double buffering.
4383 (grub_gfxterm_refresh): Likewise.
4384 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
4385 (grub_video_fb_doublebuf_blit_init): Likewise.
4386 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
4387 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
4388 'displayed_page', 'render_page' and 'update_screen'.
4389 (grub_video_vbe_fini): Free offscreen buffer.
4390 (doublebuf_pageflipping_commit): New function.
4391 (doublebuf_pageflipping_update_screen): Likewise.
4392 (doublebuf_pageflipping_init): Likewise.
4393 (double_buffering_init): Likewise.
4394 (grub_video_vbe_setup): Enable doublebuffering.
4395 (grub_video_vbe_swap_buffers): Implement.
4396 (grub_video_vbe_set_active_render_target): Handle double buffering.
4397 (grub_video_vbe_get_active_render_target): Likewise.
4398 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
4399 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
4400 (grub_video_vbe_enable_double_buffering): Likewise.
4401 (grub_video_vbe_swap_buffers): Use update_screen.
4402 (grub_video_set_mode): Use double buffering.
4403
4404 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4405
4406 * maintainance/gentrigtables.py: Remove.
4407 * lib/trig.c: Likewise.
4408
4409 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
4410
4411 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
4412 `trigtables.c'.
4413 (trigtables.c): New rule.
4414 (gentrigtables): Likewise.
4415 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
4416
4417 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
4418
4419 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
4420 integer constants.
4421
4422 2010-02-06 Colin D Bennet <colin@gibibit.com>
4423
4424 Trigonometry support.
4425
4426 * include/grub/trig.h: New file.
4427 * lib/trig.c: Likewise.
4428 * maintainance/gentrigtables.py: Likewise.
4429 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
4430 (trig_mod_SOURCES): New variable.
4431 (trig_mod_CFLAGS): Likewise.
4432 (trig_mod_LDFLAGS): Likewise.
4433
4434 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
4437 disk devices.
4438
4439 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
4442 error.
4443
4444 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * util/hostdisk.c (open_device): Don't use partition device when reading
4447 before the partition.
4448 (grub_util_biosdisk_read): Don't read from partition and before the
4449 partition in single operation.
4450 (grub_util_biosdisk_write): Don't write to partition and before the
4451 partition in single operation.
4452
4453 2010-02-03 Torsten Landschoff <torsten@debian.org>
4454
4455 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4456 last sectors.
4457
4458 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4461 CDROM reads.
4462 (grub_biosdisk_write): Refuse to write to CDROM.
4463
4464 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
4467
4468 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * font/font.c (find_glyph): Check that bmp_idx is available before
4471 using it.
4472 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
4473 with (font == NULL).
4474
4475 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
4476
4477 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
4478
4479 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
4480
4481 * include/grub/script_sh.h (sourcecode): Add const qualifier.
4482 * util/grub-script-check.c (getline): Fix empty lines case.
4483
4484 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
4485
4486 * Makefile.in (check): Exit with fail status when one of the tests
4487 fails.
4488 * tests/example_functional_test.c (example_test): Fix reversed assert.
4489 * tests/example_unit_test.c (example_test): Likewise.
4490
4491 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
4492
4493 * util/grub.d/10_linux.in: This script does not use any of the
4494 contents of gettext.sh, only the external command `gettext', so stop
4495 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
4496 the same prefix as GRUB.)
4497 * util/grub.d/10_kfreebsd.in: Likewise.
4498
4499 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4502 of the line.
4503
4504 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * kern/disk.c (grub_disk_read): Fix offset computation when reading
4507 last sectors.
4508
4509 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
4512 having a 4KiB and not 32KiB buffer size.
4513
4514 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4515
4516 * util/hostfs.c: Include `<errno.h>'.
4517 (grub_hostfs_read): Handle errors from fseeko() and fread().
4518
4519 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4520
4521 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
4522 loop when using read hooks on files whose size isn't sector-aligned.
4523
4524 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4525
4526 Remove unused parameter.
4527
4528 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
4529 (grub_iso9660_open): Remove initialization of `data->length'.
4530
4531 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
4532
4533 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
4534 memleak conditions.
4535
4536 2010-01-27 Carles Pina i Estany <carles@pina.cat>
4537
4538 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
4539 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
4540
4541 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4542
4543 * util/bin2h.c (usage): Fix warning (space after backslash).
4544
4545 2010-01-26 Carles Pina i Estany <carles@pina.cat>
4546
4547 * font/font.c: Include `grub/fontformat.h.
4548 Remove font file format constants.
4549 (grub_font_load): Use the new macros.
4550 * include/grub/fontformat.h: New file.
4551 * util/grub-mkfont.c: Include `grub/fontformat.c'.
4552 (write_font_pf2): Use the new macros.
4553
4554 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4555
4556 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
4557 does.
4558
4559 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
4560
4561 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
4562
4563 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
4564 (_start): Macroify `0x7F'.
4565
4566 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
4567 (make_install_device): Use "(pxe)" as fallback prefix when booting
4568 via PXE.
4569
4570 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * configure.ac: Reset LIBS after check for libgcc symbols.
4573
4574 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
4575
4576 * util/hostdisk.c (open_device): Add trailing newline to debug
4577 message.
4578
4579 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4580
4581 * configure.ac: Check for `limits.h'.
4582 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
4583
4584 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
4585
4586 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
4587 capitalize error strings.
4588
4589 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
4590
4591 * util/grub.d/10_hurd.in: Add a recovery mode.
4592
4593 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * configure.ac: Check for libgcc symbols with -nostdlib.
4596
4597 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
4598
4599 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
4600
4601 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
4604 stack since heap may be unavailable at that point.
4605 (grub_ofconsole_gotoxy): Likewise.
4606
4607 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * configure.ac: Check for _restgpr_14_x.
4610 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
4611 and _savegpr_* prototypes.
4612
4613 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
4614
4615 Use generic grub_reboot() for i386-efi.
4616
4617 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
4618 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
4619 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
4620
4621 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
4624 presence of "prefix" variable as it breaks when normal.mod is
4625 embedded.
4626
4627 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
4630 stack since heap is unavailable at that point.
4631
4632 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
4635 (grub_freebsd_bootinfo): Rewritten.
4636 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
4637
4638 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
4641
4642 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
4643
4644 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
4645 domain now.
4646
4647 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
4648
4649 * util/misc.c (make_system_path_relative_to_its_root): Change the work
4650 around for handling "/" to the correct fix. Fix a memory leak. Use
4651 xstrdup instead of strdup.
4652
4653 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
4656
4657 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 Optimise glyph lookup by Basic Multilingual Plane lookup array.
4660
4661 * font/font.c (struct grub_font): New member 'bmp_idx'.
4662 (font_init): Initialise 'bmp_idx'.
4663 (load_font_index): Fill 'bmp_idx'.
4664 (find_glyph): Make inline. Use bmp_idx for BMP characters.
4665
4666 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
4669 unnecessary calls.
4670
4671 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 Move context handling out of the kernel.
4674
4675 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
4676 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
4677 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
4678 * conf/i386-efi.rmk: Likewise.
4679 * conf/i386-ieee1275.rmk: Likewise.
4680 * conf/i386-pc.rmk: Likewise.
4681 * conf/powerpc-ieee1275.rmk: Likewise.
4682 * conf/sparc64-ieee1275.rmk: Likewise.
4683 * conf/x86_64-efi.rmk: Likewise.
4684 * include/grub/env.h: Include grub/menu.h.
4685 (grub_env_var_type): Removed.
4686 (grub_env_var): Replaced field 'type' with 'global'.
4687 (grub_env_find): New prototype.
4688 (grub_env_context_open): Remove EXPORT_FUNC.
4689 (grub_env_context_close): Likewise.
4690 (grub_env_export): Likewise.
4691 (grub_env_set_data_slot): Removed.
4692 (grub_env_get_data_slot): Likewise.
4693 (grub_env_unset_data_slot): Likewise.
4694 (grub_env_unset_menu): New prototype.
4695 (grub_env_set_menu): Likewise.
4696 (grub_env_get_menu): Likewise.
4697 * include/grub/env_private.h: New file.
4698 * include/grub/normal.h (grub_context_init): New prototype.
4699 (grub_context_fini): Likewise.
4700 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
4701 * normal/context.c (grub_cmd_export): ... to here.
4702 * kern/env.c: Include env_private.h.
4703 (HASHSZ): Moved to include/grub/env_private.h.
4704 (grub_env_context): Likewise.
4705 (grub_env_sorted_var): Likewise.
4706 (current_context): Renamed from this ...
4707 (grub_current_context): ...to this. 'static' removed. All users updated.
4708 (grub_env_find): Removed 'static'.
4709 (grub_env_context_open): Moved to normal/context.c.
4710 (grub_env_context_close): Likewise.
4711 (grub_env_export): Likewise.
4712 (mangle_data_slot_name): Removed.
4713 (grub_env_set_data_slot): Likewise.
4714 (grub_env_get_data_slot): Likewise.
4715 (grub_env_unset_data_slot): Likewise.
4716 * kern/main.c (grub_set_root_dev): Don't export root.
4717 It will be done later.
4718 (grub_main): Don't export prefix.
4719 It will be done later.
4720 * normal/context.c: New file.
4721 * normal/main.c (free_menu): Use grub_env_unset_menu.
4722 (grub_normal_add_menu_entry): Use grub_env_get_menu.
4723 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
4724 (GRUB_MOD_INIT(normal)): Call grub_context_init.
4725 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
4726
4727 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 setpci support.
4730
4731 * commands/setpci.c: New file.
4732 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
4733 (setpci_mod_SOURCES): New variable.
4734 (setpci_mod_CFLAGS): Likewise.
4735 (setpci_mod_LDFLAGS): Likewise.
4736
4737 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Byte-addressable PCI configuration space.
4740
4741 * bus/pci.c (grub_pci_make_address): Use byte address instead of
4742 dword address.
4743 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
4744 GRUB_PCI_REG_CACHELINE.
4745 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
4746 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
4747 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
4748 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
4749 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
4750 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
4751 grub_pci_make_address.
4752 (lock_rom_area): Likewise.
4753 * commands/lspci.c (grub_lspci_iter): Use macroses
4754 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
4755 of grub_pci_make_address.
4756 * disk/ata.c (grub_ata_pciinit): Likewise.
4757 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
4758 (GRUB_PCI_REG_VENDOR): Likewise.
4759 (GRUB_PCI_REG_DEVICE): Likewise.
4760 (GRUB_PCI_REG_COMMAND): Likewise.
4761 (GRUB_PCI_REG_STATUS): Likewise.
4762 (GRUB_PCI_REG_REVISION): Likewise.
4763 (GRUB_PCI_REG_CLASS): Likewise.
4764 (GRUB_PCI_REG_CACHELINE): Likewise.
4765 (GRUB_PCI_REG_LAT_TIMER): Likewise.
4766 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
4767 (GRUB_PCI_REG_BIST): Likewise.
4768 (GRUB_PCI_REG_ADDRESSES): Likewise.
4769 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4770 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4771 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4772 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4773 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4774 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
4775 (GRUB_PCI_REG_CIS_POINTER): Likewise.
4776 (GRUB_PCI_REG_SUBVENDOR): Likewise.
4777 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
4778 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
4779 (GRUB_PCI_REG_CAP_POINTER): Likewise.
4780 (GRUB_PCI_REG_IRQ_LINE): Likewise.
4781 (GRUB_PCI_REG_IRQ_PIN): Likewise.
4782 (GRUB_PCI_REG_MIN_GNT): Likewise.
4783 (GRUB_PCI_REG_MAX_LAT): Likewise.
4784 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
4785 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
4786 * video/efi_uga.c (find_framebuf): Likewise.
4787 * video/sm712.c (grub_video_sm712_setup): Likewise.
4788 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
4789 space.
4790
4791 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4792
4793 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
4794 can be reliably determined to be supported.
4795
4796 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4797
4798 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
4799 that VESA is supported.
4800 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
4801 supported.
4802
4803 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
4806
4807 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4808
4809 * util/misc.c (make_system_path_relative_to_its_root): Work around
4810 special-casing of "/", as previous incarnation of this routine did.
4811
4812 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Fix any-emu compilation.
4815
4816 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
4817 * grub_bin2h_SOURCES: New variable.
4818
4819 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4820
4821 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
4822
4823 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
4824
4825 * util/grub.d/00_header.in: Fix handling of locale_dir.
4826
4827 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
4830 as possible unifont location (Gentoo).
4831 Reported by: Alexander Brüning
4832
4833 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Don't try to generate lists for kernel.img.
4836
4837 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
4838 (pkglib_MODULES): Remove kernel.img.
4839 (kernel_img_EXPORTS): Removed.
4840 (kernel_img_RELOCATABLE): New variable.
4841 * conf/x86_64-efi.rmk: Likewise.
4842 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
4843
4844 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
4847 grub_xasprintf or grub_snprintf.
4848 (grub_vsprintf): Likewise.
4849 (grub_snprintf): New proto.
4850 (grub_vsnprintf): Likewise.
4851 (grub_xasprintf): Likewise.
4852 (grub_xvasprintf): Likewise.
4853 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
4854 (grub_sprintf): Removed.
4855 (grub_vsnprintf): New function.
4856 (grub_snprintf): Likewise.
4857 (grub_xvasprintf): Likewise.
4858 (grub_xasprintf): Likewise.
4859 (grub_vsprintf): Renamed to ...
4860 (grub_vsnprintf_real): ...this. New argument max_len.
4861
4862 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
4863
4864 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
4865 fix grub-script-check warning.
4866
4867 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * include/grub/font.h (grub_font_load): Fix prototype.
4870
4871 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
4874
4875 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * include/grub/x86_64/at_keyboard.h: New file.
4878
4879 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * loader/mips/linux.c: Include missing grub/i18n.h.
4882
4883 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4884
4885 * normal/menu.c (notify_execution_failure): Clarify error message.
4886
4887 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4888
4889 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
4890 return value (and revert all return statements). Update users.
4891
4892 2010-01-20 Dan Merillat <debian@dan.merillat.org>
4893
4894 * kern/device.c (grub_device_iterate): Allocate new part_ent
4895 structure based on sizeof (*p) rather than sizeof (p->next), to
4896 account for structure padding.
4897
4898 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
4899 disk is NULL, which might happen for LVM physical volumes with no
4900 LVM signature.
4901
4902 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4903
4904 * loader/mips/linux.c (grub_cmd_initrd)
4905 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
4906
4907 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
4908
4909 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
4910 (grub_video_video_init, grub_video_bitmap_init)
4911 (grub_font_manager_init, grub_term_gfxterm_init)
4912 (grub_at_keyboard_init): New extern declarations.
4913 (grub_machine_init): Initialize gfxterm and at_keyboard.
4914
4915 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4916
4917 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4918 `gfxterm.mod' into core image.
4919
4920 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4921 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4922 (kernel_img_FORMAT): Copy to ...
4923
4924 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4925 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4926 (kernel_img_FORMAT): ... here, and ...
4927
4928 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4929 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4930 (kernel_img_FORMAT): ... here.
4931
4932 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4933 and input (at_keyboard) terminals in kernel.
4934 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4935
4936 (pkglib_MODULES): Remove `pci.mod'.
4937 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4938 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4939 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4940 (at_keyboard_mod_LDFLAGS): Remove variables.
4941
4942 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
4943
4944 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4945
4946 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4947
4948 * include/grub/mips/libgcc.h: Only export symbols for functions
4949 that libgcc provides.
4950
4951 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 MIPS support.
4954
4955 * bus/bonito.c: New file.
4956 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4957 GRUB_PCI_NUM_DEVICES.
4958 * term/i386/pc/serial.c: Move to ...
4959 * term/serial.c: ... here. All users updated.
4960 * util/i386/pc/grub-mkimage.c: Move to ...
4961 * util/grub-mkrawimage.c: ... here. All users updated.
4962 * term/i386/pc/at_keyboard.c: Move to ...
4963 * term/at_keyboard.c: ... here. All users updated.
4964 * conf/mips-qemu-mips.rmk: New file.
4965 * conf/mips-yeeloong.rmk: Likewise.
4966 * conf/mips.rmk: Likewise.
4967 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4968 mipsel-qemu-mips.
4969 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4970 to port addresses.
4971 (grub_ata_pciinit): Support CS5536.
4972 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4973 * font/font_cmd.c (loadfont_command): Open file before passing it to
4974 grub_font_load.
4975 (pseudo_file_read): New function.
4976 (pseudo_file_close): Likewise.
4977 (pseudo_fs): New structure.
4978 (load_font_module): New function.
4979 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4980 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4981 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4982 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4983 * include/grub/i386/at_keyboard.h: Split into ...
4984 * include/grub/at_keyboard.h: ... this ...
4985 * include/grub/i386/at_keyboard.h: ... and this.
4986 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4987 New prototype.
4988 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4989 updated.
4990 (grub_elf64_size): Likewise.
4991 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4992 filename.
4993 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4994 * include/grub/i386/coreboot/serial.h: Rewritten.
4995 * include/grub/i386/ieee1275/serial.h: Include
4996 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4997 * include/grub/i386/pc/serial.h: Moved from here ...
4998 * include/grub/serial.h: ... to here. All users updated.
4999 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5000 (GRUB_PCI_NUM_BUS): Likewise.
5001 (GRUB_PCI_NUM_DEVICES): Likewise.
5002 (grub_pci_device_map_range): Add missing volatile keyword.
5003 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5004 * include/grub/mips/at_keyboard.h: New file.
5005 * include/grub/mips/cache.h: Likewise.
5006 * include/grub/mips/io.h: Likewise.
5007 * include/grub/mips/kernel.h: Likewise.
5008 * include/grub/mips/libgcc.h: Likewise.
5009 * include/grub/mips/pci.h: Likewise.
5010 * include/grub/mips/qemu-mips/boot.h: Likewise.
5011 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5012 * include/grub/mips/qemu-mips/loader.h: Likewise.
5013 * include/grub/mips/qemu-mips/memory.h: Likewise.
5014 * include/grub/mips/qemu-mips/serial.h: Likewise.
5015 * include/grub/mips/qemu-mips/time.h: Likewise.
5016 * include/grub/mips/relocator.h: Likewise.
5017 * include/grub/mips/time.h: Likewise.
5018 * include/grub/mips/types.h: Likewise.
5019 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5020 * include/grub/mips/yeeloong/boot.h: Likewise.
5021 * include/grub/mips/yeeloong/kernel.h: Likewise.
5022 * include/grub/mips/yeeloong/loader.h: Likewise.
5023 * include/grub/mips/yeeloong/memory.h: Likewise.
5024 * include/grub/mips/yeeloong/pci.h: Likewise.
5025 * include/grub/mips/yeeloong/serial.h: Likewise.
5026 * include/grub/mips/yeeloong/time.h: Likewise.
5027 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5028 * kern/elf.c (grub_elf32_size): New parameter. All users
5029 updated.
5030 (grub_elf64_size): Likewise.
5031 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5032 Load modules before saying "Welcome to GRUB!".
5033 Call grub_refresh after saying "Welcome to GRUB!".
5034 * kern/mips/cache.S: New file.
5035 * kern/mips/cache_flush.S: Likewise.
5036 * kern/mips/dl.c: Likewise.
5037 * kern/mips/init.c: Likewise.
5038 * kern/mips/qemu-mips/init.c: Likewise.
5039 * kern/mips/startup.S: Likewise.
5040 * kern/mips/yeeloong/init.c: Likewise.
5041 * kern/term.c (grub_putcode): Handle NULL terminal.
5042 (grub_getcharwidth): Likewise.
5043 (grub_getkey): Likewise.
5044 (grub_checkkey): Likewise.
5045 (grub_getkeystatus): Likewise.
5046 (grub_getxy): Likewise.
5047 (grub_getwh): Likewise.
5048 (grub_gotoxy): Likewise.
5049 (grub_cls): Likewise.
5050 (grub_setcolorstate): Likewise.
5051 (grub_setcolor): Likewise.
5052 (grub_getcolor): Likewise.
5053 (grub_refresh): Likewise.
5054 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5055 (write_jump): Add hatch nop.
5056 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5057 * lib/mips/setjmp.S: New file.
5058 * loader/mips/linux.c: Likewise.
5059 * term/i386/pc/at_keyboard.c: Move from here ...
5060 * term/at_keyboard.c: ... to here.
5061 * term/i386/pc/serial.c: Moved from here ...
5062 * term/serial.c: ... to here. All users updated.
5063 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5064 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5065 (serial_translate_key_sequence): Avoid deadlock.
5066 (grub_serial_getkey): Handle backspace.
5067 (grub_serial_putchar): Fix newline handling.
5068 * util/i386/pc/grub-mkimage.c: Move from here ...
5069 * util/grub-mkrawimage.c: ... to here. All users updated.
5070 (generate_image): New parameters 'font_path' and 'format'.
5071 Support embedding font.
5072 Use grub_host_to_target* instead of grub_cpu_to_le*.
5073 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5074 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5075 (options): New option "--font".
5076 (usage): Likewise.
5077 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5078 (main): Handle "--font".
5079 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5080 (grub_virtual_screen_setup): Set bg_color_display.
5081 (redraw_screen_rect): Use bg_color_display instead of incorrect
5082 bg_color.
5083 (grub_gfxterm_cls): Likewise.
5084 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5085 Support embedding config file.
5086 (add_segments): Likewise.
5087 (options): New option "--config".
5088 (main): Handle "--config".
5089 * video/sm712.c: New file.
5090
5091 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5092
5093 Fix parallel builds.
5094
5095 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5096 font.c depend on ascii.h).
5097
5098 2010-01-12 Carles Pina i Estany <carles@pina.cat>
5099
5100 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
5101
5102 2010-01-11 Carles Pina i Estany <carles@pina.cat>
5103
5104 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
5105 By default: disabled.
5106 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
5107 parameter.
5108
5109 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5110
5111 * font/font.c: Update copyright years.
5112 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
5113
5114 2010-01-10 Carles Pina i Estany <carles@pina.cat>
5115
5116 * font/font.c: Include `ascii.h'.
5117 (ASCII_BITMAP_SIZE): New macro.
5118 (ascii_font_glyph): Define.
5119 (ascii_glyph_lookup): New function.
5120 (grub_font_get_string_width): Change comment. If glyph not found, use
5121 ascii_glyph_lookup.
5122 (grub_font_get_glyph_with_fallback): If glyph not available returns
5123 ascii_glyph_lookup.
5124 * util/grub-mkfont.c (file_formats): New enum.
5125 (options): Add `ascii-bitmaps' new option.
5126 (usage): Add `asii-bitmaps' new option.
5127 (write_font_ascii_bitmap): New function.
5128 (write_font): Rename to ...
5129 (write_font_p2): ... this. Remove print_glyphs call.
5130 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
5131 used. Call print_glyphs.
5132 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
5133
5134 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5135
5136 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
5137 (grub_bin2h_SOURCES): New variable.
5138 * util/bin2h.c: New file.
5139
5140 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * include/multiboot.h: Resynced with spec.
5143 * include/multiboot2.h: Likewise.
5144 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
5145 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
5146
5147 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5148
5149 * include/grub/term.h (grub_term_register_input,
5150 grub_term_register_output): Check return of terminal init()
5151 routines, and abort if errors are raised.
5152
5153 * commands/terminal.c: Update copyright year.
5154
5155 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5156
5157 * commands/terminal.c (grub_cmd_terminal_input)
5158 (grub_cmd_terminal_output): Check return of terminal init()
5159 routines, and abort if errors are raised.
5160
5161 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * include/grub/i386/bsd.h: Fix include pathes.
5164
5165 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 Add missing *BSD copyright headers.
5168
5169 * include/grub/aout.h: Add BSD licence.
5170 * include/grub/i386/bsd.h: Parts under different licences moved to ...
5171 * include/grub/i386/freebsd_linker.h: ... here,
5172 * include/grub/i386/freebsd_reboot.h: ... here,
5173 * include/grub/i386/netbsd_bootinfo.h: ... here,
5174 * include/grub/i386/netbsd_reboot.h: ... here,
5175 * include/grub/i386/openbsd_bootarg.h: ... here,
5176 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
5177 licence to each file.
5178
5179 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5180
5181 * acinclude.m4: Remove `nop' assembly instruction; it's not
5182 implemented by all architectures.
5183
5184 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5185
5186 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
5187 ELILO. This is no longer necessary.
5188
5189 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
5190
5191 Added new tool, grub-scrit-check to verify grub.cfg syntax.
5192
5193 * util/grub-script-check.c: grub-script-check tool.
5194 * conf/common.rmk: Make rules for grub-script-check.
5195
5196 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5197
5198 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
5199 spotting it back in 2008. Shame on me for forgetting he did.
5200
5201 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
5202
5203 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5204
5205 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
5206 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
5207 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
5208 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
5209 (GRUB_VIDEO_TYPE_EFI): Rename to ...
5210 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
5211
5212 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
5213
5214 * include/grub/test.h: Add license header.
5215 * tests/example_functional_test.c: Likewise.
5216 * tests/example_unit_test.c: Likewise.
5217 * tests/lib/functional_test.c: Likewise.
5218 * tests/lib/test.c: Likewise.
5219 * tests/lib/unit_test.c: Likewise.
5220
5221 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Use flag-based instead of hook-based video mode selection and "auto"
5224 keyword.
5225
5226 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
5227 (grub_video_set_mode): Changed prototype. All users updated.
5228 (grub_video_check_mode_flag): New inline function.
5229 * video/video.c (parse_modespec): New function.
5230 (grub_video_set_mode): Parse flags and keywords.
5231
5232 2010-01-17 Carles Pina i Estany <carles@pina.cat>
5233
5234 * util/misc.c (grub_util_info): Fix the order of the parameters in a
5235 fprintf call.
5236
5237 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5238
5239 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
5240
5241 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5242
5243 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
5244 string.
5245 * util/grub-emu.c (usage): Likewise.
5246 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
5247 * util/i386/efi/grub-mkimage.c (usage): Likewise.
5248 * util/i386/pc/grub-mkimage.c (usage): Likewise.
5249 * util/i386/pc/grub-setup.c (usage): Likewise.
5250
5251 2010-01-16 Carles Pina i Estany <carles@pina.cat>
5252
5253 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
5254 the message.
5255 (grub_util_info): Likewise.
5256 (grub_util_error): Likewise.
5257 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
5258 and/or new lines in `grub_util_warna', `grub_util_info',
5259 `grub_util_error' calls.
5260 * util/getroot.c: Likewise.
5261 * util/grub-editenv.c: Likewise.
5262 * util/grub-emu.c: Likewise.
5263 * util/grub-fstest.c: Likewise.
5264 * util/grub-mkdevicemap.c: Likewise.
5265 * util/grub-mkfont.c: Likewise.
5266 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5267 * util/grub-mkrelpath.c: Likewise.
5268 * util/grub-pe2elf.c: Likewise.
5269 * util/grub-probe.c: Likewise.
5270 * util/hostdisk.c: Likewise.
5271 * util/i386/efi/grub-mkimage.c: Likewise.
5272 * util/i386/pc/grub-mkimage.c: Likewise.
5273 * util/i386/pc/grub-setup.c: Likewise.
5274 * util/ieee1275/ofpath.c: Likewise.
5275 * util/mkisofs/eltorito.c: Likewise.
5276 * util/mkisofs/rock.c: Likewise.
5277 * util/mkisofs/write.c: Likewise.
5278 * util/raid.c: Likewise.
5279 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5280 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5281
5282 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Enable multiboot on non-pc.
5285
5286 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
5287 multiboot.mod and multiboot2.mod to ...
5288 * conf/i386.rmk (pkglib_MODULES): ... here.
5289 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
5290 Moved to ...
5291 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
5292 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
5293 Moved to ...
5294 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
5295 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
5296 Moved to ...
5297 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
5298 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
5299 Moved to ...
5300 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
5301 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
5302 relocator.mod.
5303 (ata_mod_SOURCES): Removed.
5304 (ata_mod_CFLAGS): Likewise.
5305 (ata_mod_LDFLAGS): Likewise.
5306 (relocator_mod_SOURCES): Removed.
5307 (relocator_mod_CFLAGS): Likewise.
5308 (relocator_mod_ASFLAGS): Likewise.
5309 (relocator_mod_LDFLAGS): Likewise.
5310 Include i386.mk.
5311 * include/grub/x86_64/multiboot.h: New file.
5312 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
5313 Terminate EFI.
5314
5315 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 Video multiboot support.
5318
5319 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
5320 New prototype.
5321 * include/multiboot.h: Resynced with multiboot specification.
5322 * include/multiboot2.h: Likewise.
5323 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
5324 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
5325 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
5326 (HAS_VGA_TEXT): Likewise.
5327 (accepts_video): New variable.
5328 (grub_multiboot_set_accepts_video): New function.
5329 (grub_multiboot_get_mbi_size): Account for video structures.
5330 (set_video_mode): New function.
5331 (retrieve_video_parameters): Likewise.
5332 (grub_multiboot_make_mbi): Fill video fields.
5333
5334 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 Video driver ids.
5337
5338 * include/grub/video.h (grub_video_driver_id): New type.
5339 (grub_video_adapter): New member 'id'. All users updated.
5340 (grub_video_get_driver_id): New proto.
5341 * video/video.c (grub_video_get_driver_id): New function.
5342
5343 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5344
5345 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
5346 `var=val'.
5347
5348 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5349
5350 * normal/cmdline.c (print_completion): Gettextizze.
5351
5352 2001-01-14 Carles Pina i Estany <carles@pina.cat>
5353
5354 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
5355
5356 2010-01-14 Carles Pina i Estany <carles@pina.cat>
5357
5358 * gettext/gettext.c (grub_gettext_translate): Push and pop
5359 grub_errno.
5360 (grub_gettext_delete_list): Change comment style.
5361 * kern/err.c (grub_error): Gettextizze.
5362 (grub_fatal): Gettextizze.
5363
5364 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
5365
5366 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
5367 (grub_linux16_real_boot): ... this.
5368 * kern/i386/loader.S: Likewise.
5369 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
5370 (grub_linux16_boot): New function. Switches to text mode and calls
5371 grub_linux16_real_boot().
5372
5373 * loader/i386/bsd.c: Include `<grub/video.h>'.
5374 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
5375 text mode before calling grub_unix_real_boot().
5376
5377 * loader/i386/multiboot.c: Include `<grub/video.h>'.
5378 (grub_multiboot_boot): Switch to text mode before calling
5379 grub_relocator32_boot().
5380
5381 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
5382 (grub_chainloader_boot): Switch to text mode before calling
5383 grub_chainloader_real_boot().
5384
5385 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5386 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5387
5388 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
5389 non-empty value.
5390
5391 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5392 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * util/grub.d/00_header.in: Define a "savedefault" function for use
5395 in menu entries.
5396 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
5397
5398 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
5399 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5400
5401 * util/grub-mkconfig_lib.in (save_default_entry): Only set
5402 saved_entry if boot_once is unset.
5403 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
5404 previous saved entry (i.e. grub-reboot).
5405
5406 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5407
5408 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
5409
5410 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5411
5412 * util/grub.d/00_header.in: Use `set var=val' rather than plain
5413 `var=val'.
5414 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
5415
5416 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5417
5418 * util/grub-reboot.in: Fix --version output.
5419 * util/grub-set-default.in: Likewise.
5420
5421 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * util/grub.d/00_header.in: Silently ignore zero-sized environment
5424 blocks.
5425
5426 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5427
5428 * util/grub.d/00_header.in: Quote the value assigned to `default',
5429 in case it contains spaces.
5430
5431 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
5432
5433 * util/grub.d/30_os-prober.in: Fix merge error that moved a
5434 `save_default_entry' call from the macosx case to the linux case.
5435
5436 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5437 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
5438
5439 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
5440 in `chosen' environment variable.
5441 * normal/menu_text.c (get_entry_number): Check if the variable
5442 matches the title of a menu entry.
5443 (run_menu): Pass menu to get_entry_number.
5444
5445 * util/grub-reboot.in: New file.
5446 * util/grub-set-default.in: New file.
5447 * conf/common.rmk (grub-reboot): New utility.
5448 (grub-set-default): New utility.
5449
5450 * util/grub-mkconfig_lib.in (save_default_entry): New function.
5451 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
5452 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
5453 move it to `saved_entry' for the next boot. Load environment on
5454 initialisation.
5455 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
5456 * util/grub.d/10_hurd.in: Likewise.
5457 * util/grub.d/10_linux.in (linux_entry): Likewise.
5458 * util/grub.d/10_windows.in: Likewise.
5459 * util/grub.d/30_os-prober.in: Likewise.
5460
5461 * util/grub-install.in: Create environment block.
5462 * util/i386/efi/grub-install.in: Likewise.
5463 * util/ieee1275/grub-install.in: Likewise.
5464 * util/sparc64/ieee1275/grub-install.in: Likewise.
5465
5466 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
5467
5468 Unit testing framework for GRUB.
5469
5470 * Makefile.in: Test framework build rules for 'make check'.
5471 * conf/tests.rmk: Build rules for individual tests and framework.
5472
5473 * include/grub/test.h: Header file for whitebox tests.
5474 * tests/lib/functional_test.c: Framework support for whitebox
5475 functional tests.
5476 * tests/lib/test.c: Common whitebox testing code for unit and
5477 functional tests.
5478 * tests/lib/unit_test.c: Framework support for whitebox unit
5479 tests.
5480
5481 * tests/util/grub-shell-tester.in: Support utility for grub-script
5482 tests.
5483 * tests/util/grub-shell.in: Utility to execute grub-script
5484 commands in a Qemu instance.
5485
5486 * tests/example_functional_test.c: Example whitebox functional
5487 test.
5488 * tests/example_grub_script_test.in: Example grub-script test.
5489 * tests/example_scripted_test.in: Example scripted test.
5490 * tests/example_unit_test.c: Example whitebox unit test.
5491
5492 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
5495 Add loader/i386/multiboot_mbi.c.
5496 (multiboot2_mod_SOURCES): Likewise.
5497 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
5498 (multiboot2_mod_SOURCES): Likewise.
5499 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
5500 (grub_multiboot_make_mbi): Likewise.
5501 (grub_multiboot_free_mbi): Likewise.
5502 (grub_multiboot_init_mbi): Likewise.
5503 (grub_multiboot_add_module): Likewise.
5504 (grub_multiboot_set_bootdev): Likewise.
5505 * loader/i386/multiboot.c (mbi): Removed.
5506 (mbi_dest): Likewise.
5507 (alloc_mbi): New variable.
5508 (grub_multiboot_payload_size): Removed. All users updated.
5509 (grub_multiboot_pure_size): New variable.
5510 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
5511 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
5512 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
5513 (grub_fill_multiboot_mmap): Likewise.
5514 (grub_multiboot_get_bootdev): Likewise.
5515 (grub_multiboot): Use multiboot_mbi functions.
5516 * loader/i386/multiboot_mbi.c: New file.
5517
5518 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
5521 it would result in module crash.
5522
5523 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
5526 (grub_ofconsole_getwh): Split to ...
5527 (grub_ofconsole_getwh): ... this.
5528 (grub_ofconsole_dimensions): ...and this.
5529 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
5530
5531 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
5532
5533 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
5534
5535 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * loader/i386/pc/multiboot2.c: Removed stalled file.
5538
5539 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
5542 Reported by: Grégoire Sutre
5543
5544 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
5545
5546 * util/misc.c (canonicalize_file_name): New function.
5547 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
5548 instead of realpath().
5549
5550 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
5551
5552 * util/grub-install.in (usage): Clarify meaning of --root-directory,
5553 and make it clearer that it's optional. Based on confusion
5554 witnessed on IRC.
5555
5556 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
5559 in premature implicit newline.
5560
5561 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5564 which resulted in garbled command line at the end of screen.
5565
5566 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5567
5568 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
5569 initialization with similar approach as with other Linux loaders.
5570
5571 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5572
5573 Fix i386-ieee1275 build.
5574
5575 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
5576 and grub_term_height() for video_{width,height} initialization.
5577
5578 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
5579
5580 Fix grub-emu build.
5581
5582 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
5583
5584 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5585 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5586
5587 Support for multiple terminals.
5588
5589 * Makefile.in (pkglib_DATA): terminal.lst.
5590 (terminal.lst): New target.
5591 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
5592 (GRUB_MOD_INIT(handler)): Likewise.
5593 (GRUB_MOD_FINI(handler)): Likewise.
5594 * commands/help.c (grub_cmd_help): Handle multiple terminals.
5595 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
5596 * commands/sleep.c (do_print): Use grub_term_restore_pos.
5597 (grub_cmd_sleep): Use grub_term_save_pos.
5598 * commands/terminal.c: New file.
5599 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
5600 commands/terminal.c and lib/charset.c.
5601 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
5602 (pkglib_MODULES): Add terminal.mod.
5603 (terminal_mod_SOURCES): New variable.
5604 (terminal_mod_CFLAGS): Likewise.
5605 (terminal_mod_LDFLAGS): Likewise.
5606 * genhandlerlist.sh: Don't handle terminals.
5607 * genmk.rb: Generate terminal-*.lst.
5608 * genterminallist.sh: New file.
5609 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
5610 (grub_is_valid_utf8): Likewise.
5611 (grub_utf8_to_ucs4_alloc): Likewise.
5612 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
5613 (grub_menu_register_viewer): Changed argument.
5614 (grub_menu_try_text): New proto.
5615 (grub_gfxmenu_try_hook): New declaration.
5616 * include/grub/normal.h (grub_normal_exit_level): New declaration.
5617 (grub_menu_init_page): Additional argument term.
5618 (grub_normal_init_page): Likewise.
5619 (grub_cmdline_get): Arguments simplified.
5620 (grub_utf8_to_ucs4_alloc): Removed.
5621 (grub_print_ucs4): Additional argument term.
5622 (grub_getstringwidth): Likewise.
5623 (grub_print_message_indented): Likewise.
5624 (grub_menu_text_register_instances): New proto.
5625 (grub_show_menu): Likewise.
5626 (read_terminal_list): Likewise.
5627 (grub_set_more): Likewise.
5628 * include/grub/parser.h: Include handler.h.
5629 * include/grub/reader.h: Rewritten.
5630 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
5631 (GRUB_TERM_WIDTH): Changed to function.
5632 (GRUB_TERM_HEIGHT): Likewise.
5633 (GRUB_TERM_BORDER_WIDTH): Likewise.
5634 (GRUB_TERM_BORDER_HEIGHT): Likewise.
5635 (GRUB_TERM_NUM_ENTRIES): Likewise.
5636 (GRUB_TERM_ENTRY_WIDTH): Likewise.
5637 (GRUB_TERM_CURSOR_X): Likewise.
5638 (grub_term_input_class): Likewise.
5639 (grub_term_output_class): Likewise.
5640 (grub_term_outputs_disabled): New declaration.
5641 (grub_term_inputs_disabled): Likewise.
5642 (grub_term_outputs): Likewise.
5643 (grub_term_inputs): Likewise.
5644 (grub_term_register_input): Rewritten.
5645 (grub_term_register_output): Likewise.
5646 (grub_term_unregister_input): Likewise.
5647 (grub_term_unregister_output): Likewise.
5648 (FOR_ACTIVE_TERM_INPUTS): New macro.
5649 (FOR_DISABLED_TERM_INPUTS): Likewise.
5650 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5651 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5652 * include/grub/terminfo.h: Add oterm argument to all protypes.
5653 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
5654 Use grub_rescue_run.
5655 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
5656 All users updated.
5657 * kern/reader.c: Removed. All users updated.
5658 * kern/rescue_reader.c (grub_rescue_init): Removed.
5659 (grub_rescue_reader): Likewise.
5660 (grub_register_rescue_reader): Likewise.
5661 (grub_rescue_run): New function based on kern/reader.c.
5662 * kern/term.c: Adapted for multiterm.
5663 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
5664 (grub_is_valid_utf8): Likewise.
5665 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
5666 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
5667 right terminal.
5668 * loader/i386/linux.c (grub_linux_boot): Likewise.
5669 * normal/auth.c (grub_username_get): New function.
5670 (grub_auth_check_authentication): Use grub_username_get.
5671 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
5672 * normal/color.c: Adapt for multiterm.
5673 * normal/main.c (read_config_file): Don't use grub_reader_loop.
5674 (grub_normal_init_page): Additional argument term.
5675 (read_lists): Call read_terminal_lists.
5676 (grub_enter_normal_mode): Call grub_cmdline_run.
5677 Handle grub_normal_exit_level.
5678 (grub_cmd_normal): Make reentrant.
5679 (grub_cmd_normal_exit): New function.
5680 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
5681 * normal/menu.c: Adapt for multiterm.
5682 * normal/menu_entry.c: Likewise.
5683 * normal/menu_text.c: Likewise.
5684 * normal/menu_viewer.c: Removed. All users updated.
5685 * normal/term.c: New file.
5686 * util/console.c: Change order of includes to workaround a bug in
5687 ncurses headers.
5688 * term/terminfo.c: New argument oterm on all exported functions.
5689 All users updated.
5690 * util/grub-editenv.c (grub_term_input_class): Removed.
5691 (grub_term_output_class): Likewise.
5692
5693 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
5694
5695 Make loader output a bit more user-friendly.
5696
5697 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
5698 is being loaded. Likewise for the Hurd.
5699
5700 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
5701 that kernel of FreeBSD ${version} is being loaded.
5702
5703 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
5704 grub_dprintf().
5705 (grub_cmd_initrd): Likewise.
5706 * util/grub.d/10_linux.in (linux_entry): Print message indicating
5707 that Linux ${version} is being loaded. Likewise for initrd.
5708
5709 2010-01-09 Carles Pina i Estany <carles@pina.cat>
5710
5711 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
5712
5713 2010-01-08 Carles Pina i Estany <carles@pina.cat>
5714
5715 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
5716 (GRUB_MOD_INIT): Gettextizze.
5717 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
5718 (GRUB_MOD_INIT): Gettextizze.
5719 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
5720 (grub_cmd_linux): Capitalise Linux.
5721 (GRUB_MOD_INIT): Gettextizze.
5722 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
5723 (grub_cmd_linux): Capitalise Linux.
5724 (GRUB_MOD_INIT): Gettextizze.
5725 * loader/i386/linux.c: Include `<grub/i18n.h>'.
5726 (grub_cmd_linux): Capitalise Linux.
5727 (GRUB_MOD_INIT): Gettextizze.
5728 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
5729 (GRUB_MOD_INIT): Gettextizze.
5730 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
5731 (grub_cmd_linux): Capitalise Linux.
5732 (GRUB_MOD_INIT): Gettextizze.
5733 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
5734 (grub_cpu_xnu_init): Gettextizze.
5735 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
5736 (GRUB_MOD_INIT): Gettextizze.
5737 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
5738 (GRUB_MOD_INIT): Gettextizze.
5739 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
5740 (grub_linux_load64): Capitalise Linux.
5741 (GRUB_MOD_INIT): Gettextizze.
5742 * loader/xnu.c: Include `<grub/i18n.h>'.
5743 (GRUB_MOD_INIT): Gettextizze.
5744 * po/POTFILES: Add `loader/efi/appleloader.c',
5745 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
5746 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
5747 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
5748 `loader/i386/xnu.c', `loader/multiboot_loader.c',
5749 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
5750 and `loader/xnu.c'.
5751
5752 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5753
5754 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
5755
5756 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
5757
5758 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
5759 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
5760 * util/mkisofs/mkisofs.c (main): Readjust --version output.
5761
5762 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5763
5764 Reset Multiboot 2 support. New loader implements the draft in
5765 /branches/multiboot2 and shares as much code as possible with the
5766 production Multiboot 1 implementation.
5767
5768 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
5769 * loader/multiboot2.c: Likewise.
5770 * loader/i386/multiboot_helper.S: Likewise.
5771 * include/multiboot2.h: Replace with latest version from the draft
5772 in /branches/multiboot2.
5773
5774 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
5775 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
5776 and `loader/multiboot2.c'.
5777 (pkglib_MODULES): Add `multiboot2.mod'.
5778 (multiboot2_mod_SOURCES): New variable.
5779 (multiboot2_mod_LDFLAGS): Likewise.
5780 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
5781
5782 * conf/i386-pc.rmk: Likewise.
5783
5784 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5785 (multiboot_mod_SOURCES): Remove variable.
5786 (multiboot_mod_LDFLAGS): Likewise.
5787 (multiboot_mod_CFLAGS): Likewise.
5788
5789 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
5790 `<multiboot2.h>' instead of `<multiboot.h>'.
5791 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
5792 (MULTIBOOT_HEADER_MAGIC): New macros.
5793
5794 * loader/multiboot_loader.c (module_version_status): Remove variable.
5795 (find_multi_boot2_header): Remove function.
5796 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
5797 logic. Always check for the Multiboot version we're compiling for.
5798 (grub_cmd_module_loader): Likewise.
5799 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
5800 command instead of `multiboot'.
5801
5802 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
5805 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
5806 all users.
5807
5808 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5809 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Fix breakage introduced with previous commit.
5812
5813 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
5814 commands.
5815 * normal/handler.c (read_handler_list): Revert part of previous commit
5816 affecting this file.
5817 * normal/main.c (read_lists): Move read_handler_list() call back to ...
5818 (grub_normal_execute): ... here.
5819
5820 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
5821
5822 Merge prefix-redefinition-fix branch.
5823
5824 * normal/autofs.c (read_fs_list): Make function capable of being
5825 run multiple times, gracefuly replacing the previous data
5826 structures.
5827 * normal/dyncmd.c (read_command_list): Likewise.
5828 * normal/handler.c (read_handler_list): Likewise.
5829 * normal/main.c (read_lists): New function. Calls all the
5830 list reading functions.
5831 (grub_normal_execute): Use read_lists() instead of calling all
5832 list reading functions explicitly. Register read_lists() as a
5833 variable hook attached to ${prefix}.
5834
5835 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Merge crypto branch.
5838
5839 * Makefile.in (pkglib_DATA): Add crypto.lst.
5840 (crypto.lst): New target.
5841 * commands/hashsum.c: New file.
5842 * commands/password.c (check_password): Use grub_crypto_memcmp.
5843 * commands/password_pbkdf2.c: New file.
5844 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
5845 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
5846 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
5847 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
5848 -I$(srcdir)/lib/libgcrypt_wrap.
5849 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
5850 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
5851 password_pbkdf2.mod.
5852 (crypto_mod_SOURCES): New variable.
5853 (crypto_mod_CFLAGS): Likewise.
5854 (crypto_mod_LDFLAGS): Likewise.
5855 (hashsum_mod_SOURCES): New variable.
5856 (hashsum_mod_CFLAGS): Likewise.
5857 (hashsum_mod_LDFLAGS): Likewise.
5858 (pbkdf2_mod_SOURCES): New variable.
5859 (pbkdf2_mod_CFLAGS): Likewise.
5860 (pbkdf2_mod_LDFLAGS): Likewise.
5861 (password_pbkdf2_mod_SOURCES): New variable.
5862 (password_pbkdf2_mod_CFLAGS): Likewise.
5863 (password_pbkdf2_mod_LDFLAGS): Likewise.
5864 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
5865 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
5866 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
5867 Include conf/gcry.rmk.
5868 * include/grub/auth.h: Rewritten.
5869 * include/grub/crypto.h: New file.
5870 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
5871 * include/grub/normal.h (read_crypto_list): New prototype.
5872 * lib/crypto.c: New file.
5873 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5874 * lib/pbkdf2.c: Likewise.
5875 * normal/auth.c (grub_auth_strcmp): Removed.
5876 (grub_iswordseparator): Likewise.
5877 (grub_auth_strword): Likewise.
5878 (is_authenticated): Use grub_strword.
5879 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
5880 and grub_strword. Pass entered password to authentication callback.
5881 * normal/crypto.c: New file.
5882 * normal/main.c: Call read_crypto_list.
5883 * util/grub-mkpasswd-pbkdf2.c: New file.
5884 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
5885
5886 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Fix descent and ascent calculation.
5889
5890 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
5891 (options): New option "asce".
5892 (usage): Likewise.
5893 (add_char): Ignore invalid glyphs for descent calculation.
5894 Calculate ascent from actual content.
5895 (print_glyphs): Use 'asce'.
5896 (write_font): Likewise. Allow ascent override.
5897 (main): Handle "asce" option.
5898
5899 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5900
5901 * kern/err.c: Include `<grub/i18n.h>'.
5902 (grub_print_error): Add full stop. Gettextizze.
5903 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
5904 (grub_bsd_load_elf): Capitalise ELF.
5905 (grub_cmd_freebsd_loadenv): Add `s' in error string.
5906 (grub_cmd_freebsd_module): Likewise.
5907 (grub_cmd_freebsd_module_elf): Likewise.
5908 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
5909
5910 2010-01-06 Carles Pina i Estany <carles@pina.cat>
5911
5912 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5913 * commands/search_file.c (HELP_MESSAGE): New macro.
5914 * commands/search_label.c (HELP_MESSAGE): Likewise.
5915 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5916 * po/POTFILES: Add `commands/search_file.c',
5917 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5918 `commands/search.c'.
5919
5920 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5921
5922 * config.rpath: Update from Gnulib.
5923
5924 2010-01-05 Yves Blusseau <blusseau@zetam.org>
5925
5926 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5927
5928 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5929
5930 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5931
5932 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5933
5934 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5935 arguments to fread so that we get a return value in bytes, rather
5936 than something that will normally be rounded down to 0.
5937 Adjust error handling to avoid producing garbage when size_t is not
5938 the same size as long long.
5939
5940 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
5941
5942 * util/mkisofs/write.c (padblock_write): Check return value of
5943 fread.
5944
5945 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5946
5947 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5948 floppy images now.
5949
5950 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5951
5952 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5953
5954 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5955 instead of manual alignment.
5956 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5957 verbose). Avoid attempts to read past end of the device
5958 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5959 but GRUB_DISK_CACHE_SIZE may exceed that).
5960
5961 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5962
5963 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5964 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5965 it to upper layer.
5966
5967 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5970 New constant.
5971 (grub_efi_piwg_device_path): New structure
5972 (grub_efi_piwg_device_path_t): New type.
5973 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5974 (devpath_1): Transform to a structure. All users updated.
5975 (devpath_2): Likewise.
5976 (devpath_3): Likewise.
5977 (devpath_4): Likewise.
5978 (devpath_5): Likewise.
5979
5980 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * loader/efi/appleloader.c: Restored. Update all users.
5983
5984 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5985
5986 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5987
5988 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5989 (struct boot_blocklist): Move from here ...
5990 * include/grub/i386/pc/boot.h [ASM_FILE]
5991 (struct grub_boot_blocklist): ... to here. Update all users.
5992 (setup): Only initialize `start' member of `first_block'
5993 structure. Add assert() calls to verify the other members.
5994
5995 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5996 (generate_image): Fix broken blocklist length initialization.
5997 Add assert() call to verify blocklist `segment' field.
5998
5999 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6000
6001 * loader/efi/appleloader.c: Remove. Update all users.
6002
6003 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6004
6005 * boot/i386/pc/boot.S: Update copyright year.
6006 * boot/i386/pc/cdboot.S: Likewise.
6007 * boot/i386/pc/diskboot.S: Likewise.
6008 * boot/i386/pc/lnxboot.S: Likewise.
6009 * boot/i386/pc/pxeboot.S: Likewise.
6010 * bus/pci.c: Likewise.
6011 * commands/cmp.c: Likewise.
6012 * commands/help.c: Likewise.
6013 * commands/hexdump.c: Likewise.
6014 * commands/i386/pc/halt.c: Likewise.
6015 * commands/i386/pc/play.c: Likewise.
6016 * commands/i386/pc/vbeinfo.c: Likewise.
6017 * commands/ls.c: Likewise.
6018 * commands/test.c: Likewise.
6019 * disk/dmraid_nvidia.c: Likewise.
6020 * disk/i386/pc/biosdisk.c: Likewise.
6021 * disk/ieee1275/nand.c: Likewise.
6022 * disk/ieee1275/ofdisk.c: Likewise.
6023 * disk/lvm.c: Likewise.
6024 * disk/raid.c: Likewise.
6025 * disk/raid6_recover.c: Likewise.
6026 * disk/scsi.c: Likewise.
6027 * fs/affs.c: Likewise.
6028 * fs/cpio.c: Likewise.
6029 * fs/ext2.c: Likewise.
6030 * fs/hfs.c: Likewise.
6031 * fs/iso9660.c: Likewise.
6032 * fs/ntfs.c: Likewise.
6033 * fs/sfs.c: Likewise.
6034 * fs/udf.c: Likewise.
6035 * fs/ufs.c: Likewise.
6036 * fs/xfs.c: Likewise.
6037 * gencmdlist.sh: Likewise.
6038 * genmk.rb: Likewise.
6039 * include/grub/disk.h: Likewise.
6040 * include/grub/efi/api.h: Likewise.
6041 * include/grub/efi/efi.h: Likewise.
6042 * include/grub/efi/pe32.h: Likewise.
6043 * include/grub/elf.h: Likewise.
6044 * include/grub/fs.h: Likewise.
6045 * include/grub/i386/at_keyboard.h: Likewise.
6046 * include/grub/i386/pc/memory.h: Likewise.
6047 * include/grub/i386/pc/vbe.h: Likewise.
6048 * include/grub/i386/pci.h: Likewise.
6049 * include/grub/i386/tsc.h: Likewise.
6050 * include/grub/ieee1275/ieee1275.h: Likewise.
6051 * include/grub/ntfs.h: Likewise.
6052 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6053 * include/grub/sparc64/libgcc.h: Likewise.
6054 * include/grub/symbol.h: Likewise.
6055 * include/grub/types.h: Likewise.
6056 * include/multiboot2.h: Likewise.
6057 * io/gzio.c: Likewise.
6058 * kern/device.c: Likewise.
6059 * kern/disk.c: Likewise.
6060 * kern/efi/efi.c: Likewise.
6061 * kern/efi/mm.c: Likewise.
6062 * kern/elf.c: Likewise.
6063 * kern/file.c: Likewise.
6064 * kern/i386/dl.c: Likewise.
6065 * kern/i386/pc/init.c: Likewise.
6066 * kern/i386/pc/startup.S: Likewise.
6067 * kern/ieee1275/ieee1275.c: Likewise.
6068 * kern/ieee1275/init.c: Likewise.
6069 * kern/main.c: Likewise.
6070 * kern/mm.c: Likewise.
6071 * kern/powerpc/dl.c: Likewise.
6072 * kern/sparc64/dl.c: Likewise.
6073 * kern/x86_64/dl.c: Likewise.
6074 * lib/hexdump.c: Likewise.
6075 * loader/efi/appleloader.c: Likewise.
6076 * loader/i386/ieee1275/linux.c: Likewise.
6077 * loader/i386/pc/chainloader.c: Likewise.
6078 * loader/i386/pc/linux.c: Likewise.
6079 * loader/i386/pc/multiboot2.c: Likewise.
6080 * loader/ieee1275/multiboot2.c: Likewise.
6081 * loader/multiboot2.c: Likewise.
6082 * loader/multiboot_loader.c: Likewise.
6083 * loader/powerpc/ieee1275/linux.c: Likewise.
6084 * normal/completion.c: Likewise.
6085 * normal/menu_entry.c: Likewise.
6086 * partmap/apple.c: Likewise.
6087 * util/grub.d/10_hurd.in: Likewise.
6088 * util/hostfs.c: Likewise.
6089 * video/readers/png.c: Likewise.
6090
6091 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6092
6093 * include/grub/misc.h (GNUC_PREREQ): New macro.
6094 (ATTRIBUTE_ERROR): New macro.
6095 * include/grub/list.h (grub_bad_type_cast_real): Use
6096 ATTRIBUTE_ERROR.
6097
6098 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6099
6100 * normal/menu_text.c (print_message): Change messages.
6101
6102 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6103
6104 * normal/menu_entry.c (store_completion): Gettextizze.
6105
6106 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6107
6108 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
6109
6110 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6111
6112 * po/POTFILES: Sort correctly.
6113
6114 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6115
6116 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
6117 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
6118 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
6119 full stop.
6120 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
6121 summary. Gettextizze the strings.
6122 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
6123 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
6124 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
6125 full stop.
6126 (GRUB_MOD_INIT): Remove command name from summary.
6127 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
6128 summary.
6129 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
6130 * term/i386/pc/serial.c (options): Add full stops.
6131 (GRUB_MOD_INIT): Remove command name from the summary.
6132
6133 2010-01-03 Carles Pina i Estany <carles@pina.cat>
6134
6135 * commands/acpi.c: Gettextizze help strings and/or options. Include
6136 `grub/i18n.h' if needed.
6137 * commands/blocklist.c: Likewise.
6138 * commands/boot.c: Likewise.
6139 * commands/cat.c: Likewise.
6140 * commands/cmp.c: Likewise.
6141 * commands/configfile.c: Likewise.
6142 * commands/crc.c: Likewise.
6143 * commands/date.c: Likewise.
6144 * commands/echo.c: Likewise.
6145 * commands/efi/fixvideo.c: Likewise.
6146 * commands/efi/loadbios.c: Likewise.
6147 * commands/gptsync.c: Likewise.
6148 * commands/halt.c: Likewise.
6149 * commands/handler.c: Likewise.
6150 * commands/hdparm.c: Likewise.
6151 * commands/hexdump.c: Likewise.
6152 * commands/i386/cpuid.c: Likewise.
6153 * commands/i386/pc/drivemap.c: Likewise.
6154 * commands/i386/pc/halt.c: Likewise.
6155 * commands/i386/pc/pxecmd.c: Likewise.
6156 * commands/i386/pc/vbeinfo.c: Likewise.
6157 * commands/i386/pc/vbetest.c: Likewise.
6158 * commands/ieee1275/suspend.c: Likewise.
6159 * commands/keystatus.c: Likewise.
6160 * commands/loadenv.c: Likewise.
6161 * commands/ls.c: Likewise.
6162 * commands/lsmmap.c: Likewise.
6163 * commands/lspci.c: Likewise.
6164 * commands/memrw.c: Likewise.
6165 * commands/minicmd.c: Likewise.
6166 * commands/parttool.c: Likewise.
6167 * commands/password.c: Likewise.
6168 * commands/probe.c: Likewise.
6169 * commands/read.c: Likewise.
6170 * commands/reboot.c: Likewise.
6171 * commands/search.c: Likewise.
6172 * commands/sleep.c: Likewise.
6173 * commands/test.c: Likewise.
6174 * commands/true.c: Likewise.
6175 * commands/usbtest.c: Likewise.
6176 * commands/videotest.c: Likewise.
6177 * commands/xnu_uuid.c: Likewise.
6178 * disk/loopback.c: Likewise.
6179 * hello/hello.c: Likewise.
6180 * loader/i386/bsd.c: Likewise.
6181 * term/i386/pc/serial.c: Likewise.
6182 * po/POTFILES: Add new files.
6183
6184 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
6185
6186 * term/i386/pc/at_keyboard.c
6187 (keyboard_controller_wait_untill_ready): Rename to ...
6188 (keyboard_controller_wait_until_ready): ... this. Update all users.
6189
6190 2010-01-01 Carles Pina i Estany <carles@pina.cat>
6191
6192 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
6193 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
6194 string using string width.
6195 * normal/menu_text.c (grub_print_message_indented): Use
6196 grub_print_spaces and not print_spaces.
6197 (print_timeout): Likewise.
6198 (print_spaces): Move to...
6199 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
6200
6201 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
6202
6203 Import from Gnulib.
6204
6205 * gnulib/getdelim.c: New file.
6206 * gnulib/getline.c: Likewise.
6207
6208 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
6209
6210 * include/grub/list.h (grub_assert_fail): Removed.
6211 (grub_bad_type_cast_real): New function.
6212 (grub_bad_type_cast): New macro.
6213 (GRUB_AS_LIST): Use grub_bad_type_cast.
6214 (GRUB_AS_LIST_P): Likewise.
6215 (GRUB_AS_NAMED_LIST): Likewise.
6216 (GRUB_AS_NAMED_LIST_P): Likewise.
6217 (GRUB_AS_PRIO_LIST): Likewise.
6218 (GRUB_AS_PRIO_LIST_P): Likewise.
6219 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
6220
6221 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
6224 Fix syntax error.
6225
6226 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
6227
6228 * configure.ac: Check for TARGET_CFLAGS initialization before we
6229 initialize it ourselves (sigh).
6230 Move a few modifications to TARGET_CFLAGS to be unconditional
6231 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
6232 eh_frame)
6233
6234 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
6235 * term/i386/pc/at_keyboard.c
6236 (keyboard_controller_wait_untill_ready): Likewise.
6237 (keyboard_controller_led): Rename `led_status' paramter to avoid
6238 name conflict.
6239
6240 2009-12-28 Carles Pina i Estany <carles@pina.cat>
6241
6242 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
6243 quotes.
6244
6245 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
6248
6249 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * normal/menu_text.c (grub_print_message_indented): Prevent
6252 past-the-end-of-array dereference.
6253
6254 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
6257 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
6258
6259 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6260
6261 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
6262 * normal/main.c (grub_normal_read_line): Remove a space from the
6263 default prompt.
6264
6265 2009-12-27 Carles Pina i Estany <carles@pina.cat>
6266
6267 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
6268 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6269 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6270 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6271 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6272 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6273 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6274
6275 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6276
6277 * video/readers/jpeg.c (cmd): Declare.
6278 (grub_cmd_jpegtest): Use `grub_command_t' type.
6279 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6280 Assign to `cmd'.
6281 (GRUB_MOD_FINI): Use `cmd' to unregister.
6282 * video/readers/png.c (cmd): Declare.
6283 (grub_cmd_pngtest): Use `grub_command_t' type.
6284 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6285 Assign to `cmd'.
6286 (GRUB_MOD_FINI): Use `cmd' to unregister.
6287 * video/readers/tga.c (cmd): Declare.
6288 (grub_cmd_tgatest): Use `grub_command_t' type.
6289 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
6290 Assign to `cmd'.
6291 (GRUB_MOD_FINI): Use `cmd' to unregister.
6292
6293 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6294
6295 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
6296 stops.
6297 * kern/corecmd.c (grub_register_core_commands): Likewise.
6298 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
6299 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6300 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
6301 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6302 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
6303 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
6304 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
6305 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
6306 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6307 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
6308 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6309 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6310 * normal/handler.c (insert_handler): Likewise.
6311 * normal/main.c (GRUB_MOD_INIT): Likewise.
6312 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6313
6314 2009-12-26 Carles Pina i Estany <carles@pina.cat>
6315
6316 * commands/help.c (grub_cmd_help): Print the command name before the
6317 summary.
6318 (GRUB_MOD_INIT): Remove command name from the summary.
6319 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
6320 string as summary.
6321 * lib/arg.c (find_long): Print the command name before the summary.
6322 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
6323 summary.
6324 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
6325 * commands/cat.c (GRUB_MOD_INIT): Likewise.
6326 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
6327 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
6328 * commands/crc.c (GRUB_MOD_INIT): Likewise.
6329 * commands/date.c (GRUB_MOD_INIT): Likewise.
6330 * commands/echo.c (GRUB_MOD_INIT): Likewise.
6331 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
6332 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6333 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6334 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
6335 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
6336 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
6337 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
6338 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6339 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
6340 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
6341 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
6342 * commands/ls.c (GRUB_MOD_INIT): Likewise.
6343 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6344 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6345 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6346 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
6347 * commands/password.c (GRUB_MOD_INIT): Likewise.
6348 * commands/probe.c (GRUB_MOD_INIT): Likewise.
6349 * commands/read.c (GRUB_MOD_INIT): Likewise.
6350 * commands/search.c (GRUB_MOD_INIT): Likewise.
6351 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
6352 * commands/test.c (GRUB_MOD_INIT): Likewise.
6353 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
6354 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6355 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6356 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
6357 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6358 * lib/arg.c (GRUB_MOD_INIT): Likewise.
6359 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
6360 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
6361 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
6362 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6363 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6364 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
6365 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
6366 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
6367
6368 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 Use search command for preliminar UUID search.
6371
6372 * commands/search.c: Split into ...
6373 * commands/search_wrap.c: ...this
6374 * commands/search.c: ...and this.
6375 * commands/search_file.c: New file.
6376 * commands/search_label.c: New file.
6377 * commands/search_uuid.c: New file.
6378 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
6379 Add commands/search_wrap.c, commands/search_file.c,
6380 commands/search_label.c and commands/search_uuid.c.
6381 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
6382 (search_mod_SOURCES): Set to commands/search_wrap.c.
6383 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
6384 search_label.mod.
6385 (search_fs_file_mod_SOURCES): New variable.
6386 (search_fs_file_mod_CFLAGS): Likewise.
6387 (search_fs_file_mod_LDFLAGS): Likewise.
6388 (search_label_mod_SOURCES): Likewise.
6389 (search_label_mod_CFLAGS): Likewise.
6390 (search_label_mod_LDFLAGS): Likewise.
6391 (search_fs_uuid_mod_SOURCES): New variable.
6392 (search_fs_uuid_mod_CFLAGS): Likewise.
6393 (search_fs_uuid_mod_LDFLAGS): Likewise.
6394 (fs_file_mod_SOURCES): Removed.
6395 (fs_file_mod_CFLAGS): Likewise.
6396 (fs_file_mod_LDFLAGS): Likewise.
6397 (fs_uuid_mod_SOURCES): Removed.
6398 (fs_uuid_mod_CFLAGS): Likewise.
6399 (fs_uuid_mod_LDFLAGS): Likewise.
6400 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
6401 Set to util/grub-install.in.
6402 * disk/fs_file.c: Removed.
6403 * disk/fs_uuid.c: Likewise.
6404 * include/grub/search.h: New file.
6405 * util/grub-install.in: Handle sparc64.
6406 Create and use load.cfg.
6407 * util/sparc64/ieee1275/grub-install.in: Removed.
6408
6409 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
6412 Ignore return status if CF is cleared.
6413 (grub_biosdisk_get_diskinfo_standard): Likewise.
6414
6415 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6416
6417 * term/i386/pc/at_keyboard.c
6418 (keyboard_controller_wait_untill_ready): New function.
6419 (grub_keyboard_controller_write, grub_keyboard_controller_read)
6420 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
6421 for keyboard polling, rather than duplicate the same loop. This
6422 saves a few bytes in code size.
6423
6424 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 Support for (pxe[:server[:gateway]]) syntax and
6427 use environment variable for PXE.
6428
6429 * commands/i386/pc/pxecmd.c (options): Removed.
6430 (print_ip): Removed.
6431 (grub_cmd_pxe): Removed
6432 (grub_cmd_pxe_unload): New function.
6433 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
6434 (grub_pxe_your_ip): Made static.
6435 (grub_pxe_default_server_ip): Likewise.
6436 (grub_pxe_default_gateway_ip): Likewise.
6437 (grub_pxe_blksize): Likewise.
6438 (parse_ip): New function.
6439 (grub_pxe_open): Support server and gateway specification.
6440 (grub_pxe_close): Free disk->data.
6441 (grub_pxefs_open): Use disk->data.
6442 (grub_pxefs_read): Likewise.
6443 (grub_env_write_readonly): New function.
6444 (set_mac_env): Likewise.
6445 (set_env_limn_ro): Likewise.
6446 (parse_dhcp_vendor): Likewise.
6447 (grub_pxe_detect): Set the environment variables.
6448 (set_ip_env): New function.
6449 (write_ip_env): Likewise.
6450 (grub_env_write_pxe_default_server): Likewise.
6451 (grub_env_write_pxe_default_gateway): Likewise.
6452 (grub_env_write_pxe_blocksize): Likewise.
6453 (GRUB_MOD_INIT(pxe)): Set environment variables.
6454 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
6455 (grub_pxe_mac_addr_t): ... this. All users updated.
6456 (grub_pxe_your_ip): Removed.
6457 (grub_pxe_server_ip): Likewise.
6458 (grub_pxe_gateway_ip): Likewise.
6459 (grub_pxe_blksize): Likewise.
6460
6461 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6462
6463 * commands/help.c: Include `<grub/i18n.h>'.
6464 (grub_cmd_help): Gettextizze.
6465 (GRUB_MOD_INIT): Likewise.
6466 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
6467 (GRUB_MOD_INIT): Gettextizze.
6468 * commands/search.c: Include `<grub/i18n.h>'.
6469 (options): Gettextizze.
6470 (GRUB_MOD_INIT): Gettextizze.
6471 * lib/arg.c: Include `<grub/i18n.h>'.
6472 (help_options): Gettextizze.
6473 (find_long): Likewise.
6474 (grub_arg_show_help): Likewise.
6475 * normal/dyncmd.c: Include `<grub/i18n.h>'.
6476 (read_command_list): Gettextizze.
6477 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
6478 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
6479
6480 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
6481
6482 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
6483 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
6484 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
6485 (led_status): New variable.
6486 (keyboard_controller_led): New function.
6487 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
6488 update led status for caps lock, num lock and scroll lock.
6489
6490 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
6491
6492 * util/hostdisk.c (open_device): Fix a comment.
6493
6494 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6495
6496 * util/grub-install.in (host_os): New variable.
6497 * util/i386/efi/grub-install.in (host_os): Likewise.
6498
6499 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6500
6501 * util/mkisofs/write.c (padblock_write): Abort when given an
6502 excedingly large embed image, instead of silently truncating it.
6503
6504 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6505
6506 * include/multiboot.h: Indentation fixes.
6507
6508 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6509
6510 * include/multiboot.h (struct multiboot_aout_symbol_table)
6511 (struct multiboot_elf_section_header_table): New structure
6512 declarations (stolen from GRUB Legacy).
6513 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
6514 table information.
6515
6516 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
6517 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
6518 type aliases.
6519
6520 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6521
6522 * include/multiboot.h: Make comments src2texi-friendly.
6523
6524 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6525
6526 For consistency with [multiboot]/docs/boot.S.
6527
6528 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
6529 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
6530 (MULTIBOOT_MAGIC2): Rename from this ...
6531 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
6532
6533 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
6534
6535 * include/multiboot.h: Remove `<grub/types.h>'.
6536 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
6537 types. Update all users.
6538
6539 2009-12-25 Carles Pina i Estany <carles@pina.cat>
6540
6541 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
6542 `couldn't' and `can not' by `cannot'.
6543 * commands/i386/pc/drivemap.c: Likewise.
6544 * disk/ata.c: Likewise.
6545 * disk/ieee1275/nand.c: Likewise.
6546 * fs/affs.c: Likewise.
6547 * fs/fat.c: Likewise.
6548 * fs/hfs.c: Likewise.
6549 * fs/hfsplus.c: Likewise.
6550 * fs/iso9660.c: Likewise.
6551 * fs/jfs.c: Likewise.
6552 * fs/minix.c: Likewise.
6553 * fs/reiserfs.c: Likewise.
6554 * fs/sfs.c: Likewise.
6555 * fs/udf.c: Likewise.
6556 * fs/ufs.c: Likewise.
6557 * fs/xfs.c: Likewise.
6558 * loader/powerpc/ieee1275/linux.c: Likewise.
6559 * loader/sparc64/ieee1275/linux.c: Likewise.
6560 * util/grub-probe.c: Likewise.
6561 * util/misc.c: Likewise.
6562
6563 2009-12-24 Carles Pina i Estany <carles@pina.cat>
6564
6565 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
6566 grub_errno calls.
6567 * commands/acpi.c: Likewise.
6568 * commands/blocklist.c: Likewise.
6569 * commands/efi/loadbios.c: Likewise.
6570 * commands/i386/pc/drivemap.c: Likewise.
6571 * commands/loadenv.c: Likewise.
6572 * commands/memrw.c: Likewise.
6573 * commands/password.c: Likewise.
6574 * commands/videotest.c: Likewise.
6575 * disk/ata.c: Likewise.
6576 * disk/ata_pthru.c: Likewise.
6577 * disk/dmraid_nvidia.c: Likewise.
6578 * disk/ieee1275/nand.c: Likewise.
6579 * disk/ieee1275/ofdisk.c: Likewise.
6580 * disk/loopback.c: Likewise.
6581 * disk/lvm.c: Likewise.
6582 * disk/mdraid_linux.c: Likewise.
6583 * disk/raid.c: Likewise.
6584 * disk/raid6_recover.c: Likewise.
6585 * disk/scsi.c: Likewise.
6586 * efiemu/main.c: Likewise.
6587 * efiemu/mm.c: Likewise.
6588 * efiemu/pnvram.c: Likewise.
6589 * efiemu/symbols.c: Likewise.
6590 * font/font.c: Likewise.
6591 * fs/cpio.c: Likewise.
6592 * fs/hfsplus.c: Likewise.
6593 * fs/iso9660.c: Likewise.
6594 * fs/jfs.c: Likewise.
6595 * fs/minix.c: Likewise.
6596 * fs/ntfs.c: Likewise.
6597 * fs/ntfscomp.c: Likewise.
6598 * fs/reiserfs.c: Likewise.
6599 * fs/ufs.c: Likewise.
6600 * fs/xfs.c: Likewise.
6601 * gettext/gettext.c: Likewise.
6602 * include/grub/auth.h: Likewise.
6603 * kern/elf.c: Likewise.
6604 * kern/file.c: Likewise.
6605 * kern/ieee1275/init.c: Likewise.
6606 * kern/ieee1275/mmap.c: Likewise.
6607 * kern/ieee1275/openfw.c: Likewise.
6608 * kern/powerpc/dl.c: Likewise.
6609 * kern/sparc64/dl.c: Likewise.
6610 * lib/arg.c: Likewise.
6611 * loader/i386/bsd.c: Likewise.
6612 * loader/i386/bsdXX.c: Likewise.
6613 * loader/i386/efi/linux.c: Likewise.
6614 * loader/i386/efi/xnu.c: Likewise.
6615 * loader/i386/ieee1275/linux.c: Likewise.
6616 * loader/i386/linux.c: Likewise.
6617 * loader/i386/multiboot.c: Likewise.
6618 * loader/i386/pc/linux.c: Likewise.
6619 * loader/i386/pc/multiboot2.c: Likewise.
6620 * loader/i386/xnu.c: Likewise.
6621 * loader/ieee1275/multiboot2.c: Likewise.
6622 * loader/macho.c: Likewise.
6623 * loader/machoXX.c: Likewise.
6624 * loader/multiboot2.c: Likewise.
6625 * loader/multiboot_loader.c: Likewise.
6626 * loader/powerpc/ieee1275/linux.c: Likewise.
6627 * loader/sparc64/ieee1275/linux.c: Likewise.
6628 * loader/xnu.c: Likewise.
6629 * loader/xnu_resume.c: Likewise.
6630 * mmap/i386/pc/mmap.c: Likewise.
6631 * normal/menu_viewer.c: Likewise.
6632 * partmap/acorn.c: Likewise.
6633 * partmap/amiga.c: Likewise.
6634 * partmap/apple.c: Likewise.
6635 * script/lexer.c: Likewise.
6636 * term/gfxterm.c: Likewise.
6637 * term/i386/pc/serial.c: Likewise.
6638 * term/i386/pc/vga.c: Likewise.
6639 * term/ieee1275/ofconsole.c: Likewise.
6640 * term/terminfo.c: Likewise.
6641 * video/bitmap.c: Likewise.
6642 * video/efi_gop.c: Likewise.
6643 * video/efi_uga.c: Likewise.
6644 * video/fb/video_fb.c: Likewise.
6645 * video/i386/pc/vbe.c: Likewise.
6646 * video/readers/tga.c: Likewise.
6647 * video/video.c: Likewise.
6648
6649 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
6650
6651 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
6652 * commands/lspci.c: Likewise.
6653 * commands/probe.c: Likewise.
6654 * commands/xnu_uuid.c: Likewise.
6655 * conf/i386-coreboot.rmk: Likewise.
6656 * conf/i386-efi.rmk: Likewise.
6657 * conf/i386-ieee1275.rmk: Likewise.
6658 * conf/i386-pc.rmk: Likewise.
6659 * conf/powerpc-ieee1275.rmk: Likewise.
6660 * conf/sparc64-ieee1275.rmk: Likewise.
6661 * conf/x86_64-efi.rmk: Likewise.
6662 * fs/i386/pc/pxe.c: Likewise.
6663 * gettext/gettext.c: Likewise.
6664 * include/grub/efi/graphics_output.h: Likewise.
6665 * include/grub/i386/pc/memory.h: Likewise.
6666 * kern/env.c: Likewise.
6667 * kern/i386/qemu/startup.S: Likewise.
6668 * lib/i386/pc/biosnum.c: Likewise.
6669 * lib/i386/relocator.c: Likewise.
6670 * lib/i386/relocator_asm.S: Likewise.
6671 * lib/relocator.c: Likewise.
6672 * loader/i386/bsd.c: Likewise.
6673 * loader/i386/multiboot.c: Likewise.
6674 * loader/i386/pc/chainloader.c: Likewise.
6675 * loader/i386/xnu.c: Likewise.
6676 * loader/xnu.c: Likewise.
6677 * normal/main.c: Likewise.
6678 * normal/menu_text.c: Likewise.
6679 * util/getroot.c: Likewise.
6680 * util/grub-mkconfig_lib.in: Likewise.
6681 * util/grub.d/00_header.in: Likewise.
6682 * util/i386/pc/grub-mkimage.c: Likewise.
6683 * util/mkisofs/eltorito.c: Likewise.
6684 * util/mkisofs/exclude.h: Likewise.
6685 * util/mkisofs/hash.c: Likewise.
6686 * util/mkisofs/iso9660.h: Likewise.
6687 * util/mkisofs/joliet.c: Likewise.
6688 * util/mkisofs/mkisofs.c: Likewise.
6689 * util/mkisofs/mkisofs.h: Likewise.
6690 * util/mkisofs/multi.c: Likewise.
6691 * util/mkisofs/name.c: Likewise.
6692 * util/mkisofs/rock.c: Likewise.
6693 * util/mkisofs/tree.c: Likewise.
6694 * util/mkisofs/write.c: Likewise.
6695 * video/efi_gop.c: Likewise.
6696
6697 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
6700 size counting.
6701
6702 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6703
6704 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
6705 * genmk.rb (class SCRIPT): Modify the target file instead of source.
6706
6707 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
6710 (GRUB_MOD_INIT(memrw)): Update help line.
6711
6712 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
6715 Use grub_extcmd_t. All users updated.
6716 (options): New variable.
6717 (grub_cmd_read): Restructure for readability. Support "-v" option.
6718 (grub_cmd_write): Restructure for readability.
6719
6720 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6721
6722 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
6723
6724 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6725
6726 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
6727 with the actual contents of the correspondending make variable.
6728 * util/grub-mkrescue.in (pkglib_DATA): New variable.
6729 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
6730 specifying `*.lst' and `efiemu??.o'
6731
6732 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6733
6734 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
6735 after function name.
6736 Noticed by Rene Engelhard <rene@debian.org>.
6737
6738 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
6741 (options): New variable.
6742 (iospace): Likewise.
6743 (grub_lspci_iter): List IO spaces if "-i" was given.
6744 (grub_cmd_lspci): Parse options.
6745 (GRUB_MOD_INIT(lspci)): Use extcmd.
6746 (GRUB_MOD_FINI(lspci)): Likewise.
6747
6748 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
6749
6750 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
6751 `function' keyword.
6752 Patch by Tony Mancill <tmancill@debian.org>.
6753
6754 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
6757 (grub_uhci_portstatus): Likewise.
6758 (grub_uhci_portstatus): Add necessary delay.
6759 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
6760
6761 2009-12-21 Carles Pina i Estany <carles@pina.cat>
6762
6763 * commands/acpi.c (options): Fix capitalizations and/or full stops.
6764 (GRUB_MOD_INIT): Likewise.
6765 * commands/boot.c (GRUB_MOD_INIT): Likewise.
6766 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
6767 * commands/echo.c (options): Fix capitalizations and/or full stops.
6768 * commands/efi/loadbios.c (enable_rom_area): Likewise.
6769 (enable_rom_area): Likewise.
6770 (GRUB_MOD_INIT): Likewise.
6771 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
6772 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
6773 * commands/handler.c (GRUB_MOD_INIT): Likewise.
6774 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
6775 * commands/hexdump.c (options): Likewise.
6776 * commands/i386/cpuid.c (options): Likewise.
6777 (GRUB_MOD_INIT): Likewise.
6778 * commands/i386/pc/drivemap.c (options): Likewise.
6779 (GRUB_MOD_INIT): Likewise.
6780 * commands/i386/pc/halt (options): Likewise.
6781 (GRUB_MOD_INIT): Likewise.
6782 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
6783 * commands/i386/pc/pxecmd.c (options): Likewise.
6784 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
6785 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
6786 * commands/keystatus.c (options): Likewise.
6787 (GRUB_MOD_INIT): Likewise.
6788 * commands/loadenv.c (options): Likewise.
6789 * commands/ls.c (options): Likewise.
6790 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
6791 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
6792 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
6793 * commands/parttool.c (helpmsg): Likewise.
6794 * commands/probe.c (options): Likewise.
6795 * commands/read.c (GRUB_MOD_INIT): Likewise.
6796 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
6797 * commands/search.c (options): Likewise.
6798 * commands/sleep.c (options): Likewise.
6799 * commands/test.c (GRUB_MOD_INIT): Likewise.
6800 * commands/true.c (GRUB_MOD_INIT): Likewise.
6801 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
6802 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
6803 * lib/arg.c (help_options): Likewise.
6804 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
6805 `$(XGETTEXT)'.
6806 * po/POTFILES: Add `commands/loadenv.c'.
6807
6808 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
6809
6810 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
6811 instead of specifying them explicit.
6812
6813 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6814
6815 * NEWS: Add grub-probe support for GNU/Hurd.
6816
6817 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6818
6819 * NEWS: gettext was added after 1.97.
6820
6821 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6822
6823 * util/mkisofs/msdos_partition.h: New file (based on
6824 include/grub/msdos_partition.h).
6825 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
6826 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
6827 (ld_options, main): Recognize --protective-msdos-label.
6828 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
6829 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
6830 (padblock_write): If `use_protective_msdos_label' is set, patch a
6831 protective DOS-style label in the output image.
6832
6833 * util/grub-mkrescue.in: Use --protective-msdos-label.
6834
6835 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6836
6837 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
6838 boot.
6839
6840 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6841
6842 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
6843 variables.
6844 (ld_options, main): Recognize `--embedded-boot'.
6845 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
6846 declarations.
6847 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
6848 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
6849 (padblock_write): Likewise. Rewrite to support embedded boot image.
6850
6851 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
6852 for BIOS-based disk boot instead of only ElTorito.
6853
6854 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6855
6856 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
6857 build (not needed for bootstrap).
6858
6859 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6860
6861 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
6862 from i386-pc build (not needed for bootstrap).
6863 Rewrite a pair of strings.
6864
6865 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
6866
6867 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
6868
6869 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
6872
6873 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6874
6875 * kern/env.c (grub_env_context_open): Mark exported variable for
6876 reexport.
6877
6878 2009-12-21 Andreas Born <futur.andy@googlemail.com>
6879
6880 * kern/env.c (grub_env_export): Create nonexistent variables before
6881 exporting.
6882
6883 2009-12-20 Carles Pina i Estany <carles@pina.cat>
6884
6885 * include/grub/auth.h: Include `<grub/i18n.h>'.
6886 (GRUB_GET_PASSWORD): Gettextizze string.
6887 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
6888 menu_text.c.
6889 (grub_utf8_to_ucs4_alloc): Fix indentation.
6890 (grub_print_ucs4): Likewise.
6891 (grub_getstringwidth): Likewise.
6892 (print_message_indented): New declaration.
6893 * normal/auth.c: Include `<grub/i18n.h>'.
6894 (grub_auth_check_authentication): Gettexttize string.
6895 * normal/cmdline.c: Include `<grub/i18n.h>'.
6896 (grub_cmdline_get): Gettextizze.
6897 * normal/color.c: Include `<grub/i18n.h>'.
6898 (grub_parse_color_name_pair): Gettexttize strings.
6899 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
6900 string (use `print_message_indented').
6901 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
6902 `include/grub/normal.h'.
6903 (print_message_indented): Renamed to ...
6904 (grub_print_message_indented): ... this. Remove `static' qualifer (now
6905 used in normal/main.c).
6906 (print_message): Use `grub_print_message_indented' instead of
6907 `print_message_indented'.
6908 (print_timeout): Likewise.
6909 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
6910 (grub_normal_print_device_info): Gettexttize strings.
6911 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6912
6913 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6916 of arguments. Return number of tokens and not arguments. All users
6917 updated.
6918
6919 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6922 non-MSDOS paritions.
6923
6924 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * include/grub/types.h (UNUSED): Removed since it conflicts with
6927 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6928 Reported by Grégoire Sutre.
6929
6930 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6931
6932 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6933 (grub_print_ucs4_alloc): Likewise.
6934 (grub_getstringwidth): Likewise.
6935 * normal/main.c (grub_normal_init_page): Gettextize version string.
6936 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6937 (getstringwidth): Renamed to ...
6938 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6939 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6940 (grub_print_ucs4): Remove `static' qualifer (now used in
6941 normal/main.c).
6942 * po/POTFILES: Add normal/main.c.
6943
6944 2009-12-19 Carles Pina i Estany <carles@pina.cat>
6945
6946 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6947 (print_message_indented): Add `margin_left' and `margin_right'
6948 parameters.
6949 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6950 strings.
6951 (print_timeout): Use `print_message_indented' to print the message.
6952 Deletes `second_stage' parameter.
6953 (run_menu): Update `print_timeout' calls.
6954
6955 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 Fix console palette on OpenFirmware.
6958
6959 * term/ieee1275/ofconsole.c (MAX): Removed.
6960 (colors): Redone based on VGA palette.
6961 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6962 colors are supported.
6963 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6964
6965 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 Fix potential EfiEmu double prepare.
6968
6969 * efiemu/main.c (prepared): New variable
6970 (grub_efiemu_unload): Set prepare to '0'.
6971 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6972
6973 set_virtual_address_map support.
6974
6975 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6976 prototype.
6977 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6978 prototype.
6979 (grub_efiemu_crc32): Likewise.
6980 (grub_efiemu_crc64): Likewise.
6981 (grub_efiemu_set_virtual_address_map): Likewise.
6982 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6983 New definition.
6984 (grub_autoefi_set_virtual_address_map): Likewise.
6985 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6986 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6987 Restructure flow to accomodate it.
6988 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6989 (grub_efiemu_crc): Recompute CRC32.
6990 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6991 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6992 * efiemu/symbols.c (relocated_handle): New variable.
6993 (grub_efiemu_free_syms): Free relocated_handle.
6994 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6995 (grub_efiemu_write_sym_markers): New function.
6996 (grub_efiemu_set_virtual_address_map): Likewise.
6997
6998 Newer XNU parameters.
6999
7000 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7001 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7002 (grub_xnu_fill_devicetree): New prototype.
7003 (grub_xnu_heap_real_start): New variable.
7004 * loader/xnu.c (get_name_ptr): New function.
7005 (grub_xnu_load_driver): Fill namelen and name.
7006
7007 64-bit xnu support.
7008
7009 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7010 and 'loader/macho64.c'.
7011 * conf/i386-pc.rmk: Likewise.
7012 * conf/x86_64-efi.rmk: Likewise.
7013 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7014 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7015 * include/grub/macho.h (grub_macho_segment64): New structure.
7016 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7017 (grub_macho_size32): ... to this.
7018 (grub_macho32_get_entry_point): Renamed from ...
7019 (grub_macho_get_entry_point32): ... to this.
7020 (grub_macho_contains_macho64): New prototype.
7021 (grub_macho_size64): Likewise.
7022 (grub_macho_get_entry_point64): Likewise.
7023 (grub_macho32_load): Renamed from ...
7024 (grub_macho_load32): ... to this.
7025 (grub_macho32_filesize): Renamed from ...
7026 (grub_macho_filesize32): ... to this.
7027 (grub_macho32_readfile): Renamed from ...
7028 (grub_macho_readfile32): ... to this.
7029 (grub_macho_filesize64): New prototype.
7030 (grub_macho_readfile64): Likewise.
7031 (grub_macho_parse32): Likewise.
7032 (grub_macho_parse64): Likewise.
7033 * loader/macho.c: Split into ...
7034 * loader/machoXX.c: ... and this. Replace 32 with XX.
7035 * loader/macho32.c: New file.
7036 * loader/macho64.c: Likewise.
7037 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7038 (grub_cmd_xnu_kernel): Make 32-bit only.
7039 (grub_cmd_xnu_kernel64): New function.
7040 (grub_xnu_load_driver): Support Mach-O 64.
7041 (grub_cmd_xnu_mkext): Likewise.
7042 * util/grub.d/30_os-prober.in (osx_entry): New function.
7043 Generate entries for 64-bit boot too.
7044
7045 Eliminate ad-hoc tree format in XNU and EfiEmu.
7046
7047 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7048 * efiemu/pnvram.c: Rewritten to use environment variables.
7049 All users updated.
7050
7051 Inline utf16_to_utf8.
7052
7053 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7054 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7055 All users updated.
7056 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7057
7058 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7059 * commands/usbtest.c (grub_usb_get_string): ... move here.
7060 (usb_print_str): Fix error handling.
7061 * include/grub/usb.h (grub_usb_get_string): Remove.
7062
7063 UTF-8 to UTF-16 transformation.
7064
7065 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7066 (charset_mod_SOURCES): New variable.
7067 (charset_mod_CFLAGS): Likewise.
7068 (charset_mod_LDFLAGS): Likewise.
7069 * include/grub/utf.h: New file.
7070 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7071
7072 Support for device properties.
7073
7074 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7075 (grub_xnu_devprop_device_header): Likewise.
7076 (grub_xnu_devprop_device_descriptor): Likewise.
7077 (grub_xnu_devprop_add_device): New prototype.
7078 (grub_xnu_devprop_remove_device): Likewise.
7079 (grub_xnu_devprop_remove_property): Likewise.
7080 (grub_xnu_devprop_add_property_utf8): Likewise.
7081 (grub_xnu_devprop_add_property_utf16): Likewise.
7082 (grub_cpu_xnu_init): Likewise.
7083 (grub_cpu_xnu_fini): Likewise.
7084 (grub_cpu_xnu_unload): Likewise.
7085 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7086 (property_descriptor): Likewise.
7087 (devices): New variable.
7088 (grub_xnu_devprop_remove_property): New function.
7089 (grub_xnu_devprop_add_device): Likewise.
7090 (grub_xnu_devprop_remove_device): Likewise.
7091 (grub_xnu_devprop_add_property): Likewise.
7092 (grub_xnu_devprop_add_property_utf8): Likewise.
7093 (grub_xnu_devprop_add_property_utf16): Likewise.
7094 (hextoval): Likewise.
7095 (grub_cpu_xnu_fill_devprop): Likewise.
7096 (grub_cmd_devprop_load): Likewise.
7097 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7098 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
7099 (cmd_devprop_load): New variable.
7100 (grub_cpu_xnu_init): New function.
7101 (grub_cpu_xnu_fini): Likewise.
7102 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
7103 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
7104 (grub_cmd_xnu_devtree): Likewise.
7105 (hextoval): New function.
7106 (unescape): Likewise.
7107 (grub_xnu_fill_devicetree): Likewise.
7108
7109 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
7110 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
7111
7112 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Workaround for broken ATI VBE.
7115
7116 * video/i386/pc/vbe.c (last_set_mode): New variable.
7117 (grub_vbe_set_video_mode): Set 'last_set_mode'.
7118 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
7119 (grub_video_vbe_setup): Don't check for reserved flag.
7120
7121 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
7122
7123 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
7124 the `find' command.
7125
7126 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 UUID support for HFS.
7129
7130 * fs/hfs.c (grub_hfs_uuid): New function.
7131 (grub_hfs_fs): New value .uuid.
7132 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
7133
7134 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
7135
7136 Fix a segfault with parsing unknown long options.
7137
7138 * util/grub-mkrelpath.c (options): Zero terminate it.
7139
7140 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7141
7142 * include/grub/misc.h (grub_puts): New declaration.
7143 (grub_puts_): Likewise.
7144 * kern/misc.c (grub_puts): New definition.
7145 (grub_puts_): Likewise.
7146
7147 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7148
7149 * util/grub-probe.c (probe): Improve error message.
7150
7151 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
7152
7153 * loader/i386/multiboot_elfxx.c
7154 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
7155 initialization.
7156
7157 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Relocator framework
7160
7161 * loader/i386/xnu_helper.S: Removed. All users updated.
7162 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
7163 (relocator_mod_SOURCES): New variable.
7164 (relocator_mod_CFLAGS): Likewise.
7165 (relocator_mod_LDFLAGS): Likewise.
7166 (relocator_mod_ASFLAGS): Likewise.
7167 * conf/x86_64.rmk: Likewise.
7168 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
7169 (grub_multiboot_payload_entry_offset): Likewise.
7170 (grub_multiboot_forward_relocator): Likewise.
7171 (grub_multiboot_forward_relocator_end): Likewise.
7172 (grub_multiboot_backward_relocator): Likewise.
7173 (grub_multiboot_backward_relocator_end): Likewise.
7174 (grub_multiboot_payload_eip): New variable.
7175 (grub_multiboot_payload_orig): Likewise.
7176 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
7177 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
7178 * include/grub/i386/memory.h
7179 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
7180 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
7181 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
7182 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
7183 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
7184 * include/grub/i386/relocator.h: New file.
7185 * include/grub/x86_64/relocator.h: Likewise.
7186 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
7187 (XNU_RELOCATOR): New macro.
7188 (grub_xnu_launcher_start): Remove.
7189 (grub_xnu_launcher_end): Likewise.
7190 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
7191 (grub_xnu_heap_real_start): Remove.
7192 (grub_xnu_heap_start): Change to void *. All users updated.
7193 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
7194 * lib/i386/relocator.c: New file.
7195 * lib/i386/relocator_asm.S: Likewise.
7196 * lib/i386/relocator_backward.S: Likewise.
7197 * lib/mips/relocator.c: Likewise.
7198 * lib/mips/relocator_asm.S: Likewise.
7199 * lib/relocator.c: Likewise.
7200 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
7201 (entry): Removed.
7202 (playground): Likewise.
7203 (grub_multiboot_payload_orig): New variable.
7204 (grub_multiboot_payload_dest): Likewise.
7205 (grub_multiboot_payload_size): Likewise.
7206 (grub_multiboot_payload_eip): Likewise.
7207 (grub_multiboot_payload_esp): Likewise.
7208 (grub_multiboot_boot): Use grub_relocator32_boot.
7209 (grub_multiboot_unload): Free relocators.
7210 (grub_multiboot): Setup stack. Use relocators.
7211 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
7212 (grub_multiboot_load_elfXX): Use relocators.
7213 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
7214 (grub_multiboot_payload_size): Likewise.
7215 (grub_multiboot_payload_dest): Likewise.
7216 (grub_multiboot_payload_entry_offset): Likewise.
7217 (grub_multiboot_forward_relocator): Likewise.
7218 (grub_multiboot_backward_relocator): Likewise.
7219 (grub_multiboot_real_boot): Likewise.
7220 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
7221 (grub_xnu_entry_point): Likewise.
7222 (grub_xnu_arg1): Likewise.
7223 (grub_xnu_stack): Likewise.
7224 (grub_xnu_launch): Removed.
7225 (grub_xnu_boot_resume): New function.
7226 (grub_xnu_boot): Use relocators.
7227 * loader/i386/xnu_helper.S: Removed.
7228 * loader/xnu.c (grub_xnu_heap_start): New variable.
7229 (grub_xnu_heap_size): Likewise.
7230 (grub_xnu_heap_malloc): Use relocators.
7231 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
7232
7233 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
7236 anything.
7237
7238 2009-12-13 Carles Pina i Estany <carles@pina.cat>
7239
7240 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
7241 GRUB_ERR_NONE before calling grub_env_set.
7242
7243 2009-12-12 Robert Millan <rmh@aybabtu.com>
7244
7245 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
7246 * genmk.rb (video): New variable.
7247 (CLEANFILES, VIDEOFILES): Add #{video}.
7248 (#{video}): New target rule.
7249 * genvideolist.sh: New file.
7250 * Makefile.in (pkglib_DATA): Add video.lst.
7251 (video.lst): New target rule.
7252 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
7253 `video.lst'.
7254 * util/grub.d/30_os-prober.in: Replace `vbe' with
7255 ${GRUB_VIDEO_BACKEND}.
7256
7257 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
7258
7259 * THANKS: Add David Miller.
7260
7261 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 libpciaccess support.
7264
7265 * Makefile.in (LIBPCIACCESS): New variable.
7266 (enable_grub_emu_pci): Likewise.
7267 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
7268 util/pci.c and commands/lspci.c.
7269 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
7270 * configure.ac (grub-emu-pci): New option.
7271 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
7272 (grub_pci_device_unmap_range): Likewise.
7273 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
7274 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
7275 (grub_pci_address_t) [!GRUB_UTIL]: New type.
7276 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
7277 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
7278 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
7279 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
7280 * include/grub/pciutils.h: New file.
7281 * util/pci.c: Likewise.
7282
7283 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
7284
7285 * util/misc.c: Don't include <errno.h> twice.
7286
7287 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
7288
7289 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
7290 name in an error message.
7291 (grub_biosdisk_rw): Likewise.
7292
7293 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 Eliminate NTFS 4Gib barrier.
7296
7297 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
7298 (read_run_data): Likewise.
7299 (grub_ntfs_read_run_list): Likewise.
7300 (grub_ntfs_read_block): Likewise.
7301 (grub_ntfs_iterate_dir): Likewise.
7302 (read_mft): Likewise.
7303 (read_data): Likewise.
7304 Use COM_LOG_LEN.
7305 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
7306 to avoid 64-bit division
7307 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
7308 (grub_ntfs_rlst): Use grub_disk_addr_t.
7309
7310 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 Eliminate grub-fstest 4Gib barrier.
7313
7314 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
7315 (read_file): Fix error reporting.
7316
7317 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Eliminate hexdump 4Gib barrier.
7320
7321 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
7322 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
7323
7324 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
7327 Fixes amarsh bug.
7328
7329 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7330
7331 Remove miscellaneous files in distclean target.
7332
7333 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
7334
7335 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
7338 if they're already set. This resolves the conflict between my
7339 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
7340 fixing the --grub-probe option again.
7341 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
7342 change on 2009-10-06, so that we now once again source
7343 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7344
7345 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
7346
7347 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
7348 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
7349 `util/devicemap.c'.
7350
7351 2009-12-08 Carles Pina i Estany <carles@pina.cat>
7352
7353 * include/grub/misc.h (grub_printf_): New declaration.
7354 * kern/misc.c (grub_printf_): New definition.
7355 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
7356 instead of `grub_printf' and `_'.
7357 * normal/menu_entry.c (store_completion): Likewise.
7358 (run): Likewise.
7359 (grub_menu_entry_run): Likewise.
7360 * normal/menu_text.c (grub_wait_after_message): Likewise.
7361 (notify_booting): Likewise.
7362 (notify_fallback): Likewise.
7363 (notify_execution_failure): Likewise.
7364
7365 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
7366
7367 * configure.ac: Check for vasprintf.
7368 * util/misc.c (asprintf): Move allocation from here ...
7369 (vasprintf): ... to here. New function.
7370 (xasprintf): New function.
7371 * include/grub/util/misc.h (vasprintf, xasprintf): Add
7372 prototypes.
7373 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7374 * util/grub-mkfont.c (write_font): Likewise.
7375 * util/grub-probe.c (probe): Likewise.
7376 * util/hostdisk.c (make_device_name): Likewise.
7377
7378 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
7379
7380 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
7381 anything even prefixed with 'cdrom' as a cdrom.
7382
7383 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
7384
7385 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
7386 mount points.
7387
7388 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7389
7390 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
7391 grub_gettext_msg_list.
7392 (grub_gettext_gettranslation_from_position): Return const char *
7393 and not char *.
7394 (grub_gettext_translate): Add the translated strings into a list,
7395 returns from the list if existing there.
7396 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
7397 (grub_gettext_delete_list): Delete the list.
7398 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
7399 lang environment variable is changed.
7400 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
7401
7402 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 Rename kernel.mod to kernel.img.
7405
7406 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
7407 (kernel_mod_EXPORTS): Rename to ...
7408 (kernel_img_EXPORTS): ... this.
7409 (kernel_mod_SOURCES): Rename to ...
7410 (kernel_img_SOURCES): ... this.
7411 (kernel_mod_HEADERS): Rename to ...
7412 (kernel_img_HEADERS): ... this. All users updated.
7413 (kernel_mod_CFLAGS): Rename to ...
7414 (kernel_img_CFLAGS): ... this.
7415 (kernel_mod_ASFLAGS): Rename to ...
7416 (kernel_img_ASFLAGS): ... this.
7417 (kernel_mod_LDFLAGS): Rename to ...
7418 (kernel_img_LDFLAGS): ... this.
7419 * conf/x86_64-efi.rmk: Likewise.
7420 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
7421 (read_kernel_image): ... this. All users updated.
7422 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
7423
7424 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7425
7426 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
7427 (print_spaces): New function.
7428 (grub_print_ucs4): New function.
7429 (getstringwidth): New function.
7430 (print_message_indented): New function.
7431 (print_message): Gettexttize strings using print_message_indented.
7432 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
7433 width.
7434 (get_entry_number): Gettextize and uses dynamic terminal width.
7435 (notify_booting, notify_fallback, notify_execution_failure):
7436 Gettextize.
7437 * normal/menu_entry.c (store_completion): Cleanup the gettextized
7438 string.
7439 (run): Likewise.
7440 (grub_menu_entry_run): Likewise.
7441 * PO/POTFILES: Add normal/menu_entry.c.
7442
7443 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
7446
7447 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7448
7449 * util/grub-install.in: Install gettext .mo files.
7450 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
7451
7452 2009-12-05 Carles Pina i Estany <carles@pina.cat>
7453
7454 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
7455 grub_dprintf.
7456
7457 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
7458
7459 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
7460 non-firmware-dependant one in realmode.S takes precedence.
7461
7462 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
7463
7464 * commands/halt.c: Replace misc arch-specific headers with
7465 `<grub/misc.h>'.
7466 * commands/reboot.c: Likewise.
7467 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7468 `<grub/misc.h>'.
7469 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
7470 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
7471 (kernel_img_SOURCES): ... to here.
7472
7473 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
7474 * include/grub/i386/pc/init.h: Likewise.
7475 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7476 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7477
7478 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
7479
7480 * include/grub/i386/halt.h: Remove.
7481 * include/grub/i386/reboot.h: Likewise.
7482
7483 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
7484
7485 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
7486
7487 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
7488 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
7489 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
7490 "progname.h"
7491 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7492 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7493 (usage): Add missing comma in printf.
7494
7495 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
7496
7497 Use the same reboot approach on i386 coreboot and qemu as we do on
7498 BIOS.
7499
7500 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
7501 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
7502 * kern/i386/reboot.c: Remove.
7503 * include/grub/i386/reboot.h (grub_reboot): Export function.
7504 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
7505 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
7506 0xf000:0xfff0 instead of 0xffff:0x0000.
7507 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
7508 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
7509
7510 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
7511
7512 Fix $srcdir != $objdir build.
7513
7514 * Makefile.in (po/%.po): Rewrite as ...
7515 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
7516
7517 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
7518
7519 Fix GNU/Hurd grub-install crash.
7520 * util/grub-probe.c (probe): Try to access `path' only when it is not
7521 NULL.
7522
7523 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Correct module naming.
7526
7527 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7528 (GRUB_MOD_INIT(efi_uga)): ... to this
7529 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7530 (GRUB_MOD_FINI(efi_uga)): ... to this
7531 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
7532 (GRUB_MOD_INIT(efi_gop)): ... to this
7533 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
7534 (GRUB_MOD_FINI(efi_gop)): ... to this
7535
7536 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
7537
7538 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
7539 translatable.
7540 (usage): Translate `arg' strings using gettext().
7541 Thanks to Jordi Mallach for the suggestion.
7542
7543 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 GOP support. Based on patch from Bean
7546 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7547
7548 * video/efi_gop.c: New file.
7549 * include/grub/efi/graphics_output.h: Likewise.
7550 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
7551 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7552 variables.
7553 * conf/x86_64-efi.rmk: Likewise.
7554
7555 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 Rename efi_fb to efi_uga.
7558
7559 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7560 'efi_uga.mod'.
7561 (efi_fb_mod_SOURCES): Rename this ...
7562 (efi_uga_mod_SOURCES): ... to this.
7563 (efi_fb_mod_CFLAGS): Rename this ...
7564 (efi_uga_mod_CFLAGS): ... to this.
7565 (efi_fb_mod_LDFLAGS): Rename this ...
7566 (efi_uga_mod_LDFLAGS): ... to this.
7567 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
7568 'efi_uga.mod'.
7569 (efi_fb_mod_SOURCES): Rename this ...
7570 (efi_uga_mod_SOURCES): ... to this.
7571 (efi_fb_mod_CFLAGS): Rename this ...
7572 (efi_uga_mod_CFLAGS): ... to this.
7573 (efi_fb_mod_LDFLAGS): Rename this ...
7574 (efi_uga_mod_LDFLAGS): ... to this.
7575 * video/efi_fb.c: Move this ...
7576 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
7577
7578 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7579
7580 * po/README: New file. Explain our PO file workflow.
7581
7582 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7583
7584 * po/ChangeLog: Remove. Move relevant entries back to ...
7585 * ChangeLog: ... here.
7586 * po/ca.po: Remove (now handled by TLP).
7587 * po/id.po: Likewise.
7588 * po/zh_CN.po: Likewise.
7589 * Makefile.in (LINGUAS): Initialize in a way that supports
7590 empty set.
7591
7592 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
7593
7594 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
7595 reliing on po/LINGUAS.
7596 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
7597 (po/%.po): ... this.
7598
7599 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7600
7601 * util/i386/efi/grub-mkimage.c: Include "progname.h".
7602 (main): Use `program_name' instead of nonexistent `progname'.
7603
7604 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7605
7606 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7607 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
7608
7609 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7610
7611 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
7612 commit.
7613 * conf/i386-efi.rmk: Likewise.
7614 * conf/i386-ieee1275.rmk: Likewise.
7615 * conf/powerpc-ieee1275.rmk: Likewise.
7616 * conf/sparc64-ieee1275.rmk: Likewise.
7617 * conf/x86_64-efi.rmk: Likewise.
7618
7619 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7620
7621 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
7622
7623 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
7624
7625 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
7626
7627 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
7628
7629 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
7630 (grub_mkdevicemap_SOURCES): New variable.
7631 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
7632 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
7633 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
7634 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
7635 (grub_mkdevicemap_SOURCES): Remove.
7636 * conf/i386-efi.rmk: Likewise.
7637 * conf/i386-ieee1275.rmk: Likewise.
7638 * conf/i386-pc.rmk: Likewise.
7639 * conf/powerpc-ieee1275.rmk: Likewise.
7640 * conf/sparc64-ieee1275.rmk: Likewise.
7641 * conf/x86_64-efi.rmk: Likewise.
7642 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
7643 (usage): Fix strings to use `program_name'.
7644 (main): Initialize gettext.
7645 * util/grub-editenv.c: Likewise.
7646 * util/grub-emu.c: Likewise.
7647 * util/grub-fstest.c: Likewise.
7648 * util/grub-mkdevicemap.c: Likewise.
7649 * util/grub-mkfont.c: Likewise.
7650 * util/grub-mkrelpath.c: Likewise.
7651 * util/grub-pe2elf.c: Likewise.
7652 * util/grub-probe.c: Likewise.
7653 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7654 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
7655 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7656
7657 * util/misc.c: Include `"progname.h"'.
7658 (progname): Remove variable.
7659 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
7660
7661 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7662
7663 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
7664 printf and print a newline after the menuentry header line.
7665 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7666
7667 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
7668
7669 autoconf >= 2.60 support $(localedir).
7670
7671 * INSTALL: Note that autoconf 2.60 is required.
7672 * configure.ac (AC_PREREQ): Bump to 2.60.
7673 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
7674 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7675
7676 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
7677
7678 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
7679 aclocal is run.
7680
7681 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7682
7683 * normal/main.c (grub_normal_read_line): Fix off-by-one
7684 buffer overflow.
7685
7686 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
7687
7688 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
7689 "parser.grub" in grub_command_execute() call.
7690
7691 2009-11-24 Carles Pina i Estany <carles@pina.cat>
7692
7693 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
7694 * conf/i386-efi.rmk: Likewise.
7695 * conf/i386-ieee1275.rmk: Likewise.
7696 * conf/i386-pc.rmk: Likewise.
7697 * conf/powerpc-ieee1275.rmk: Likewise.
7698 * conf/sparc64-ieee1275.rmk: Likewise.
7699 * conf/x86_64-efi.rmk: Likewise.
7700 * gettext/gettex.c: Include <grub/i18n.h>.
7701 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
7702 here ...
7703 * include/grub/i18n.h: ... to here
7704 * include/grub/i18n.h: ... to here.
7705 * kern/misc.c: Include <grub/i18n.h>
7706 (grub_gettext_dummy): Move above user.
7707
7708 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7709
7710 * util/Makefile.in (install-local): Convert a `for' into a normal
7711 shell expansion.
7712
7713 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
7714
7715 * autogen.sh: Add automake call.
7716 * config.guess: Remove.
7717 * config.sub: Likewise.
7718 * install-sh: Likewise.
7719
7720 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7721
7722 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
7723
7724 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7725
7726 * util/Makefile.in (install-local): Convert a make `$(foreach)'
7727 function to a normal shell `for'.
7728
7729 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7730
7731 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7732
7733 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7734
7735 * util/grub-mkrelpath.c: New file.
7736 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
7737 (grub_mkrelpath_SOURCES): New variable.
7738 * include/grub/util/misc.h: New function prototype.
7739 * util/misc.c (make_system_path_relative_to_its_root): New function.
7740
7741 * util/grub-mkconfig_lib.in (bindir): New variable.
7742 (grub_mkrelpath): Likewise.
7743 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
7744
7745 * util/probe.c (probe): Make the file path relative to its root.
7746 Change a info message to use the GRUB path. Enable again the
7747 check if we can read the file with GRUB facilities.
7748
7749 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
7750 to its root.
7751
7752 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7753
7754 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
7755 platform.
7756
7757 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7758
7759 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
7760 strncmp().
7761
7762 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
7763
7764 * util/getroot.c (grub_util_is_dmraid): New function.
7765 (grub_util_get_dev_abstraction): Treat dmraid and multipath
7766 devices as normal ones, not as LVM.
7767
7768 2009-11-23 Carles Pina i Estany <carles@pina.cat>
7769
7770 * conf/common.rmk: Add grub-gettext_lib target and updates
7771 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
7772 LDFLAGS.
7773 * gettext/gettext.c: New file. (Reads mo files).
7774 * include/grub/file.h (grub_file_pread): New prototype.
7775 * include/grub/i18n.h (_): New prototype.
7776 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
7777 prototypes.
7778 * kern/misc.c (grub_gettext_dummy): New function.
7779 * normal/menu_text.c: Include <grub/i18n.h>.
7780 * normal/menu_text.c (print_timeout): Gettexttize string.
7781 * normal/menu_text.c (print_message): Gettexttize string.
7782 * po/POTFILES: Add `normal/menu_text.c'.
7783 * po/ca.po: Add new translations.
7784 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
7785 gettext module and defines locale_dir and lang in grub.cfg.
7786 * NEWS: Add gettext support.
7787
7788 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7789
7790 * util/hostdisk.c: Include `<grub/i18n.h>'.
7791 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
7792 (make_device_name): Rewrite using asprintf.
7793 (convert_system_partition_to_system_disk): Replace 0 with NULL.
7794 (find_system_device): If a device is not found, generate one just
7795 by reusing the OS path name.
7796 (read_device_map): Make it permissible for device.map not to exist.
7797
7798 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7799
7800 * script/sh/execute.c: Move from here ...
7801 * script/execute.c: ... to here. Update all users.
7802 * script/sh/function.c: Move from here ...
7803 * script/function.c: ... to here. Update all users.
7804 * script/sh/lexer.c: Move from here ...
7805 * script/lexer.c: ... to here. Update all users.
7806 * script/sh/main.c: Move from here ...
7807 * script/main.c: ... to here. Update all users.
7808 * script/sh/parser.y: Move from here ...
7809 * script/parser.y: ... to here. Update all users.
7810 * script/sh/script.c: Move from here ...
7811 * script/script.c: ... to here. Update all users.
7812
7813 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7814
7815 * configure.ac: Detect all `emu' platforms. Define
7816 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
7817 --enable-grub-emu logic. Disable include/grub/machine
7818 symlink on `emu' platforms.
7819
7820 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
7821 * gensymlist.sh.in: Likewise.
7822
7823 * include/grub/i386/coreboot/machine.h: Remove file.
7824 * include/grub/i386/efi/machine.h: Likewise.
7825 * include/grub/i386/ieee1275/machine.h: Likewise.
7826 * include/grub/i386/pc/machine.h: Likewise.
7827 * include/grub/i386/qemu/machine.h: Likewise.
7828 * include/grub/powerpc/ieee1275/machine.h: Likewise.
7829 * include/grub/sparc64/ieee1275/machine.h: Likewise.
7830 * include/grub/x86_64/efi/machine.h: Likewise.
7831
7832 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
7833 * commands/halt.c: Likewise.
7834 * commands/reboot.c: Likewise.
7835 * include/grub/autoefi.h: Likewise.
7836 * include/grub/i386/at_keyboard.h: Likewise.
7837 * include/grub/i386/kernel.h: Likewise.
7838 * include/grub/i386/loader.h: Likewise.
7839 * include/grub/i386/pc/memory.h: Likewise.
7840 * kern/dl.c: Likewise.
7841 * kern/i386/coreboot/init.c: Likewise.
7842 * loader/i386/bsd.c: Likewise.
7843 * loader/i386/linux.c: Likewise.
7844 * loader/multiboot_loader.c: Likewise.
7845 * term/i386/pc/serial.c: Likewise.
7846 * term/usb_keyboard.c: Likewise.
7847
7848 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
7849 `<grub/machine/machine.h>'
7850 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
7851 * util/misc.c: Remove `<grub/machine/machine.h>' and
7852 `<grub/machine/time.h>'.
7853
7854 * Makefile.in (enable_grub_emu): Remove variable.
7855 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
7856
7857 * conf/any-emu.rmk: New file.
7858 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
7859 (grub_emu_init.c): Move from here ...
7860 * conf/any-emu.rmk: ... to here.
7861
7862 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
7863 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
7864 * conf/any-emu.rmk: ... to here.
7865
7866 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7867
7868 * include/grub/parser.h (grub_parser_register): Document need
7869 of `name' parameter.
7870 * normal/main.c (grub_normal_read_line): Simplify prompt string.
7871 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
7872 "sh" to "grub".
7873
7874 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7875
7876 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
7877 `$(XGETTEXT)'.
7878 * include/grub/i18n.h (N_): New macro.
7879 * util/mkisofs/mkisofs.h: Likewise.
7880 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
7881 around N_().
7882 (usage): Use gettext() to translate help strings when printing them.
7883
7884 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
7885
7886 Based on patch from Bean
7887 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
7888
7889 * video/efi_fb.c: New file.
7890 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
7891 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
7892 variables.
7893 * conf/x86_64-efi.rmk: Likewise.
7894
7895 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
7896
7897 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
7898 * util/i386/pc/grub-setup.c: Likewise.
7899
7900 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7901
7902 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
7903 <hurd/fs.h>
7904 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
7905 file_get_storage_info to implement grub_guess_root_device.
7906
7907 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7908
7909 * Makefile.in (target): Use make's builtin $(shell) function
7910 instead of calling directly $(SHELL) to create the locale directories,
7911 inside the $(foreach) function.
7912
7913 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7914
7915 * util/grub-mkrescue.in: Print an error and usage if output option
7916 has not been given.
7917
7918 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
7919
7920 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7921 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7922 root and /boot are on different devices.
7923
7924 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7925
7926 Fix build for srcdir != objdir.
7927
7928 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7929 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7930 $(srcdir).
7931 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7932 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7933 reference for input.
7934
7935 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7936
7937 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7938 or hardlinking it). Remove -J option, Joliet is not compatible with
7939 multiple source directories.
7940
7941 2009-11-21 Carles Pina i Estany <carles@pina.cat>
7942 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7943
7944 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7945 (process_input_dir): New function. Process an arbitrary input
7946 directory.
7947 Misc adjustments to support both "override mode" and system-wide mode.
7948
7949 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7950
7951 * configure.ac (UNIFONT_BDF): Rename to ...
7952 (FONT_SOURCE): ... this. Update all users.
7953
7954 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
7955
7956 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7957 to the list of unifont files to look for.
7958
7959 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7960
7961 Patch from Joe Auricchio <jauricchio@gmail.com>
7962 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7963 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7964 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7965
7966 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7967
7968 * Makefile.in (install-local): Add a missing backslash.
7969
7970 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
7971
7972 * include/grub/x86_64/io.h: New file.
7973
7974 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7975
7976 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7977 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7978 Include `"progname.h"'.
7979 (main): Initialize gettext.
7980 * util/i386/pc/grub-setup.c: Gettexttize.
7981 * util/i386/pc/grub-mkimage.c: Likewise.
7982
7983 * Makefile.in (po/*.po): Redefine as ...
7984 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7985
7986 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7987
7988 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7989
7990 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7991 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7992 (program_name): Remove.
7993 (main): Initialize gettext support.
7994 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7995 Include `<libintl.h>'.
7996 (_): New macro.
7997
7998 * util/mkisofs/eltorito.c: Gettexttize.
7999 * util/mkisofs/joliet.c: Likewise.
8000 * util/mkisofs/mkisofs.c: Likewise.
8001 * util/mkisofs/multi.c: Likewise.
8002 * util/mkisofs/rock.c: Likewise.
8003 * util/mkisofs/tree.c: Likewise.
8004 * util/mkisofs/write.c: Likewise.
8005
8006 * po/POTFILES: Update with new files.
8007
8008 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8009
8010 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8011 * util/mkisofs/iso9660.h: Likewise.
8012 * util/mkisofs/joliet.c: Likewise.
8013 * util/mkisofs/mkisofs.c: Likewise.
8014 * util/mkisofs/mkisofs.h: Likewise.
8015 * util/mkisofs/rock.c: Likewise.
8016 * util/mkisofs/tree.c: Likewise.
8017 * util/mkisofs/write.c: Likewise.
8018
8019 * util/mkisofs/eltorito.c (rcsid): Remove.
8020 * util/mkisofs/hash.c: Likewise.
8021 * util/mkisofs/joliet.c: Likewise.
8022 * util/mkisofs/name.c: Likewise.
8023 * util/mkisofs/rock.c: Likewise.
8024 * util/mkisofs/tree.c: Likewise.
8025 * util/mkisofs/write.c: Likewise.
8026
8027 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8028
8029 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8030 instead of static allocation.
8031 * util/mkisofs/match.h: Likewise.
8032
8033 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8034
8035 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8036 and `util/grub.d/10_linux.in'.
8037 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8038 translatable Shell files.
8039
8040 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8041
8042 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8043
8044 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8045
8046 * INSTALL: Document Automake is needed for bootstrap.
8047 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8048 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8049 Add gettext initialization.
8050 (kfreebsd_entry): Make menuentry output translatable.
8051
8052 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8053
8054 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8055 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8056 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8057 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8058 (LINGUAS): Auto-generate using `po/LINGUAS'.
8059 * po/LINGUAS: New file.
8060
8061 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8062
8063 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8064 other things).
8065 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8066 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8067 bindtextdomain() calls for gettext initialization.
8068
8069 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8070
8071 * gnulib/progname.c: New file (imported from Gnulib).
8072 * gnulib/progname.h: Likewise.
8073 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8074 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8075 (usage): Replace `progname' with `program_name'.
8076 (main): Use set_program_name() for program name initialization.
8077
8078 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8079
8080 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8081 from here ...
8082 * Makefile.in (CPPFLAGS): ... to here.
8083
8084 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8085
8086 * aclocal.m4: Move from here ...
8087 * acinclude.m4: ... to here.
8088 * autogen.sh: Add call to `aclocal'.
8089 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8090
8091 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8092
8093 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8094 (LINGUAS): New variable.
8095 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8096 (install-local): Install MO files.
8097 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8098 * include/grub/i18n.h: New file.
8099 * po/POTFILES: New file.
8100 * po/ca.po: New file.
8101 * util/grub.d/10_linux.in (bindir): New variable.
8102 Add gettext initialization.
8103 (linux_entry): Make menuentry output translatable.
8104 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
8105 (usage): Make --help output translatable.
8106 (main): Initialize gettext.
8107
8108 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8109
8110 * import_gcry.py: New file (written by Vladimir with minor
8111 adjustments).
8112 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
8113 ciphers.
8114 * INSTALL: Document that Python is required for bootstrap.
8115
8116 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8117
8118 Import ciphers from libgcrypt 1.4.4.
8119
8120 * lib/libgcrypt/cipher/ChangeLog
8121 * lib/libgcrypt/cipher/ac.c
8122 * lib/libgcrypt/cipher/arcfour.c
8123 * lib/libgcrypt/cipher/bithelp.h
8124 * lib/libgcrypt/cipher/blowfish.c
8125 * lib/libgcrypt/cipher/camellia-glue.c
8126 * lib/libgcrypt/cipher/camellia.c
8127 * lib/libgcrypt/cipher/camellia.h
8128 * lib/libgcrypt/cipher/cast5.c
8129 * lib/libgcrypt/cipher/cipher.c
8130 * lib/libgcrypt/cipher/crc.c
8131 * lib/libgcrypt/cipher/des.c
8132 * lib/libgcrypt/cipher/dsa.c
8133 * lib/libgcrypt/cipher/ecc.c
8134 * lib/libgcrypt/cipher/elgamal.c
8135 * lib/libgcrypt/cipher/hash-common.c
8136 * lib/libgcrypt/cipher/hash-common.h
8137 * lib/libgcrypt/cipher/hmac-tests.c
8138 * lib/libgcrypt/cipher/md.c
8139 * lib/libgcrypt/cipher/md4.c
8140 * lib/libgcrypt/cipher/md5.c
8141 * lib/libgcrypt/cipher/primegen.c
8142 * lib/libgcrypt/cipher/pubkey.c
8143 * lib/libgcrypt/cipher/rfc2268.c
8144 * lib/libgcrypt/cipher/rijndael-tables.h
8145 * lib/libgcrypt/cipher/rijndael.c
8146 * lib/libgcrypt/cipher/rmd.h
8147 * lib/libgcrypt/cipher/rmd160.c
8148 * lib/libgcrypt/cipher/rsa.c
8149 * lib/libgcrypt/cipher/seed.c
8150 * lib/libgcrypt/cipher/serpent.c
8151 * lib/libgcrypt/cipher/sha1.c
8152 * lib/libgcrypt/cipher/sha256.c
8153 * lib/libgcrypt/cipher/sha512.c
8154 * lib/libgcrypt/cipher/tiger.c
8155 * lib/libgcrypt/cipher/twofish.c
8156 * lib/libgcrypt/cipher/whirlpool.c
8157
8158 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8159
8160 Fix build for systems without error().
8161
8162 * gnulib/error.c: New file (imported from Gnulib).
8163 * gnulib/error.h: Likewise.
8164 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
8165 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
8166 (this variable is now used by error()).
8167
8168 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8169
8170 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
8171 instead of relying that char is signed.
8172
8173 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
8176 blocksize different from specified.
8177 (grub_pxefs_read): Likewise.
8178
8179 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
8180
8181 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
8182
8183 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
8184 (grub_ata_readwrite): Likewise. Update 2 format strings.
8185 (grub_atapi_read): Likewise.
8186
8187 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
8188 * conf/i386.rmk (pkglib_MODULES): ... to here ...
8189 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
8190 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
8191 (ata_mod_LDFLAGS): Move from here ...
8192 * conf/i386.rmk: ... to here ...
8193 * conf/x86_64-efi.rmk: ... and here.
8194 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
8195 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
8196
8197 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8198
8199 Relicense multiboot.h, with RMS' blessing.
8200
8201 * include/multiboot.h: Change to X11 license.
8202
8203 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
8204
8205 Support --version in grub-mkisofs.
8206
8207 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
8208 (OPTION_VERSION): New macro.
8209 (ld_options): Recognize --version.
8210 (usage): Move `program_name' from here ...
8211 (program_name): ... to here. Add `static' qualifier.
8212 (main): Recognize `OPTION_VERSION'.
8213
8214 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
8215
8216 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
8217 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
8218
8219 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8220
8221 Fix help2man generation for mkisofs.
8222
8223 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
8224 (usage): Send output to stdout (rather than stderr).
8225
8226 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
8227
8228 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
8229 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8230 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
8231 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
8232 (bin_SCRIPTS): Add `grub-mkfloppy'.
8233 (grub_mkfloppy_SOURCES): New variable.
8234
8235 * util/grub-mkrescue.in: New file.
8236 * util/i386/pc/grub-mkfloppy.in: New file.
8237
8238 * util/i386/coreboot/grub-mkrescue.in: Remove.
8239 * util/i386/pc/grub-mkrescue.in: Remove.
8240
8241 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8242
8243 * include/grub/multiboot.h (struct grub_multiboot_header): Move
8244 from here ...
8245 * include/multiboot.h (struct multiboot_header): ... to here. Update
8246 all users.
8247 * include/grub/multiboot.h (struct grub_multiboot_info): Move
8248 from here ...
8249 * include/multiboot.h (struct multiboot_info): ... to here. Update
8250 all users.
8251 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
8252 from here ...
8253 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
8254 Update all users.
8255 * include/grub/multiboot.h (struct grub_mod_list): Move
8256 from here ...
8257 * include/multiboot.h (struct multiboot_mod_list): ... to here.
8258 Update all users.
8259
8260 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8261
8262 * include/multiboot2.h (multiboot_word): Rename from this ...
8263 (multiboot2_word): ... to this. Update all users.
8264 (multiboot_header): Rename from this ...
8265 (multiboot2_header): ... to this. Update all users.
8266 (multiboot_tag_header): Rename from this ...
8267 (multiboot2_tag_header): ... to this. Update all users.
8268 (multiboot_tag_start): Rename from this ...
8269 (multiboot2_tag_start): ... to this. Update all users.
8270 (multiboot_tag_name): Rename from this ...
8271 (multiboot2_tag_name): ... to this. Update all users.
8272 (multiboot_tag_module): Rename from this ...
8273 (multiboot2_tag_module): ... to this. Update all users.
8274 (multiboot_tag_memory): Rename from this ...
8275 (multiboot2_tag_memory): ... to this. Update all users.
8276 (multiboot_tag_unused): Rename from this ...
8277 (multiboot2_tag_unused): ... to this. Update all users.
8278 (multiboot_tag_end): Rename from this ...
8279 (multiboot2_tag_end): ... to this. Update all users.
8280
8281 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
8282
8283 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
8284 this platform we should support Multiboot1 first.
8285
8286 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8287 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
8288 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
8289
8290 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8291
8292 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
8293 of write calls (converting them to fwrite() if they aren't already).
8294 (get_torito_desc): Likewise.
8295 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
8296
8297 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
8298
8299 * util/i386/pc/grub-install.in: Move from here ...
8300 * util/grub-install.in: ... to here. Update all users.
8301
8302 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
8303
8304 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
8305
8306 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8307
8308 Support for El Torito without floppy emulation.
8309
8310 * util/mkisofs/eltorito.c: Include `<errno.h>'.
8311 (init_boot_catalog): Improve error handling.
8312 (get_torito_desc): Don't use floppy emulation unless requested by
8313 user. Patch boot information table when requested via
8314 `-boot-info-table'.
8315 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
8316 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
8317 (use_boot_info_table): New variables.
8318 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
8319 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
8320 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
8321 `--eltorito-emul-floppy'.
8322 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
8323 and `OPTION_ELTORITO_EMUL_FLOPPY'.
8324 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
8325 (use_boot_info_table, get_731): New prototypes.
8326 * util/mkisofs/write.c (get_731): New function.
8327
8328 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
8329
8330 Fix the generation of the man page.
8331
8332 * util/pc/i386/grub-install.in: Source
8333 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8334
8335 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
8336
8337 Large file support for grub-mkisofs.
8338
8339 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
8340 * util/mkisofs/mkisofs.c (next_extent, last_extent)
8341 (session_start): Upgrade type to `uint64_t'. Update all users.
8342 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
8343 (struct directory_entry): Upgrade type of `starting_block' and
8344 `size' to `uint64_t'. Update all users.
8345 (struct deferred): Remove unused structure.
8346 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
8347 Update all users.
8348 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
8349 file is larger than `UINT32_MAX'.
8350 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
8351 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
8352 return value.
8353 (struct deferred_write): Upgrade type of `extent' and `size' to
8354 `uint64_t'. Update all users.
8355 (last_extent_written): Upgrade type to `uint64_t'. Update all
8356 users.
8357 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
8358 Update all users. Upgrade type of `remain' to `int64_t' and
8359 `use' to `size_t'. Use error() to handle fread() errors.
8360 (write_files): Rely on write_one_file() rather than calling
8361 xfwrite() directly.
8362
8363 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
8364
8365 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
8366
8367 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8368
8369 * util/mkisofs/fnmatch.c: Remove.
8370 * util/mkisofs/getopt1.c: Likewise.
8371 * util/mkisofs/getopt.c: Likewise.
8372 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
8373 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
8374 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
8375 `gnulib/getopt1.c' and `gnulib/getopt.c'.
8376 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
8377
8378 * configure.ac: Detect `mingw32msvc' host_os.
8379 Check for lstat(), getuid() and getgid().
8380
8381 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
8382 instances of `u_char' with `uint8_t'.
8383
8384 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
8385 [!HAVE_GETUID] (getuid): New function (stub).
8386 [!HAVE_GETGID] (getgid): Likewise.
8387 [!HAVE_LSTAT] (lstat): Likewise.
8388 [!S_IROTH] (S_IROTH): New macro (dummy).
8389 [!S_IRGRP] (S_IRGRP): Likewise.
8390
8391 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8392
8393 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
8394 conditional expression).
8395
8396 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8397
8398 Import from Gnulib.
8399
8400 * gnulib/fnmatch.c: New file.
8401 * gnulib/fnmatch.h: Likewise.
8402 * gnulib/fnmatch_loop.c: Likewise.
8403 * gnulib/getopt.c: Likewise.
8404 * gnulib/getopt.h: Likewise.
8405 * gnulib/getopt1.c: Likewise.
8406 * gnulib/getopt_int.h: Likewise.
8407 * gnulib/gettext.h: Likewise.
8408
8409 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8410
8411 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
8412 * normal/handler.c (read_handler_list): Likewise.
8413
8414 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8415
8416 Misc cleanup.
8417
8418 * kern/command.c (grub_register_command_prio): Use
8419 grub_zalloc() instead of explicitly zeroing data.
8420 * kern/list.c: Include `<grub/mm.h>'.
8421 (grub_named_list_find): Replace `0' with `NULL'.
8422 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
8423 (fs_module_list): Change type to `grub_named_list_t'. Update all
8424 users.
8425 * normal/dyncmd.c (read_command_list): Add space between function
8426 call and parenthesis.
8427 * normal/handler.c (read_handler_list): Likewise.
8428
8429 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8430
8431 * normal/auth.c (punishment_delay): Moved from here ...
8432 (grub_auth_strcmp): ... to here (inside function).
8433
8434 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8435
8436 * include/grub/list.h (struct grub_named_list): Remove `const'
8437 qualifier from `name'.
8438 (struct grub_prio_list): Likewise.
8439
8440 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8441
8442 * normal/auth.c: Include `<grub/time.h>'.
8443 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
8444
8445 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8446
8447 * normal/auth.c (punishment_delay): New variable.
8448 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
8449 (grub_auth_check_authentication): Punish failed login attempts with
8450 an incremental (2^N) delay.
8451
8452 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8453
8454 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
8455 path with $(srcdir).
8456
8457 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
8460
8461 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
8462
8463 * util/i386/coreboot/grub-mkrescue.in: New file.
8464 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
8465 variables.
8466
8467 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
8468 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
8469 * configure.ac: Add header and function checks to satisfy grub-mkisofs
8470 requirements.
8471 * util/mkisofs/defaults.h: New file.
8472 * util/mkisofs/eltorito.c: Likewise.
8473 * util/mkisofs/exclude.h: Likewise.
8474 * util/mkisofs/fnmatch.c: Likewise.
8475 * util/mkisofs/getopt.c: Likewise.
8476 * util/mkisofs/getopt1.c: Likewise.
8477 * util/mkisofs/hash.c: Likewise.
8478 * util/mkisofs/include/fctldefs.h: Likewise.
8479 * util/mkisofs/include/mconfig.h: Likewise.
8480 * util/mkisofs/include/prototyp.h: Likewise.
8481 * util/mkisofs/include/statdefs.h: Likewise.
8482 * util/mkisofs/iso9660.h: Likewise.
8483 * util/mkisofs/joliet.c: Likewise.
8484 * util/mkisofs/match.c: Likewise.
8485 * util/mkisofs/match.h: Likewise.
8486 * util/mkisofs/mkisofs.c: Likewise.
8487 * util/mkisofs/mkisofs.h: Likewise.
8488 * util/mkisofs/multi.c: Likewise.
8489 * util/mkisofs/name.c: Likewise.
8490 * util/mkisofs/rock.c: Likewise.
8491 * util/mkisofs/tree.c: Likewise.
8492 * util/mkisofs/write.c: Likewise.
8493
8494 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
8497 being insecure.
8498
8499 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8500
8501 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
8502 `grub-mkimage' (and use $0 when possible).
8503
8504 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8505
8506 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
8507 error message for excessively large memory map.
8508
8509 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8510
8511 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
8512 executable bit.
8513
8514 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
8515
8516 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
8517 message for coreboot users.
8518
8519 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
8520
8521 Fix build with GNU gold.
8522
8523 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
8524 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
8525 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
8526 link addresses.
8527 * aclocal.m4: Likewise.
8528
8529 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
8530
8531 * configure.ac (AC_PREREQ): Bump to 2.59d.
8532 * INSTALL: Make it more clear when Autoconf and Ruby are
8533 needed and when to run `./autogen.sh'.
8534
8535 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8536
8537 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
8538 OSes.
8539
8540 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8541
8542 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
8543
8544 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8545
8546 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8547 giving it to GNU Mach.
8548
8549 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8550
8551 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
8552 GNU partition number to get internal GRUB partition number.
8553
8554 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
8555
8556 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
8557 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
8558
8559 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
8560
8561 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
8562 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
8563 case.
8564
8565 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
8566
8567 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
8568
8569 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8570
8571 Fix build problem.
8572
8573 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
8574 `-isystem=$(srcdir)/include'.
8575
8576 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
8577
8578 * util/i386/pc/grub-install.in: Remove hint that device.map should be
8579 checked (grub-install doesn't currently rely on it).
8580
8581 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
8582
8583 Revert SVN r2660.
8584
8585 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
8586 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8587 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
8588 * conf/i386-ieee1275.rmk: Likewise.
8589 * conf/i386-pc.rmk: Likewise.
8590 * conf/powerpc-ieee1275.rmk: Likewise.
8591 * conf/sparc64-ieee1275.rmk: Likewise.
8592 * conf/x86_64-efi.rmk: Likewise.
8593
8594 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8595
8596 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
8597
8598 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8599
8600 * include/grub/misc.h: Stop checking for APPLE_CC.
8601
8602 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
8603
8604 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
8605 doesn't cause an infinite call loop.
8606
8607 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
8608
8609 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
8610 strings.
8611
8612 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8613
8614 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
8615 variable.
8616 * Makefile.in: Likewise.
8617
8618 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8619
8620 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
8621
8622 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8623
8624 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
8625
8626 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8627
8628 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
8629
8630 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8631
8632 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
8633 from here ...
8634 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
8635
8636 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8637
8638 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
8639 in $(MAKEINFO) invocation. This makes it clear in output that
8640 errors are being ignored.
8641
8642 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8643
8644 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
8645 from here ...
8646 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
8647 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
8648 * conf/i386-ieee1275.rmk: Likewise.
8649 * conf/i386-pc.rmk: Likewise.
8650 * conf/powerpc-ieee1275.rmk: Likewise.
8651 * conf/sparc64-ieee1275.rmk: Likewise.
8652 * conf/x86_64-efi.rmk: Likewise.
8653
8654 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8655
8656 * util/grub-editenv.c (main): If only a command is given, use
8657 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
8658 (usage): FILENAME is now optional and has a default.
8659
8660 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
8661
8662 Improve grub-mkconfig performance when there are several menu
8663 entries on a single filesystem.
8664
8665 * util/grub.d/10_linux.in (linux_entry): Cache the output of
8666 prepare_grub_to_access_device.
8667 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8668 * util/grub.d/30_os-prober.in: Likewise.
8669
8670 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8671
8672 * util/grub.d/10_freebsd.in: Remove.
8673 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
8674 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
8675
8676 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
8677
8678 * docs/grub.cfg: Fix example usage of *BSD loaders.
8679
8680 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8681
8682 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
8683 grub_util_error() call.
8684
8685 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8686
8687 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
8688 `reserved_first_sector' member.
8689 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
8690 `reserved_first_sector' to 1.
8691 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
8692 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
8693 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
8694 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
8695 filesystems which begin at first sector.
8696 (options): New option --skip-fs-probe.
8697 (main): Handle --skip-fs-probe and pass it to setup().
8698
8699 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8700
8701 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
8702 (memset): Fix function prototype.
8703
8704 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8705 2009-10-25 Vasily Averin <vvs@parallels.com>
8706
8707 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
8708 `dirent.direntlen == 0'.
8709
8710 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8711
8712 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
8713 `cpio'.
8714 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
8715
8716 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8717
8718 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
8719 `__trampoline_setup' and `__ucmpdi2'.
8720 * include/grub/powerpc/libgcc.h: Only export symbols for functions
8721 that libgcc provides.
8722
8723 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8724
8725 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
8726 * include/grub/sparc64/libgcc.h (memset): Likewise.
8727 * include/grub/misc.h (memset, memcmp): New function prototypes.
8728
8729 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8730
8731 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
8732 `cpio'.
8733 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
8734
8735 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
8736
8737 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
8738 * docs/grub.cfg: Compensate for recent change in multiboot
8739 loader (since 2009-08-14 it won't pass filename to payload).
8740 * util/grub.d/10_hurd.in: Likewise.
8741
8742 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
8743
8744 * config.guess: Update to latest version from config git
8745 repository.
8746 * config.sub: Likewise.
8747
8748 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
8749
8750 Fix build on sparc64.
8751
8752 * configure.ac: Perform checks for libgcc symbols before
8753 adding `-nostdlib' to LDFLAGS.
8754
8755 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Let user specify OpenBSD root device.
8758
8759 * loader/i386/bsd.c (openbsd_root): New variable.
8760 (openbsd_opts): New option 'root'.
8761 (OPENBSD_ROOT_ARG): New macro.
8762 (grub_openbsd_boot): Use 'openbsd_root'.
8763 (grub_cmd_openbsd): Fill 'openbsd_root'.
8764
8765 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8766
8767 * NEWS: Misc adjustments.
8768
8769 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
8772
8773 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
8774
8775 * configure.ac: Bump version to 1.97.
8776
8777 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
8778
8779 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
8780 -mno-3dnow on x86 architectures. Some toolchains enable these
8781 features by default, but they rely on registers that aren't enabled
8782 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
8783
8784 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
8785
8786 Make entry text a bit more readable.
8787
8788 * util/grub.d/10_linux.in: Add `with' before `Linux'.
8789
8790 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
8793
8794 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
8797 operations.
8798
8799 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * configure.ac: Add missing dollar.
8802
8803 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
8806
8807 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
8808 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
8809 exports.
8810 * include/grub/sparc64/libgcc.h: Likewise. Use
8811 preprocessor conditionals.
8812
8813 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8814
8815 * conf/common.rmk (grub-dumpbios): Remove rule.
8816 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
8817 * util/grub-dumpbios.in: Remove file.
8818
8819 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
8820
8821 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
8822 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
8823
8824 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
8825 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
8826 users.
8827
8828 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
8829 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
8830 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
8831 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
8832 users.
8833
8834 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
8835
8836 * term/tparm.c: Switch to GPLv3.
8837
8838 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8839
8840 * include/grub/i386/cpuid.h: Add header protection.
8841
8842 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
8843
8844 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
8845
8846 * include/grub/i386/cpuid.h: New file.
8847 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
8848 (has_longmode): Rename to ...
8849 (grub_cpuid_has_longmode): ... this. Update all users. Remove
8850 `static' attribute.
8851 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
8852 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
8853 on a CPU that doesn't implement AMD64 instruction set.
8854
8855 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8856
8857 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
8858 that version.texi is rebuilt on version number changes.
8859
8860 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8861
8862 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
8863 Fixes bug #27602.
8864
8865 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
8866
8867 * util/i386/pc/grub-install.in: Source
8868 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
8869 that the --grub-probe option will work.
8870 * util/sparc64/ieee1275/grub-install.in: Likewise.
8871
8872 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
8873
8874 * configure.ac: Bump version to 1.97~beta4.
8875
8876 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
8877
8878 Resync grub-mkdevicemap in x86_64-efi.
8879
8880 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
8881 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
8882 `util/devicemap.c'.
8883
8884 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
8885
8886 * util/grub-editenv.c (create_envblk_file): Write new block with a
8887 .new suffix and then rename it into place, to ensure atomic
8888 creation.
8889
8890 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
8891
8892 Do not automatically install headers.
8893
8894 * Makefile.in (include_DATA): Remove. Update all users.
8895
8896 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
8897
8898 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
8899 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
8900
8901 * util/osdetect.lua: Remove.
8902 * script/lua/lauxlib.c: Likewise.
8903 * script/lua/ldebug.c: Likewise.
8904 * script/lua/grub_main.c: Likewise.
8905 * script/lua/lauxlib.h: Likewise.
8906 * script/lua/ldebug.h: Likewise.
8907 * script/lua/ltablib.c: Likewise.
8908 * script/lua/liolib.c: Likewise.
8909 * script/lua/lstrlib.c: Likewise.
8910 * script/lua/lualib.h: Likewise.
8911 * script/lua/ldo.c: Likewise.
8912 * script/lua/ldump.c: Likewise.
8913 * script/lua/ldo.h: Likewise.
8914 * script/lua/loslib.c: Likewise.
8915 * script/lua/lundump.c: Likewise.
8916 * script/lua/grub_lib.c: Likewise.
8917 * script/lua/ldblib.c: Likewise.
8918 * script/lua/lundump.h: Likewise.
8919 * script/lua/lmem.c: Likewise.
8920 * script/lua/grub_lib.h: Likewise.
8921 * script/lua/lmathlib.c: Likewise.
8922 * script/lua/lstate.c: Likewise.
8923 * script/lua/ltm.c: Likewise.
8924 * script/lua/lvm.c: Likewise.
8925 * script/lua/lmem.h: Likewise.
8926 * script/lua/lstate.h: Likewise.
8927 * script/lua/ltm.h: Likewise.
8928 * script/lua/ltable.c: Likewise.
8929 * script/lua/lvm.h: Likewise.
8930 * script/lua/llex.c: Likewise.
8931 * script/lua/lgc.c: Likewise.
8932 * script/lua/grub_lua.h: Likewise.
8933 * script/lua/loadlib.c: Likewise.
8934 * script/lua/lfunc.c: Likewise.
8935 * script/lua/lopcodes.c: Likewise.
8936 * script/lua/lparser.c: Likewise.
8937 * script/lua/ltable.h: Likewise.
8938 * script/lua/llex.h: Likewise.
8939 * script/lua/lgc.h: Likewise.
8940 * script/lua/lfunc.h: Likewise.
8941 * script/lua/lbaselib.c: Likewise.
8942 * script/lua/lopcodes.h: Likewise.
8943 * script/lua/lparser.h: Likewise.
8944 * script/lua/lzio.c: Likewise.
8945 * script/lua/linit.c: Likewise.
8946 * script/lua/lobject.c: Likewise.
8947 * script/lua/llimits.h: Likewise.
8948 * script/lua/lstring.c: Likewise.
8949 * script/lua/lzio.h: Likewise.
8950 * script/lua/lapi.c: Likewise.
8951 * script/lua/lcode.c: Likewise.
8952 * script/lua/lua.h: Likewise.
8953 * script/lua/lobject.h: Likewise.
8954 * script/lua/lstring.h: Likewise.
8955 * script/lua/lapi.h: Likewise.
8956 * script/lua/lcode.h: Likewise.
8957 * script/lua/luaconf.h: Likewise.
8958
8959 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
8960
8961 * docs/grub.texi (Command-line and menu entry commands): Document
8962 date and echo commands.
8963
8964 2009-09-24 Pavel Roskin <proski@gnu.org>
8965
8966 * include/grub/kernel.h (struct grub_module_header): Remove
8967 `grub_module_header_types'. Make `type' unsigned. Make `size'
8968 32-bit on all platforms.
8969 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8970 8-bit field. Use grub_host_to_target32() for `size'.
8971 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8972 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8973 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8974
8975 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8976
8977 Fix "lost keypress" bug in at_keyboard.
8978
8979 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8980 Checks for readyness of input buffer (without flushing it).
8981 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8982 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8983
8984 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8985
8986 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8987 size check within GRUB_MACHINE_PCBIOS section.
8988
8989 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8990
8991 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8992 return value.
8993 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8994 KEYBOARD_ISREADY check.
8995 (grub_at_keyboard_checkkey): Rename to ...
8996 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8997 Remove gratuitous cast.
8998
8999 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9000
9001 * configure.ac: Call AC_PROG_MKDIR_P.
9002 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9003 version.texi in $(builddir) rather than $(srcdir).
9004 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9005 to makeinfo's @include search path.
9006
9007 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9008
9009 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9010
9011 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9012
9013 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9014 for `*.dpkg-new'.
9015
9016 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9017
9018 Build info documentation. Some code borrowed from Automake.
9019
9020 * configure.ac: Check for makeinfo.
9021 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9022 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9023 docs/version.texi.
9024 (MOSTLYCLEANFILES): Add vti.tmp.
9025 (docs/version.texi, docs/stamp-vti): Update automatically.
9026 (docs/grub.info): Build info documentation. Use --force and ignore
9027 errors for now.
9028 (all-local): Add $(INFOS).
9029 (install-local): Install info files.
9030 (uninstall): Uninstall info files.
9031 * docs/version.texi: Remove from revision control. This file is
9032 automatically generated on build now.
9033 * gendistlist.sh: Add `*.info'.
9034
9035 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9036
9037 * kern/term.c: Fix indentation.
9038
9039 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9040
9041 * util/hostdisk.c: Fix a comment.
9042
9043 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9044
9045 Fix regression introduced in r2539.
9046
9047 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9048 to 0xA1.
9049
9050 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9051
9052 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9053 os-prober. Under normal operation, it does not print anything to
9054 stderr; if it does, we need to debug it, and throwing away stderr
9055 makes that excessively difficult.
9056
9057 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9060
9061 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9062
9063 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9064 AC_LANG_PROGRAM from autoconf.
9065 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9066 prototypes (fixes warning).
9067
9068 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9069 `--disable-werror' was used.
9070
9071 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9072
9073 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9074 uninitialized `lastaddr'.
9075
9076 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9079
9080 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9081
9082 * commands/test.c (get_fileinfo): Return immediately if
9083 grub_fs_probe fails.
9084
9085 2009-09-14 José Martínez <xosemp@gmail.com>
9086
9087 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9088
9089 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9090
9091 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9092 output.
9093
9094 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9095
9096 * configure.ac: Remove --enable-grub-pe2elf. Only build
9097 grub-pe2elf when needed by the build system itself.
9098 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
9099
9100 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9101
9102 * configure.ac: Bump version to 1.97~beta3.
9103 * docs/version.texi: Likewise.
9104
9105 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9106
9107 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
9108 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
9109 from here ...
9110 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
9111 (grub_linux_setup_video): ... to here (with some adjustments).
9112
9113 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
9114
9115 Fix memory corruption issue (spotted by Colin Watson).
9116
9117 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
9118 causing returned size to be stored in an incorrect memory location.
9119 Fix use of uninitialized value when storing the returned size.
9120
9121 2009-09-12 Yves Blusseau <blusseau@zetam.org>
9122
9123 Change clean rules to properly remove files
9124
9125 * genmk.rb: add new clean rules
9126 * Makefile.in (clean): add the new targets
9127 (mostlyclean): likewise
9128
9129 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9130
9131 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
9132 to grub_uint64_t.
9133 * fs/ntfs.c (init_file): Understand 64-bit sizes for
9134 non-resident files.
9135
9136 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * configure.ac: Don't look for help2man when cross-compiling. Fixes
9139 part of bug #27349.
9140
9141 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9142
9143 * util/grub-mkconfig.in: Make the created config mode 400 and
9144 print a warning if it fails.
9145
9146 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
9147
9148 * util/grub.d/40_custom.in: Ask user to type custom entries below
9149 comment, rather than below 'exec tail' line.
9150
9151 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9152
9153 * util/grub.d/40_custom.in: Make sure that the explanatory text is
9154 visible in grub.cfg.
9155
9156 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
9157
9158 * util/grub.d/40_custom.in: Make it a little clearer how to use this
9159 file.
9160
9161 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
9162
9163 * docs/grub.cfg: Add an example menu entry for memtest86+.
9164
9165 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
9166
9167 * config.guess: Update to latest version from config git.
9168 * config.sub: Likewise.
9169
9170 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
9171
9172 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
9173 unknown-command case. Fixes bug #27320.
9174
9175 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
9176
9177 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
9178 `help' if the command exists.
9179
9180 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
9181
9182 * INSTALL: Require GCC 4.1.3 or later.
9183
9184 2009-09-06 Yves Blusseau <blusseau@zetam.org>
9185
9186 * Makefile.in (RMKFILES): add i386-qemu.rmk
9187 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
9188 $(srcdir)/stamp-h.in
9189
9190 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
9191
9192 * util/grub-probe.c (probe): Comment out buggy codepath, which
9193 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
9194 should be re-enabled after 1.97.
9195
9196 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
9197
9198 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
9199 find searches for.
9200
9201 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
9204 unnecessary calls to grub_error.
9205
9206 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
9207
9208 * NEWS: Mention `keystatus' and Unicode fonts.
9209
9210 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
9211
9212 * configure.ac: Bump version to 1.97~beta2.
9213 * docs/version.texi: Likewise.
9214
9215 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9216
9217 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
9218 containing unwind information in some cases where it previously did
9219 not. Use -fno-dwarf2-cfi-asm if available to restore the old
9220 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
9221 discussion.
9222
9223 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
9224
9225 Embedding loadenv module into grub-emu
9226
9227 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
9228 commands/loadenv.c
9229 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
9230 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
9231 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
9232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
9233 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
9234 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
9235
9236 2009-09-03 Magnus Granberg <zorry@ume.nu>
9237
9238 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
9239 include -fPIE in the default specs.
9240 * configure.ac: Check if pie_possible is yes and add -fno-PIE
9241 to TARGET_CFLAGS.
9242
9243 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
9244
9245 * INSTALL: Note that GNU Bison 2.3 or later is required.
9246
9247 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
9248
9249 * kern/i386/pc/startup.S: Fix typo.
9250
9251 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
9254 according to GCS.
9255
9256 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9257
9258 * docs/grub.texi (Naming convention): Describe one-based partition
9259 numbering.
9260 (Device syntax): Likewise.
9261 (File name syntax): Likewise.
9262 (Block list syntax): Likewise.
9263 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
9264 menu.lst.
9265 (File name syntax): Likewise.
9266 (Command-line and menu entry commands): Document acpi, blocklist,
9267 crc, export, insmod, keystatus, ls, set, and unset commands.
9268
9269 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9270
9271 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
9272 to avoid implying that only one of --shift, --ctrl, or --alt may be
9273 used.
9274
9275 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
9276
9277 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
9278 rather than comparing against S_IFREG, which will almost never work.
9279
9280 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
9283 (write_blocklists): Likewise.
9284
9285 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
9286
9287 * script/lua/grub_lua.h (fputs): Supply a format string as the first
9288 argument to grub_printf.
9289
9290 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
9291
9292 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
9293 non GNU test.
9294
9295 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * kern/file.c (grub_file_read): Spelling fix
9298
9299 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
9302 loading of headers in some cases.
9303
9304 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
9305
9306 * configure.ac: Bump version to 1.97~beta1.
9307 * docs/version.texi: Likewise.
9308
9309 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * include/grub/i386/xnu.h: Add license header.
9312 include grub/err.h explicitly.
9313
9314 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9315
9316 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
9317 to `ufs' in the vfs.root.mountfrom kernel parameter.
9318
9319 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
9320
9321 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
9322
9323 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
9324 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
9325
9326 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
9327 `ARRAY_SIZE' macro.
9328
9329 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * kern/file.c (grub_file_read): Check offset.
9332 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
9333 * fs/jfs.c (grub_jfs_read_file): Likewise.
9334 * fs/ntfs.c (grub_ntfs_read): Likewise.
9335 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
9336 * fs/minix.c (grub_minix_read_file): Correct offset check.
9337 * fs/ufs.c (grub_ufs_read_file): Likewise.
9338
9339 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9340
9341 * term/i386/pc/console.c (bios_data_area): Cast
9342 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
9343
9344 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 1-bit optimised blitters.
9347
9348 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
9349 prototype.
9350 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9351 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9352 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9353 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9354 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9355 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9356 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
9357 function.
9358 (grub_video_fbblit_replace_24bit_1bit): Likewise.
9359 (grub_video_fbblit_replace_16bit_1bit): Likewise.
9360 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9361 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9362 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
9363 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
9364 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
9365 when possible.
9366 * video/video.c (grub_video_get_blit_format): Return
9367 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
9368
9369 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9370
9371 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
9372 the first argument to grub_printf.
9373
9374 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
9375 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
9376
9377 Add `getkeystatus' terminal method. Add a new `keystatus' command
9378 to query it.
9379
9380 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
9381 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
9382 modifier key bitmasks.
9383 (struct grub_term_input): Add `getkeystatus' member.
9384 (grub_getkeystatus): Add prototype.
9385 * kern/term.c (grub_getkeystatus): New function.
9386
9387 * include/grub/i386/pc/memory.h
9388 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
9389 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
9390 Data Area layout.
9391 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
9392 (grub_console_term_input): Set `getkeystatus' member.
9393 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
9394 constants.
9395 (grub_usb_keyboard_getreport): Likewise.
9396 (grub_usb_keyboard_checkkey): Likewise.
9397 (grub_usb_keyboard_getkeystatus): New function.
9398 (grub_usb_keyboard_term): Set `getkeystatus' member.
9399
9400 * commands/keystatus.c: New file.
9401 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
9402 (keystatus_mod_SOURCES): New variable.
9403 (keystatus_mod_CFLAGS): Likewise.
9404 (keystatus_mod_LDFLAGS): Likewise.
9405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
9406 commands/keystatus.c.
9407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9408 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9409 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9411 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9412 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9413
9414 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 Split befs.mod and afs.mod into *_be.mod and *.mod
9417
9418 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
9419 (grub_fstest_SOURCES): Likewise.
9420 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
9421 (afs_be_mod_SOURCES): New variable.
9422 (afs_be_mod_CFLAGS): Likewise.
9423 (afs_be_mod_LDFLAGS): Likewise.
9424 (befs_be_mod_SOURCES): Likewise.
9425 (befs_be_mod_CFLAGS): Likewise.
9426 (befs_be_mod_LDFLAGS): Likewise.
9427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
9428 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9430 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9431 (grub_emu_SOURCES): Likewise.
9432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9433 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9434 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9435 * fs/afs_be.c: New file.
9436 * fs/befs_be.c: New file.
9437 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
9438 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
9439 (U16): Replaced with ...
9440 (grub_afs_to_cpu16): ...this. All users updated.
9441 (U32): Replaced with ...
9442 (grub_afs_to_cpu32): ...this. All users updated.
9443 (U64): Replaced with ...
9444 (grub_afs_to_cpu64): ...this. All users updated.
9445 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
9446 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
9447 (grub_afs_validate_sblock): Check only one endianness.
9448 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9449 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9450 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9451 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9452 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
9453 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
9454 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
9455 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
9456
9457 2009-08-26 Bean <bean123ch@gmail.com>
9458
9459 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
9460 64-bit number.
9461 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9462 (grub_xfs_inode_block): Change return type to grub_uint64_t.
9463 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
9464
9465 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 NetBSD memory map support.
9468
9469 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
9470 (grub_netbsd_btinfo_mmap_header): New structure.
9471 (grub_netbsd_btinfo_mmap_entry): Likewise.
9472 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
9473
9474 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 Enable bsd.mod on coreboot.
9477
9478 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
9479 (bsd_mod_SOURCES): New variable.
9480 (bsd_mod_CFLAGS): Likewise.
9481 (bsd_mod_LDFLAGS): Likewise.
9482 (bsd_mod_ASFLAGS): Likewise.
9483 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
9484 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
9485
9486 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Cleanup NetBSD root support.
9489
9490 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
9491 grub_bsd_get_device.
9492 Fix typo.
9493
9494 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
9495
9496 * util/grub.d/00_header.in: Move check for the video backend of
9497 gfxterm from here ...
9498 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
9499 a suitable video backend.
9500
9501 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 Fix breakage in grub-setup.
9504
9505 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
9506 "msdos_partition_map".
9507
9508 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 Fix breakage in normal/auth.c.
9511
9512 * normal/auth.c (grub_iswordseparator): New function.
9513
9514 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 Authentication support.
9517
9518 * commands/password.c: New file.
9519 * conf/common.rmk (pkglib_MODULES): Add password.mod.
9520 (password_mod_SOURCES): New variable.
9521 (password_mod_CFLAGS): Likewise.
9522 (password_mod_LDFLAGS): Likewise.
9523 (normal_mod_SOURCES): Add normal/auth.c.
9524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
9525 normal/auth.c.
9526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9527 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9528 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9530 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9531 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9532 * include/grub/auth.h: New file.
9533 * include/grub/err.h (grub_err_t): New enum value
9534 GRUB_ERR_ACCESS_DENIED.
9535 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
9536 'users'.
9537 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
9538 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
9539 users updated.
9540 * normal/auth.c: New file.
9541 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
9542 (grub_cmdline_run): Don't allow to go to command line without
9543 authentication.
9544 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
9545 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
9546 menuentry without superuser rights.
9547 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
9548 user isn't a superuser.
9549
9550 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Save space by inlining misc.c functions.
9553
9554 * kern/misc.c (grub_iswordseparator): Made static.
9555 * kern/misc.c (grub_strcat): Moved from here ...
9556 * include/grub/misc.h (grub_strcat): ... here. Inlined.
9557 * kern/misc.c (grub_strncat): Moved from here ...
9558 * include/grub/misc.h (grub_strncat): ... here. Inlined.
9559 * kern/misc.c (grub_strcasecmp): Moved from here ...
9560 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
9561 * kern/misc.c (grub_strncasecmp): Moved from here ...
9562 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
9563 * kern/misc.c (grub_isalpha): Moved from here ...
9564 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
9565 * kern/misc.c (grub_isdigit): Moved from here ...
9566 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
9567 * kern/misc.c (grub_isgraph): Moved from here ...
9568 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
9569 * kern/misc.c (grub_tolower): Moved from here ...
9570 * include/grub/misc.h (grub_tolower): ... here. Inlined.
9571
9572 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * script/sh/function.c (grub_script_function_find): Cut error message
9575 not to flood terminal.
9576 * script/sh/lexer.c (grub_script_yylex): Remove command line length
9577 limit.
9578 * script/sh/script.c (grub_script_arg_add): Duplicate string.
9579
9580 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
9581
9582 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
9583 `report' grub_uint8_t *.
9584 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
9585 Use a 50-millisecond timeout rather than just repeating
9586 grub_usb_keyboard_getreport 50 times.
9587 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
9588
9589 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 Rename *_partition_map to part_*
9592
9593 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
9594 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
9595 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
9596 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
9597 All users updated.
9598 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
9599 All users updated.
9600 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
9601 * util/grub-probe.c (probe_partmap): Don't transform partition name
9602 to get module name.
9603
9604 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 Fix OpenBSD and NetBSD support.
9607
9608 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
9609 memory address conflict.
9610 (OPENBSD_MMAP_ACPI): New definition.
9611 (OPENBSD_MMAP_NVS): Likewise.
9612 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
9613 and OPENBSD_MMAP_NVS.
9614 Add memory map terminator
9615 Explicit cast when calling grub_unix_real_boot.
9616 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
9617
9618 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 Let user specify NetBSD root device.
9621
9622 * loader/i386/bsd.c (netbsd_root): New variable.
9623 (netbsd_opts): New option 'root'.
9624 (NETBSD_ROOT_ARG): New macro.
9625 (grub_netbsd_boot): Use 'netbsd_root'.
9626 (grub_bsd_unload): Free 'netbsd_root'.
9627 (grub_cmd_netbsd): Fill 'netbsd_root'.
9628
9629 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Support for 64-bit NetBSD.
9632
9633 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
9634 point when booting non-FreeBSD.
9635
9636 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Support --no-smp and --no-acpi for NetBSD.
9639
9640 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
9641 (NETBSD_AB_NOACPI): Likewise.
9642 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
9643 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
9644
9645 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
9648 errors.
9649 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
9650 errors. Call grub_error when needed.
9651
9652 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * commands/search.c (search_fs): Try searching without autoload first.
9655 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9656 filesystem module explicitly for faster booting.
9657
9658 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9659
9660 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
9661
9662 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
9663
9664 * util/grub.d/30_os-prober.in: Disable os-prober if
9665 `GRUB_DISABLE_OS_PROBER' was set to true.
9666
9667 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
9668
9669 * partmap/pc.c: Rename to ...
9670 * partmap/msdos.c: ... this. Update all users.
9671 (grub_pc_partition_map): Rename to ...
9672 (grub_msdos_partition_map): ... this. Update all users.
9673
9674 * parttool/pcpart.c: Rename to ...
9675 * parttool/msdospart.c: ... this. Update all users.
9676
9677 * include/grub/pc_partition.h: Rename to ...
9678 * include/grub/msdos_partition.h: ... this. Update all users.
9679 (grub_pc_partition_bsd_entry): Rename to ...
9680 (grub_msdos_partition_bsd_entry): ... this. Update all users.
9681 (grub_pc_partition_disk_label): Rename to ...
9682 (grub_msdos_partition_disk_label): ... this. Update all users.
9683 (grub_pc_partition_entry): Rename to ...
9684 (grub_msdos_partition_entry): ... this. Update all users.
9685 (grub_pc_partition_mbr): Rename to ...
9686 (grub_msdos_partition_mbr): ... this. Update all users.
9687 (grub_pc_partition): Rename to ...
9688 (grub_msdos_partition): ... this. Update all users.
9689 (grub_pc_partition_is_empty): Rename to ...
9690 (grub_msdos_partition_is_empty): ... this. Update all users.
9691 (grub_pc_partition_is_extended): Rename to ...
9692 (grub_msdos_partition_is_extended): ... this. Update all users.
9693 (grub_pc_partition_is_bsd): Rename to ...
9694 (grub_msdos_partition_is_bsd): ... this. Update all users.
9695
9696 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
9697 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
9698 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
9699 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
9700 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
9701 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
9702 (gpt_mod_LDFLAGS): Rename to ...
9703 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
9704 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
9705 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
9706 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
9707 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
9708 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
9709 (part_gpt_mod_LDFLAGS): ... this.
9710 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
9711 `pcpart.mod' to `msdospart.mod'.
9712 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
9713 to ...
9714 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
9715 (msdospart_mod_LDFLAGS): ... this.
9716
9717 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
9720 (openbsd_opts): Likewise.
9721 (netbsd_opts): Likewise.
9722 (freebsd_flags): Added 0 terminator.
9723 (openbsd_flags): Likewise.
9724 (netbsd_flags): Likewise.
9725 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
9726 (grub_cmd_freebsd): Transformed into extended command.
9727 (grub_cmd_openbsd): Likewise.
9728 (grub_cmd_netbsd): Likewise.
9729 (cmd_freebsd): Changed type to grub_extcmd_t.
9730 (cmd_openbsd): Likewise.
9731 (cmd_netbsd): Likewise.
9732 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
9733 grub_cmd_openbsd as extended commands.
9734 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
9735 cmd_netbsd and cmd_openbsd
9736
9737 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
9740
9741 2009-08-21 Pavel Roskin <proski@gnu.org>
9742
9743 * Makefile.in (install-local): When checking if a file is in the
9744 build directory, use "test -e" to detect symlinks.
9745
9746 * Makefile.in (install-local): Remove all files in
9747 $(DESTDIR)$(pkglibdir) before installing new files there.
9748
9749 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9750
9751 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
9752 grub-mkelfimage.
9753
9754 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
9755
9756 * util/grub-mkconfig.in: Don't use gfxterm by default if not
9757 explicitly specified by the user.
9758
9759 2009-08-18 Pavel Roskin <proski@gnu.org>
9760
9761 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
9762 grub_uint8_t pointer for data.
9763 * include/grub/fbutil.h (struct grub_video_fbblit_info):
9764 Likewise.
9765 * video/fb/fbutil.c: Remove unnecessary casts.
9766
9767 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9768
9769 VBE cleanup.
9770
9771 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
9772 (grub_vbe_set_video_mode): Save active mode info
9773 only after setting the mode.
9774 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
9775 second argument.
9776
9777 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9778
9779 Rename variables for clarity.
9780
9781 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
9782 (active_vbe_mode_info): ... this. All users updated.
9783 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
9784 All users updated.
9785 (initial_mode): Rename to ...
9786 (initial_vbe_mode): ... this. All users updated.
9787 (mode_in_use): Rename to ..
9788 (vbe_mode_in_use): ... this. All users updated.
9789 (mode_list): Rename to ..
9790 (vbe_mode_list): ... this. All users updated.
9791 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
9792 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
9793 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
9794 'mode_list_size' to 'vbe_mode_list_size'.
9795 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
9796 'best_mode_info' to 'best_vbe_mode_info' and
9797 'best_mode' to 'best_vbe_mode'
9798
9799 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
9800
9801 Remove duplicate grub_video_fb_get_video_ptr.
9802
9803 * include/grub/fbutil.h (get_data_ptr): Rename to ...
9804 (grub_video_fb_get_video_ptr): ... this.
9805 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
9806 * video/fb/fbutil.c: Add comment about addressing.
9807 (get_data_ptr): Rename to ...
9808 (grub_video_fb_get_video_ptr): ... this. All users updated.
9809 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
9810
9811 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9812
9813 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
9814 grub_dprintf() that was just added.
9815
9816 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
9817
9818 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
9819 (DEFAULT_VIDEO_MODE): Remove macros.
9820 (grub_linux_boot): Remove assumption that Linux has FB support,
9821 and use "text" as default video mode.
9822
9823 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
9826 grub_dprintf.
9827 * fs/fat.c (grub_fat_read_data): Likewise.
9828
9829 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
9832 payload.
9833 (grub_module): Likewise.
9834
9835 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
9838 mbi->cmdline but free playground.
9839
9840 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Handle group offset on UFS1.
9843
9844 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
9845 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
9846
9847 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 Split ufs.mod into ufs1.mod and ufs2.mod.
9850
9851 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
9852 (grub_fstest_SOURCES): Likewise.
9853 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
9854 (ufs_mod_SOURCES): Remove.
9855 (ufs_mod_CFLAGS): Likewise.
9856 (ufs_mod_LDFLAGS): Likewise.
9857 (ufs1_mod_SOURCES): New variable.
9858 (ufs1_mod_CFLAGS): Likewise.
9859 (ufs1_mod_LDFLAGS): Likewise.
9860 (ufs2_mod_SOURCES): New variable.
9861 (ufs2_mod_CFLAGS): Likewise.
9862 (ufs2_mod_LDFLAGS): Likewise.
9863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
9864 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9865 Likewise.
9866 (grub_emu_SOURCES): Likewise.
9867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9868 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9869 (grub_setup_SOURCES): Likewise.
9870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9871 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
9872 (grub_setup_SOURCES): Likewise.
9873 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
9874 Likewise.
9875 * fs/ufs2.c: New file.
9876 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
9877
9878 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 Framebuffer split.
9881
9882 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
9883 subsystem at the end.
9884 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
9885 (video_fb_mod_SOURCES): New variable.
9886 (video_fb_mod_CFLAGS): Likewise.
9887 (video_fb_mod_LDFLAGS): Likewise.
9888 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
9889 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
9890 * video/i386/pc/vbeblit.c: Moved from here ...
9891 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
9892 * video/i386/pc/vbefill.c: Moved from here ...
9893 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
9894 * video/i386/pc/vbeutil.c: Moved from here ...
9895 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
9896 * include/grub/i386/pc/vbeblit.h: Moved from here ...
9897 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
9898 * include/grub/i386/pc/vbefill.h: Moved from here ...
9899 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
9900 * include/grub/i386/pc/vbeutil.h: Moved from here ...
9901 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
9902 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
9903 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
9904 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
9905 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
9906 (grub_video_adapter): Added 'get_info_and_fini'.
9907 (grub_video_get_info_and_fini): New prototype.
9908 (grub_video_set_mode): make modestring const char *.
9909 * loader/i386/linux.c (grub_linux_setup_video): Use
9910 grub_video_get_info_and_fini.
9911 (grub_linux_boot): Move modesetting just before booting.
9912 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9913 grub_video_get_info_and_fini.
9914 * video/i386/pc/vbe.c: Moved framebuffer part ...
9915 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9916 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9917 grub_video_fbstd_colors and grub_video_fb_set_palette.
9918 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9919 grub_video_fb_init.
9920 (grub_video_vbe_fini): Use grub_video_fb_fini.
9921 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9922 render_target and use grub_video_fb_set_active_render_target and
9923 grub_video_fb_set_palette.
9924 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9925 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9926 (grub_video_vbe_adapter): Use framebuffer.
9927 * video/video.c (grub_video_get_info_and_fini): New function.
9928 (grub_video_set_mode): Make modestring const char *.
9929 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9930 values are already initialised.
9931
9932 2009-08-14 Pavel Roskin <proski@gnu.org>
9933
9934 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9935 ABS and APPLE_CC.
9936 * boot/i386/pc/diskboot.S: Likewise.
9937 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9938 sectors allow compilation on MacOSX.
9939 * conf/i386-pc.rmk: Enable unconditional compilation of
9940 lnxboot.img.
9941
9942 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
9943
9944 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9945 * util/grub.d/00_header.in: Enter interruptible sleep if
9946 GRUB_HIDDEN_TIMEOUT is set.
9947
9948 2009-08-13 Yves Blusseau <blusseau@zetam.org>
9949
9950 * include/grub/symbol.h: Add the LOCAL macro.
9951 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9952 starting with "L_".
9953
9954 2009-08-13 Pavel Roskin <proski@gnu.org>
9955
9956 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9957 any modern compilers we support.
9958
9959 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9960 Use local labels starting with "L_" so that Apple assembler
9961 knows they are local.
9962
9963 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9964
9965 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9966 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9967 (bsd_kernel_types): ... this enum.
9968
9969 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9970 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9971 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9972
9973 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9974 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9975 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9976 messages.
9977
9978 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9979
9980 * util/grub-dumpdevtree: Moved from here ...
9981 * util/i386/efi/grub-dumpdevtree: ... to here.
9982 (hexify): New function. Converts a string to its hex version.
9983 Generate hex versions of "efi" and "device-properties" by calling
9984 hexify() on the ASCII strings rather than by hardcoding numbers.
9985
9986 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9987
9988 * fs/jfs.c: Update copyright year.
9989
9990 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9991
9992 * util/grub.d/00_header.in: Fix a comment.
9993 * util/grub.d/10_linux.in: Likewise.
9994 * util/grub.d/10_windows.in: Likewise.
9995 * util/grub.d/10_hurd.in: Likewise.
9996
9997 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
9998
9999 * util/grub-mkconfig.in: Allow the user to specify the used font
10000 with GRUB_FONT.
10001
10002 2009-08-08 Pavel Roskin <proski@gnu.org>
10003
10004 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10005 available, xfs.mod needs it now.
10006
10007 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10008 the "g" modifier in sed when the intention is to strip something
10009 once. This fixes comparison of kernels with multiple dashes.
10010
10011 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10012 on it. Add missing space before closing bracket. Fix
10013 misleading formatting.
10014
10015 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10016
10017 * docs/grub.texi: Major overhaul. Remove all sections that are
10018 specific to GRUB Legacy, or mostly composed of Legacy-specific
10019 information.
10020
10021 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10022
10023 * docs/version.texi: New file. Provides version information for
10024 grub.texi.
10025
10026 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10027
10028 * docs/grub.texi: Update CVS information to SVN.
10029 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10030
10031 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10032
10033 * util/grub-mkconfig.in: Remove a wrong `fi'.
10034
10035 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10036
10037 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10038 (grub_jfs_uuid): New function.
10039 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10040
10041 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10042
10043 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10044 of it to ...
10045 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10046 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10047
10048 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10049
10050 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10051 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10052 Update all users.
10053
10054 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10055 not just "vmlinu[zx]".
10056 Moved from here ...
10057 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10058 all users.
10059
10060 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10061 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10062 all users.
10063
10064 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10065
10066 * util/grub.d/10_freebsd.in: Use an absolute device path for
10067 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10068
10069 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10070
10071 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10072 handling of multiple abstraction modules.
10073
10074 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10075
10076 Fix a bug resulting in black screen when loading Linux using a
10077 packed video mode.
10078
10079 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10080 function.
10081
10082 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10083 (grub_vbe_bios_getset_dac_palette_width): New function.
10084 (grub_vbe_bios_get_dac_palette_width)
10085 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10086 grub_vbe_bios_getset_dac_palette_width()).
10087
10088 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10089 check for return status.
10090 (grub_vbe_get_video_mode_info): When getting information for a packed
10091 mode (<= 8 bpp), obtain DAC palette width using
10092 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10093 {red,green,blue}_mark_size.
10094
10095 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10096
10097 * commands/search.c (options): Fix help output to match actual code.
10098
10099 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
10102 of homegrown code.
10103
10104 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
10107 on XFS or ReiserFS.
10108
10109 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 Support Apple partition map with sector size different from 512 bytes.
10112
10113 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
10114 (apple_partition_map_iterate): Respect 'aheader.blocksize'
10115 and 'apart.partmap_size'.
10116
10117 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10118 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
10119
10120 Fix cpuid command.
10121
10122 * commands/i386/cpuid.c (options): New variable.
10123 (grub_cmd_cpuid): Return real error.
10124 (GRUB_MOD_INIT(cpuid)): Declare options.
10125
10126 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
10129 valid.
10130
10131 2009-07-31 Bean <bean123ch@gmail.com>
10132
10133 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
10134 log2_inode.
10135 (grub_fshelp_node): Move inode field to the end.
10136 (grub_xfs_data): Remove inode field.
10137 (grub_xfs_inode_block): Calculate inode size using sblock.
10138 (grub_xfs_inode_offset): Likewise.
10139 (grub_xfs_read_inode): Calculate inode size using sblock.
10140 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
10141 (grub_xfs_iterate_dir): Calculate inode size using sblock.
10142 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
10143 to match inode size.
10144 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
10145 not accessible when data is null.
10146 (grub_xfs_open): Likewise.
10147
10148 2009-07-31 Bean <bean123ch@gmail.com>
10149
10150 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
10151 Don't change pv->disk if it's already set.
10152
10153 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
10154 (grub_raid_register): ... here.
10155 (grub_raid_rescan): Removed.
10156
10157 * include/grub/raid.h (grub_raid_rescan): Removed.
10158
10159 * util/grub-fstest.c: Remove include file <grub/raid.h>.
10160 (fstest): Replace grub_raid_rescan with module fini function followed
10161 by init function.
10162
10163 * util/grub-probe.c: Add include file <grub/raid.h>.
10164 (probe_raid_level): New function.
10165 (probe): Detect abstraction by walking the disk device, support two
10166 level of abstraction (LVM on RAID) when detecting partition map.
10167
10168 2009-07-31 Pavel Roskin <proski@gnu.org>
10169
10170 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
10171 to grub_zalloc(), it was erroneous.
10172 Reported by Bean <bean123ch@gmail.com>
10173
10174 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
10177 embedding zone, not only the first one.
10178
10179 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
10180
10181 * term/gfxterm.c (clear_char): New function.
10182 (grub_virtual_screen_setup): Use clear_char.
10183 (scroll_up): Likewise.
10184 (grub_virtual_screen_cls): Likewise.
10185
10186 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
10187
10188 * util/deviceiter.c (get_acceleraid_disk_name): New static
10189 function.
10190 (grub_util_iterate_devices): Handle Accelraid devices.
10191 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
10192
10193 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
10194
10195 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
10196 separator for the suggested gfxpayload string (';' collides with the
10197 parser and needs escaping).
10198
10199 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
10202 Clear direction flag before jumping to OS.
10203 (grub_multiboot2_real_boot): Likewise.
10204
10205 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10206
10207 * util/i386/pc/grub-install: Fix parsing of --disk-module
10208 option.
10209
10210 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
10211
10212 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
10213 when embedding.
10214
10215 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
10216
10217 * util/grub-mkconfig.in (package_version): New variable.
10218 Use it do display the version.
10219
10220 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10221
10222 * kern/file.c (grub_file_open): Revert to previous check with
10223 grub_errno.
10224
10225 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
10228 from help line. It's out of sync with code.
10229
10230 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
10233 entries on failed boot.
10234
10235 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
10236
10237 * kern/file.c (grub_file_open): Fix an error check.
10238
10239 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
10242 partition map couldn't be identified.
10243
10244 2009-07-23 Pavel Roskin <proski@gnu.org>
10245
10246 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
10247 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
10248 case of little endian words becomes just an optimization.
10249 Respect const modifier.
10250 (md5_final): Use code that doesn't depend on endianness.
10251
10252 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
10253 to avoid loss of upper bits if align is unsigned and shorter
10254 than addr.
10255
10256 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 UUID support for UFS
10259
10260 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
10261 (grub_ufs_uuid): New function.
10262 (grub_ufs_fs): add .uuid
10263
10264 2009-07-21 Pavel Roskin <proski@gnu.org>
10265
10266 * kern/dl.c (grub_dl_check_header): Make static.
10267
10268 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
10269
10270 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
10271 add drivemap for Vista. It breaks Windows 7.
10272
10273 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
10276 128 bytes
10277
10278 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 Add BFS support
10281
10282 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
10283 (grub_fstest_SOURCES): Likewise.
10284 (pkglib_MODULES): Add befs.mod.
10285 (befs_mod_SOURCES): New variable.
10286 (befs_mod_CFLAGS): Likewise.
10287 (befs_mod_LDFLAGS): Likewise.
10288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10291 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10292 (grub_setup_SOURCES): Likewise.
10293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10294 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10295 (grub_setup_SOURCES): Likewise.
10296 * fs/befs.c: New file.
10297 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
10298 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
10299 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
10300 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
10301 (B_KEY_INDEX_ALIGN): New declaration.
10302 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
10303 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
10304 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
10305 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
10306 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
10307 (grub_afs_mount) [MODE_BFS]: Likewise.
10308 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
10309 (grub_afs_fs): Use GRUB_AFS_FSNAME
10310 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
10311 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
10312 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
10313 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
10314
10315 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
10316
10317 * util/getroot.c (find_root_device): Add support for MacOSX.
10318 * util/hostdisk.c: Likewise.
10319
10320 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * font/font.c (find_glyph): Check whether a font is present to avoid
10323 segmentation fault.
10324
10325 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
10326
10327 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
10328
10329 2009-07-20 Pavel Roskin <proski@gnu.org>
10330
10331 * configure.ac: Trim excessively wordy excuses.
10332
10333 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Add symlink, mtime and label support to AtheFS.
10336
10337 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
10338 (grub_afs_iterate_dir): Handle symlinks.
10339 (grub_afs_open): Use grub_afs_read_symlink.
10340 (grub_afs_dir): Likewise.
10341 Pass mtime.
10342 (grub_afs_label): New function.
10343 (grub_afs_fs): Add grub_afs_label.
10344 (grub_afs_read_symlink): New function.
10345
10346 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 Fix AtheFS support.
10349
10350 * fs/afs.c: Fix comments style.
10351 (grub_afs_blockrun): Declare as packed.
10352 (grub_afs_datastream): Likewise.
10353 (grub_afs_bnode): Likewise.
10354 (grub_afs_btree): Likewise.
10355 (grub_afs_sblock): Likewise.
10356 Declare `name' as char.
10357 (grub_afs_inode): Declare as packed.
10358 Change void *vnode to grub_uint32_t unused.
10359 (grub_afs_iterate_dir): Check that key_size is positive.
10360 (grub_afs_mount): Don't read superblock twice.
10361 (grub_afs_dir): Don't free node in case of error,
10362 grub_fshelp_find_file already handles this.
10363 (grub_afs_open): Likewise.
10364
10365 2009-07-19 Pavel Roskin <proski@gnu.org>
10366
10367 * Makefile.in: Remove LIBLZO and enable_lzo.
10368 * conf/i386-pc.rmk: Remove lzo support.
10369 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
10370 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
10371 support.
10372 * kern/i386/pc/lzo1x.S: Remove.
10373 * kern/i386/pc/startup.S: Remove lzo support.
10374 * util/i386/pc/grub-mkimage.c: Likewise.
10375
10376 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
10379 * fs/xfs.c (grub_xfs_dir): Likewise.
10380 * fs/afs.c (grub_afs_dir): Likewise.
10381 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10382 (grub_iso9660_open): Likewise.
10383 * fs/jfs.c (grub_jfs_open): Likewise.
10384 * fs/ext2.c (grub_ext2_dir): Likewise.
10385 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
10386 * script/sh/lexer.c (grub_script_yylex): Likewise.
10387
10388 2009-07-16 Pavel Roskin <proski@gnu.org>
10389
10390 * configure.ac: Never add "-c" to CFLAGS.
10391
10392 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
10393
10394 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
10395 grub_cv_cc_efiemu should be used.
10396
10397 * configure.ac: Typo fixes.
10398
10399 * kern/mm.c (grub_zalloc): New function.
10400 (grub_debug_zalloc): Likewise.
10401 * include/grub/mm.h: Declare grub_zalloc() and
10402 grub_debug_zalloc().
10403 * util/misc.c (grub_zalloc): New function.
10404 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
10405 instead of grub_malloc(), remove unneeded initializations.
10406 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
10407 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
10408 * commands/parttool.c (grub_cmd_parttool): Likewise.
10409 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10410 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
10411 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
10412 * disk/usbms.c (grub_usbms_finddevs): Likewise.
10413 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
10414 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
10415 (grub_cmd_efiemu_pnvram): Likewise.
10416 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
10417 * fs/iso9660.c (grub_iso9660_mount): Likewise.
10418 (grub_iso9660_iterate_dir): Likewise.
10419 * fs/jfs.c (grub_jfs_opendir): Likewise.
10420 * fs/ntfs.c (list_file): Likewise.
10421 (grub_ntfs_mount): Likewise.
10422 * kern/disk.c (grub_disk_open): Likewise.
10423 * kern/dl.c (grub_dl_load_core): Likewise.
10424 * kern/elf.c (grub_elf_file): Likewise.
10425 * kern/env.c (grub_env_context_open): Likewise.
10426 (grub_env_set): Likewise.
10427 (grub_env_set_data_slot): Likewise.
10428 * kern/file.c (grub_file_open): Likewise.
10429 * kern/fs.c (grub_fs_blocklist_open): Likewise.
10430 * loader/i386/multiboot.c (grub_module): Likewise.
10431 * loader/xnu.c (grub_xnu_create_key): Likewise.
10432 (grub_xnu_create_value): Likewise.
10433 * normal/main.c (grub_normal_add_menu_entry): Likewise.
10434 (read_config_file): Likewise.
10435 * normal/menu_entry.c (make_screen): Likewise.
10436 * partmap/sun.c (sun_partition_map_iterate): Likewise.
10437 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
10438 * script/sh/script.c (grub_script_parse): Likewise.
10439 * video/bitmap.c (grub_video_bitmap_create): Likewise.
10440 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10441 * video/readers/png.c (grub_png_output_byte): Likewise.
10442 (grub_video_reader_png): Likewise.
10443
10444 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 Enable all targets that can be built by default
10447
10448 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
10449 grub-mkfont and grub-fstest if they can be built
10450
10451 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Fix hang and segmentation fault in grub-emu-usb
10454
10455 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
10456 * util/usb.c (grub_libusb_devices): likewise
10457 (grub_libusb_init): rename to ...
10458 (GRUB_MOD_INIT (libusb)):...this
10459 (grub_libusb_fini): rename to ..
10460 (GRUB_MOD_FINI (libusb)):...this
10461 * disk/usbms.c (grub_usbms_transfer): fix retry logic
10462 * include/grub/disk.h (grub_raid_init): removed, it's useless
10463 (grub_raid_fini): likewise
10464 (grub_lvm_init): likewise
10465 (grub_lvm_fini): likewise
10466 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
10467 by grub_init_all
10468
10469 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 Fix libusb
10472
10473 * Makefile.in (LIBUSB): new macro
10474 * genmk.rb (Utility/print_tail): new method
10475 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
10476 (top level): call util.print_tail at the end.
10477
10478 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 Make FreeBSD accept zpool.cache
10481
10482 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
10483 type is /boot/zfs/zpool.cache
10484
10485 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Fix 64-bit efiemu
10488
10489 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
10490 correct wrong typedef
10491 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
10492
10493 2009-07-15 Pavel Roskin <proski@gnu.org>
10494
10495 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
10496 * kern/disk.c (struct grub_disk_cache): Likewise.
10497
10498 * commands/probe.c (options): Typo fix.
10499
10500 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
10501 Increase to 0x5a to accommodate FAT32. Adjust other offsets
10502 accordingly.
10503 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
10504
10505 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
10506 the end of "Error" to make the message more readable.
10507
10508 * boot/i386/pc/boot.S (kernel_segment): Remove.
10509 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
10510 for destination.
10511
10512 * boot/i386/pc/boot.S (boot_version): Remove.
10513 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10514 Remove.
10515
10516 * include/grub/i386/pc/boot.h: Sort all offsets.
10517 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
10518 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
10519 * boot/i386/pc/boot.S: Assert location of every offset listed in
10520 include/grub/i386/pc/boot.h.
10521
10522 2009-07-13 Pavel Roskin <proski@gnu.org>
10523
10524 * include/grub/i386/coreboot/machine.h: Rename
10525 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
10526 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
10527 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
10528
10529 * kern/dl.c: Force native word size to suppress warnings when
10530 compiling grub-emu.
10531
10532 * kern/device.c (grub_device_iterate): Change struct part_ent to
10533 hold the name, not a pointer to it. Use one grub_malloc() per
10534 partition, not two. Free partition_name if grub_malloc() fails.
10535 Set ents to NULL only before grub_partition_iterate() is called.
10536
10537 2009-07-11 Bean <bean123ch@gmail.com>
10538
10539 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
10540 childname.
10541
10542 2009-07-10 Bean <bean123ch@gmail.com>
10543 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
10544
10545 * kern/ieee1275/openfw.c (grub_children_iterate)
10546 (grub_devalias_iterate): Fix size evaluation for property or path
10547 strings, which was broken since r2132.
10548
10549 2009-07-07 Pavel Roskin <proski@gnu.org>
10550
10551 * commands/search.c (search_file): Merge into ...
10552 (search_fs): ... this. Accept search type as argument.
10553 (grub_cmd_search): Pass search type to search_fs().
10554
10555 * include/grub/util/console.h: New file.
10556 * util/console.c: Use it instead of grub/machine/console.h.
10557 * util/grub-emu.c: Likewise.
10558
10559 * lib/arg.c (find_long_option): Remove.
10560 (find_long): Add `len' argument, make `s' const char *.
10561 (grub_arg_parse): Parse long options in place, not in a
10562 temporary buffer.
10563
10564 2009-07-06 Pavel Roskin <proski@gnu.org>
10565
10566 * commands/search.c (search_fs): Fix potential NULL pointer
10567 dereference.
10568
10569 * commands/search.c (search_fs): Replace QUID macro with quid_fn
10570 function pointer.
10571
10572 2009-07-06 Daniel Mierswa <impulze@impulze.org>
10573
10574 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
10575 comparison.
10576
10577 2009-07-05 Pavel Roskin <proski@gnu.org>
10578
10579 * include/grub/i386/linux.h (struct linux_kernel_params):
10580 Restore padding3, it's still needed.
10581
10582 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
10583 FreeBSD.
10584 * util/osdetect.lua: Likewise.
10585
10586 2009-07-05 Bean <bean123ch@gmail.com>
10587
10588 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
10589
10590 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
10591 (grub_lua_getenv): Likewise.
10592 (grub_lua_setenv): Likewise.
10593 (save_errno): New function.
10594 (push_result): Likewise.
10595 (grub_lua_enum_device): Likewise.
10596 (grub_lua_enum_file): Likewise.
10597 (grub_lua_file_open): Likewise.
10598 (grub_lua_file_close): Likewise.
10599 (grub_lua_file_seek): Likewise.
10600 (grub_lua_file_read): Likewise.
10601 (grub_lua_file_getline): Likewise.
10602 (grub_lua_file_getsize): Likewise.
10603 (grub_lua_file_getpos): Likewise.
10604 (grub_lua_file_eof): Likewise.
10605 (grub_lua_file_exist): Likewise.
10606 (grub_lua_add_menu): Likewise.
10607
10608 * script/lua/grub_lua.h (isupper): New inline function.
10609 (islower): Likewise.
10610 (ispunct): Likewise.
10611 (isxdigit): Likewise.
10612 (strcspn): Change to normal function.
10613 (strpbkr): New function declaration.
10614 (memchr): Likewise.
10615
10616 * script/lua/grub_main.c (scan_str): New function.
10617 (strcspn): Likewise.
10618 (strpbrk): Likewise.
10619 (memchr): Likewise.
10620
10621 * script/lua/linit.c (lualibs): Enable the string library.
10622
10623 * util/osdetect.lua: New file.
10624
10625 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
10626
10627 * include/grub/i386/linux.h (struct linux_kernel_params): Add
10628 `capabilities' member.
10629
10630 2009-07-02 Pavel Roskin <proski@gnu.org>
10631
10632 * genparttoollist.sh: Add missing newline at the end.
10633
10634 2009-07-01 Pavel Roskin <proski@gnu.org>
10635
10636 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
10637
10638 * util/hostdisk.c (open_device): Remove `const' from
10639 `sysctl_size', as sysctlbyname() can change it (in this case it
10640 doesn't actually happen).
10641
10642 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
10643 using signed long int constants.
10644
10645 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
10646 constant to avoid a warning on FreeBSD.
10647
10648 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
10649 where it's needed.
10650
10651 * Makefile.in: Install include/grub/machine symlink.
10652
10653 * Makefile.in: When installing symlinks, use "cp -fR", which
10654 works on FreeBSD and MacOSX.
10655 From Yves Blusseau <cl7m42e02@sneakemail.com>
10656
10657 * kern/dl.c (grub_dl_resolve_symbol): Make static.
10658 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
10659
10660 * util/misc.c: Move grub_reboot() and grub_halt() ...
10661 * util/grub-emu.c: ... here. Make main_env static.
10662 * include/grub/util/misc.h: Remove main_env.
10663
10664 * kern/mm.c: Use correct format to print size_t.
10665
10666 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
10667 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
10668 * kern/powerpc/dl.c: Likewise.
10669 * kern/sparc64/dl.c: Likewise.
10670 * kern/x86_64/dl.c: Likewise.
10671
10672 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10673
10674 Fix grub-emu build on sparc64-ieee1275.
10675
10676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
10677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
10678
10679 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10680
10681 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
10682 (grub_reboot, grub_halt): New functions.
10683
10684 * util/i386/pc/misc.c: Delete. Update all users.
10685 * util/sparc64/ieee1275/misc.c: Likewise.
10686 * util/powerpc/ieee1275/misc.c: Likewise.
10687
10688 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10689
10690 * conf/i386.rmk (setjmp_mod_SOURCES)
10691 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
10692 * conf/common.rmk (setjmp_mod_SOURCES)
10693 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
10694 to use $(target_cpu).
10695 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
10696 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
10697 * conf/powerpc-ieee1275.rmk: Likewise.
10698 * conf/sparc64-ieee1275.rmk: Likewise.
10699
10700 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
10701 $(target_cpu) for kern/$(target_cpu)/dl.c.
10702 * conf/i386-efi.rmk: Likewise.
10703 * conf/i386-ieee1275.rmk: Likewise.
10704 * conf/x86_64-efi.rmk: Likewise.
10705 * conf/i386-coreboot.rmk: Likewise.
10706 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
10707 $(target_cpu) for kern/$(target_cpu)/dl.c and for
10708 kern/$(target_cpu)/cache.S.
10709 * conf/sparc64-ieee1275.rmk: Likewise.
10710
10711 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
10712
10713 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
10714 type to `grub_uint8_t', and adjust `padding9' accordingly.
10715
10716 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10717
10718 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
10719
10720 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
10721 assembly in final jump, using register constraints.
10722
10723 (grub_linux_boot): For text mode, initialize `have_vga' using
10724 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
10725
10726 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
10727 right before the final jump.
10728
10729 Set `video_mode' to 0x3.
10730
10731 Document initialization of `video_page', `video_mode' and
10732 `video_ega_bx'.
10733
10734 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10735
10736 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
10737 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
10738 and set GRUB_LINUX_FLAG_QUIET appropriately.
10739
10740 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
10741
10742 Fix build on Debian / sparc.
10743
10744 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
10745
10746 2009-06-28 Pavel Roskin <proski@gnu.org>
10747
10748 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
10749 fix a warning.
10750
10751 * util/grub.d/10_linux.in: Match SUSE style initrd names.
10752
10753 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10754
10755 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
10756 `err'.
10757
10758 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10759
10760 Revert r2338.
10761
10762 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
10763 file can't be opened. grub_file_open() is already supposed to set
10764 grub_errno / grub_errmsg appropriately.
10765 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10766
10767 2009-06-27 Pavel Roskin <proski@gnu.org>
10768 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
10769
10770 * include/grub/dl.h: Include grub/elf.h.
10771 (struct grub_dl): Add symtab field.
10772 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
10773 GRUB_MODULES_MACHINE_READONLY.
10774 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
10775 of the header for read-only modules.
10776 (grub_dl_unload): Free mod->symtab for read-only modules.
10777 * kern/i386/dl.c: Use mod->symtab.
10778 * kern/powerpc/dl.c: Likewise.
10779 * kern/sparc64/dl.c: Likewise.
10780 * kern/x86_64/dl.c: Likewise.
10781
10782 * conf/i386-qemu.rmk: New file.
10783 * kern/i386/qemu/startup.S: Likewise.
10784 * kern/i386/qemu/mmap.c: Likewise.
10785 * boot/i386/qemu/boot.S: Likewise.
10786 * include/grub/i386/qemu/time.h: Likewise.
10787 * include/grub/i386/qemu/serial.h: Likewise.
10788 * include/grub/i386/qemu/kernel.h: Likewise.
10789 * include/grub/i386/qemu/console.h: Likewise.
10790 * include/grub/i386/qemu/boot.h: Likewise.
10791 * include/grub/i386/qemu/init.h: Likewise.
10792 * include/grub/i386/qemu/machine.h: Likewise.
10793 * include/grub/i386/qemu/loader.h: Likewise.
10794 * include/grub/i386/qemu/memory.h: Likewise.
10795
10796 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
10797 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
10798 [qemu] (pkglib_IMAGES): Add `boot.img'.
10799 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
10800 [qemu] (boot_img_FORMAT): New variables.
10801 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
10802 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
10803 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
10804 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10805 [qemu] (kernel_img_FORMAT): New variables.
10806
10807 * configure.ac: Recognise `i386-qemu'.
10808
10809 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
10810 (for no compression).
10811 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
10812 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
10813 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
10814 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
10815 ifdefs).
10816
10817 2009-06-27 Pavel Roskin <proski@gnu.org>
10818
10819 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
10820 read.
10821 * efiemu/prepare32.c: Likewise.
10822 * efiemu/prepare64.c: Likewise.
10823
10824 2009-06-26 Pavel Roskin <proski@gnu.org>
10825
10826 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
10827 * include/grub/elf.h: Define symbols without "32" or "64" based
10828 on GRUB_TARGET_WORDSIZE.
10829 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
10830 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
10831 ELF definitions.
10832 * efiemu/loadcore64.c: Likewise.
10833 * loader/i386/bsd32.c: Likewise.
10834 * loader/i386/bsd64.c: Likewise.
10835 * kern/dl.c: Remove own ELF definitions.
10836 * util/i386/efi/grub-mkimage.c: Likewise.
10837
10838 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
10839
10840 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
10841 segment 0x0 unconditionally, because the reference generated by
10842 GAS is an absolute address.
10843
10844 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10845
10846 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
10847 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
10848
10849 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10850
10851 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
10852 indexes. Check for -f explicitly.
10853 (search_file): Improve error message.
10854 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
10855
10856 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10857
10858 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
10859 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
10860
10861 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10862
10863 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
10864 * conf/i386-ieee1275.rmk: Likewise.
10865 * conf/i386-coreboot.rmk: Likewise.
10866
10867 * kern/i386/pc/startup.S (grub_stop): Remove function.
10868 * kern/i386/ieee1275/startup.S: Likewise.
10869 * kern/i386/coreboot/startup.S: Likewise.
10870 * kern/i386/misc.S (grub_stop): New function.
10871
10872 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10873
10874 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
10875 * kern/i386/realmode.S (real_to_prot): ... to here.
10876
10877 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
10878
10879 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
10880 with `kernel.img'.
10881 (kernel_elf_SOURCES): Rename to ...
10882 (kernel_img_SOURCES): ... this.
10883 (kernel_elf_HEADERS): Rename to ...
10884 (kernel_img_HEADERS): ... this. Update all users.
10885 (kernel_elf_ASFLAGS): Rename to ...
10886 (kernel_img_ASFLAGS): ... this.
10887 (kernel_elf_CFLAGS): Rename to ...
10888 (kernel_img_CFLAGS): ... this.
10889 (kernel_elf_LDFLAGS): Rename to ...
10890 (kernel_img_LDFLAGS): ... this.
10891 * conf/i386-coreboot.rmk: Likewise.
10892 * conf/powerpc-ieee1275.rmk: Likewise.
10893
10894 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
10895 with "kernel.img".
10896
10897 2009-06-21 Pavel Roskin <proski@gnu.org>
10898
10899 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
10900 to match nested functions.
10901 * loader/sparc64/ieee1275/linux.c: Likewise.
10902
10903 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
10904
10905 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10906
10907 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
10908 all i386 platforms.
10909
10910 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10911
10912 Fix asm file handling on ELF, and remove workarounds.
10913
10914 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
10915 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
10916 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10917 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10918
10919 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Load BSD ELF modules
10922
10923 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10924 and loader/i386/bsd64.c
10925 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10926 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10927 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10928 (grub_freebsd_load_elfmodule32): New declaration
10929 (grub_freebsd_load_elfmoduleobj64): Likewise
10930 (grub_freebsd_load_elf_meta32): Likewise
10931 (grub_freebsd_load_elf_meta64): Likewise
10932 (grub_freebsd_add_meta): Likewise
10933 (grub_freebsd_add_meta_module): Likewise
10934 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10935 (grub_freebsd_add_meta_module): Likewise and move module-specific
10936 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10937 (grub_cmd_freebsd): Add elf-kernel specific parts
10938 based on grub_freebsd_add_meta_module
10939 (grub_cmd_freebsd_module): Add type parsing moved from
10940 grub_freebsd_add_meta_module
10941 (grub_cmd_freebsd_module_elf): New function
10942 (cmd_freebsd_module_elf): New variable
10943 (GRUB_MOD_INIT): Register freebsd_module_elf
10944 * loader/i386/bsd32.c: New file
10945 * loader/i386/bsd64.c: Likewise
10946 * loader/i386/bsdXX.c: Likewise
10947 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10948 (grub_elf64_load): Likewise
10949 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10950 All users updated
10951 (grub_elf64_load_hook_t): Likewise
10952
10953 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
10954
10955 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10956 variable.
10957 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10958 don't write a menu entry for recovery mode.
10959
10960 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10961
10962 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10963 after it's no longer needed.
10964
10965 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10966
10967 * include/grub/i386/loader.h (grub_linux_prot_size)
10968 (grub_linux_tmp_addr, grub_linux_real_addr)
10969 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10970 GRUB_MACHINE_PCBIOS.
10971 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10972 common grub_util_info() call to ...
10973 (generate_image): ... here.
10974 Fix use of uninitialized memory, comparison of signed with
10975 unsigned integers and memory leak.
10976 Remove bogus module address message.
10977
10978 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10981 grub_raid_register
10982 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10983
10984 2009-06-19 Pavel Roskin <proski@gnu.org>
10985
10986 * configure.ac: Remove stray AC_MSG_CHECKING.
10987
10988 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * disk/scsi.c (grub_scsi_open): use continue instead of big if
10991
10992 2009-06-18 Pavel Roskin <proski@gnu.org>
10993
10994 * conf/common.rmk: Add fs_file.mod.
10995 * disk/fs_file.c: New file.
10996 * include/grub/disk.h (enum grub_disk_dev_id): Add
10997 GRUB_DISK_DEVICE_FILE_ID.
10998
10999 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 Fix build with Apple's toolchain. Part 2
11002
11003 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11004 a fake start
11005
11006 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 Fix build with Apple's toolchain. Part 1
11009
11010 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11011 for long calls
11012 * configure.ac: remove a leftover AC_MSG_RESULT
11013 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11014 Apple's toolchain
11015
11016 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 Fix warnings
11019
11020 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11021 (decomp_block): initialize ch
11022 use grub_memcpy instead of memcpy
11023
11024 2009-06-17 Pavel Roskin <proski@gnu.org>
11025
11026 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11027 version, use declarations needed to use vga_text as the startup
11028 console.
11029
11030 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11031 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11032 the kernel.
11033 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11034 and grub_at_keyboard_fini(), it's done on module load and
11035 unload.
11036
11037 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11038
11039 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11040 file can't be found.
11041 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11042
11043 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 Fix newline handling
11046
11047 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11048 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11049 (grub_script_yylex): don't segfault on unterminated script
11050 newline terminates command and variable
11051
11052 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 avoid double grub_adjust_range call. Bug reported by David Simner
11055
11056 * kern/disk.c (grub_disk_write): change to raw disk access before
11057 calling disk_read
11058
11059 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11060
11061 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11062 spaces, for the benefit of help2man.
11063 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11064
11065 2009-06-16 Pavel Roskin <proski@gnu.org>
11066
11067 * kern/i386/halt.c: Include grub/machine/init.h.
11068 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11069
11070 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11071
11072 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11073 drivemap menuentry.
11074
11075 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11076
11077 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11078 `echo' command.
11079
11080 2009-06-16 Pavel Roskin <proski@gnu.org>
11081
11082 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11083 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11084 save %dx, we only need %dl and we never change it.
11085 * boot/i386/pc/cdboot.S: Don't set the root drive.
11086 * boot/i386/pc/pxeboot.S: Likewise.
11087 * include/grub/i386/pc/boot.h: Remove
11088 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11089 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11090 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11091 * kern/i386/pc/init.c (make_install_device): Remove references
11092 to grub_root_drive.
11093 * kern/i386/pc/startup.S: Likewise.
11094 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11095
11096 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 xnu_uuid command
11099
11100 * commands/xnu_uuid.c: new file
11101 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
11102 (xnu_uuid_mod_SOURCES): new variable
11103 (xnu_uuid_mod_CFLAGS): likewise
11104 (xnu_uuid_mod_LDFLAGS): likewise
11105 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11106 * conf/i386-ieee1275.rmk: likewise
11107 * conf/i386-pc.rmk: likewise
11108 * conf/powerpc-ieee1275.rmk: likewise
11109 * conf/sparc64-ieee1275.rmk: likewise
11110 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
11111
11112 2009-06-16 Pavel Roskin <proski@gnu.org>
11113
11114 * configure.ac: Avoid '==' in test command, it's not portable.
11115
11116 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 Probe command
11119
11120 * commands/probe.c: new file
11121 * conf/common.rmk (pkglib_MODULES): add probe.mod
11122 (probe_mod_SOURCES): new variable
11123 (probe_mod_CFLAGS): likewise
11124 (probe_mod_LDFLAGS): likewise
11125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
11126 * conf/i386-ieee1275.rmk: likewise
11127 * conf/i386-pc.rmk: likewise
11128 * conf/powerpc-ieee1275.rmk: likewise
11129 * conf/sparc64-ieee1275.rmk: likewise
11130
11131 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Fix handling of string like \"hello\" and "a
11134 b"
11135
11136 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
11137 (grub_script_yylex): fix parsing of quoting, escaping and newline
11138
11139 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
11142 handling
11143
11144 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
11145
11146 * util/grub-mkconfig.in: Fix parsing of --output option.
11147
11148 2009-06-12 Pavel Roskin <proski@gnu.org>
11149
11150 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
11151 genmk.rb don't need to be generated or installed.
11152
11153 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * commands/i386/pc/drivemap_int13h.S: add more comments
11156
11157 2009-06-11 Pavel Roskin <proski@gnu.org>
11158
11159 * Makefile.in (uninstall): Uninstall manuals.
11160
11161 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
11162 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
11163 and update-grub_lib in two places.
11164 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
11165
11166 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
11167 a compiler warning.
11168
11169 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
11170 `entry_lo' to fix variable shadowing.
11171
11172 2009-06-11 Christian Franke <franke@computer.org>
11173
11174 * kern/misc.c (__enable_execute_stack): Add missing return type
11175 to prevent gcc warning.
11176
11177 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11178
11179 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
11180
11181 2009-06-11 Pavel Roskin <proski@gnu.org>
11182
11183 * Makefile.in: Don't rely on any scripts being executable.
11184 Always use $(SHELL) to run shell scripts.
11185
11186 * configure.ac: Always define ___main if using -nostdlib. This
11187 fixes tests on Cygwin.
11188
11189 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
11190
11191 UDF fix
11192
11193 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
11194 is in bytes and not in blocks
11195
11196 2009-06-11 Pavel Roskin <proski@gnu.org>
11197
11198 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
11199 warning.
11200
11201 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
11202
11203 * util/grub.d/30_os-prober.in: Fix a comment. Source
11204 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
11205 to set the root device. Place drivemap command in the generated
11206 chain entry.
11207
11208 2009-06-11 Pavel Roskin <proski@gnu.org>
11209
11210 * configure.ac: Remove host_m32. Issues with 64-bit utilities
11211 have long been resolved.
11212
11213 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
11214
11215 * util/grub.d/10_linux.in: Capitalise "Linux".
11216
11217 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
11218
11219 2009-06-11 Pavel Roskin <proski@gnu.org>
11220
11221 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
11222 fix a gcc warning and ensure that the function won't ever exit.
11223
11224 * kern/i386/ieee1275/init.c: Add missing prototype for
11225 grub_stop_floppy().
11226
11227 * loader/ieee1275/multiboot2.c [__i386__]: Include
11228 grub/cpu/multiboot.h.
11229
11230 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
11231 casts to short - they are not portable and cause warnings. Fix
11232 use of uninitialized values in input_buf. Use ARRAY_SIZE.
11233
11234 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 Drivemap fixes
11237
11238 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
11239 new function
11240 (grub_get_root_biosnumber_saved): new variable
11241 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
11242 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
11243 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
11244 %dx after the call if necessary
11245 * conf/common.rmk (pkglib_MODULES): remove boot.mod
11246 (boot_mod_SOURCES): remove
11247 (boot_mod_CFLAGS): remove
11248 (boot_mod_LDFLAGS): remove
11249 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
11250 (boot_mod_SOURCES): new variable
11251 (boot_mod_CFLAGS): likewise
11252 (boot_mod_LDFLAGS): likewise
11253 * conf/i386-efi.rmk: likewise
11254 * conf/i386-ieee1275.rmk: likewise
11255 * conf/i386-pc.rmk: likewise
11256 * conf/powerpc-ieee1275.rmk: likewise
11257 * conf/sparc64-ieee1275.rmk: likewise
11258 * conf/x86_64-efi.rmk: likewise
11259 * include/grub/i386/pc/biosnum.h: new file
11260 * lib/i386/pc/biosnum.c: likewise
11261 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
11262 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
11263 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
11264
11265 2009-06-10 Pavel Roskin <proski@gnu.org>
11266
11267 * io/gzio.c (test_header): Don't reuse one buffer for all data.
11268 Use separate variables. Read only the file size at the end, but
11269 not the checksum that we don't use.
11270
11271 * kern/file.c (grub_file_read): Use void pointer for the buffer.
11272 Adjust all callers.
11273
11274 * kern/ieee1275/openfw.c: Remove libc includes.
11275 * kern/ieee1275/cmain.c: Likewise.
11276 * include/grub/ieee1275/ieee1275.h: Likewise.
11277
11278 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
11279 compiler warnings.
11280
11281 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11282
11283 * Makefile.in: Remove all trailing whitespace.
11284 * conf/i386-pc.rmk: Likewise.
11285 * conf/powerpc-ieee1275.rmk: Likewise.
11286 * conf/sparc64-ieee1275.rmk: Likewise.
11287 * docs/grub.texi: Likewise.
11288 * docs/texinfo.tex: Likewise.
11289 * disk/fs_uuid.c: Likewise.
11290 * disk/lvm.c: Likewise.
11291 * disk/scsi.c: Likewise.
11292 * disk/ata.c: Likewise.
11293 * disk/ieee1275/ofdisk.c: Likewise.
11294 * disk/i386/pc/biosdisk.c: Likewise.
11295 * disk/host.c: Likewise.
11296 * disk/raid.c: Likewise.
11297 * disk/efi/efidisk.c: Likewise.
11298 * disk/usbms.c: Likewise.
11299 * disk/memdisk.c: Likewise.
11300 * disk/loopback.c: Likewise.
11301 * kern/powerpc/dl.c: Likewise.
11302 * kern/device.c: Likewise.
11303 * kern/dl.c: Likewise.
11304 * kern/sparc64/dl.c: Likewise.
11305 * kern/ieee1275/ieee1275.c: Likewise.
11306 * kern/term.c: Likewise.
11307 * kern/fs.c: Likewise.
11308 * kern/i386/dl.c: Likewise.
11309 * kern/i386/pc/startup.S: Likewise.
11310 * kern/i386/pc/init.c: Likewise.
11311 * kern/i386/pc/mmap.c: Likewise.
11312 * kern/i386/pc/lzo1x.S: Likewise.
11313 * kern/i386/ieee1275/init.c: Likewise.
11314 * kern/i386/realmode.S: Likewise.
11315 * kern/i386/tsc.c: Likewise.
11316 * kern/partition.c: Likewise.
11317 * kern/corecmd.c: Likewise.
11318 * kern/file.c: Likewise.
11319 * kern/efi/efi.c: Likewise.
11320 * kern/efi/init.c: Likewise.
11321 * kern/efi/mm.c: Likewise.
11322 * kern/main.c: Likewise.
11323 * kern/err.c: Likewise.
11324 * kern/env.c: Likewise.
11325 * kern/disk.c: Likewise.
11326 * kern/generic/millisleep.c: Likewise.
11327 * kern/generic/rtc_get_time_ms.c: Likewise.
11328 * kern/misc.c: Likewise.
11329 * kern/parser.c: Likewise.
11330 * genmk.rb: Likewise.
11331 * configure.ac: Likewise.
11332 * boot/i386/pc/diskboot.S: Likewise.
11333 * boot/i386/pc/pxeboot.S: Likewise.
11334 * boot/i386/pc/boot.S: Likewise.
11335 * boot/i386/pc/lnxboot.S: Likewise.
11336 * boot/i386/pc/cdboot.S: Likewise.
11337 * parttool/pcpart.c: Likewise.
11338 * video/readers/tga.c: Likewise.
11339 * video/video.c: Likewise.
11340 * video/bitmap.c: Likewise.
11341 * lib/envblk.c: Likewise.
11342 * lib/i386/setjmp.S: Likewise.
11343 * fs/xfs.c: Likewise.
11344 * fs/afs.c: Likewise.
11345 * fs/fat.c: Likewise.
11346 * fs/ntfs.c: Likewise.
11347 * fs/udf.c: Likewise.
11348 * fs/affs.c: Likewise.
11349 * fs/iso9660.c: Likewise.
11350 * fs/hfs.c: Likewise.
11351 * fs/fshelp.c: Likewise.
11352 * fs/ext2.c: Likewise.
11353 * fs/jfs.c: Likewise.
11354 * fs/reiserfs.c: Likewise.
11355 * fs/hfsplus.c: Likewise.
11356 * fs/minix.c: Likewise.
11357 * fs/cpio.c: Likewise.
11358 * fs/sfs.c: Likewise.
11359 * fs/ufs.c: Likewise.
11360 * efiemu/prepare.c: Likewise.
11361 * efiemu/loadcore_common.c: Likewise.
11362 * efiemu/runtime/efiemu.sh: Likewise.
11363 * efiemu/runtime/efiemu.S: Likewise.
11364 * efiemu/runtime/efiemu.c: Likewise.
11365 * efiemu/pnvram.c: Likewise.
11366 * efiemu/main.c: Likewise.
11367 * efiemu/i386/pc/cfgtables.c: Likewise.
11368 * efiemu/i386/loadcore64.c: Likewise.
11369 * efiemu/i386/loadcore32.c: Likewise.
11370 * efiemu/loadcore.c: Likewise.
11371 * efiemu/symbols.c: Likewise.
11372 * efiemu/mm.c: Likewise.
11373 * include/grub/autoefi.h: Likewise.
11374 * include/grub/datetime.h: Likewise.
11375 * include/grub/term.h: Likewise.
11376 * include/grub/hfs.h: Likewise.
11377 * include/grub/lvm.h: Likewise.
11378 * include/grub/i386/tsc.h: Likewise.
11379 * include/grub/i386/linux.h: Likewise.
11380 * include/grub/i386/xnu.h: Likewise.
11381 * include/grub/i386/efiemu.h: Likewise.
11382 * include/grub/i386/pc/biosdisk.h: Likewise.
11383 * include/grub/i386/pc/memory.h: Likewise.
11384 * include/grub/i386/pc/vbe.h: Likewise.
11385 * include/grub/parttool.h: Likewise.
11386 * include/grub/video.h: Likewise.
11387 * include/grub/memory.h: Likewise.
11388 * include/grub/fs.h: Likewise.
11389 * include/grub/partition.h: Likewise.
11390 * include/grub/xnu.h: Likewise.
11391 * include/grub/efi/api.h: Likewise.
11392 * include/grub/efi/pe32.h: Likewise.
11393 * include/grub/efi/memory.h: Likewise.
11394 * include/grub/multiboot.h: Likewise.
11395 * include/grub/usbdesc.h: Likewise.
11396 * include/grub/multiboot2.h: Likewise.
11397 * include/grub/acpi.h: Likewise.
11398 * include/grub/efiemu/efiemu.h: Likewise.
11399 * include/grub/disk.h: Likewise.
11400 * include/grub/ieee1275/ieee1275.h: Likewise.
11401 * include/grub/net.h: Likewise.
11402 * include/grub/machoload.h: Likewise.
11403 * include/grub/macho.h: Likewise.
11404 * include/multiboot.h: Likewise.
11405 * genmoddep.awk: Likewise.
11406 * normal/main.c: Likewise.
11407 * normal/menu_entry.c: Likewise.
11408 * normal/menu_viewer.c: Likewise.
11409 * normal/completion.c: Likewise.
11410 * normal/cmdline.c: Likewise.
11411 * normal/misc.c: Likewise.
11412 * normal/datetime.c: Likewise.
11413 * bus/usb/usbtrans.c: Likewise.
11414 * bus/usb/ohci.c: Likewise.
11415 * bus/usb/uhci.c: Likewise.
11416 * bus/usb/usb.c: Likewise.
11417 * mmap/efi/mmap.c: Likewise.
11418 * mmap/i386/pc/mmap_helper.S: Likewise.
11419 * mmap/i386/pc/mmap.c: Likewise.
11420 * mmap/i386/mmap.c: Likewise.
11421 * mmap/i386/uppermem.c: Likewise.
11422 * mmap/mmap.c: Likewise.
11423 * commands/acpi.c: Likewise.
11424 * commands/echo.c: Likewise.
11425 * commands/blocklist.c: Likewise.
11426 * commands/loadenv.c: Likewise.
11427 * commands/usbtest.c: Likewise.
11428 * commands/boot.c: Likewise.
11429 * commands/parttool.c: Likewise.
11430 * commands/search.c: Likewise.
11431 * commands/cat.c: Likewise.
11432 * commands/i386/pc/play.c: Likewise.
11433 * commands/i386/pc/drivemap.c: Likewise.
11434 * commands/i386/pc/vbeinfo.c: Likewise.
11435 * commands/i386/pc/acpi.c: Likewise.
11436 * commands/i386/pc/vbetest.c: Likewise.
11437 * commands/ls.c: Likewise.
11438 * commands/cmp.c: Likewise.
11439 * commands/test.c: Likewise.
11440 * commands/efi/acpi.c: Likewise.
11441 * commands/gptsync.c: Likewise.
11442 * commands/help.c: Likewise.
11443 * partmap/amiga.c: Likewise.
11444 * partmap/apple.c: Likewise.
11445 * partmap/acorn.c: Likewise.
11446 * partmap/pc.c: Likewise.
11447 * partmap/sun.c: Likewise.
11448 * partmap/gpt.c: Likewise.
11449 * script/sh/lexer.c: Likewise.
11450 * script/sh/function.c: Likewise.
11451 * font/font.c: Likewise.
11452 * font/font_cmd.c: Likewise.
11453 * loader/powerpc/ieee1275/linux.c: Likewise.
11454 * loader/efi/chainloader.c: Likewise.
11455 * loader/multiboot_loader.c: Likewise.
11456 * loader/macho.c: Likewise.
11457 * loader/i386/multiboot.c: Likewise.
11458 * loader/i386/linux.c: Likewise.
11459 * loader/i386/pc/linux.c: Likewise.
11460 * loader/i386/pc/multiboot2.c: Likewise.
11461 * loader/i386/pc/chainloader.c: Likewise.
11462 * loader/i386/pc/xnu.c: Likewise.
11463 * loader/i386/bsd_trampoline.S: Likewise.
11464 * loader/i386/efi/linux.c: Likewise.
11465 * loader/i386/multiboot_elfxx.c: Likewise.
11466 * loader/i386/bsd_helper.S: Likewise.
11467 * loader/i386/bsd.c: Likewise.
11468 * loader/i386/linux_trampoline.S: Likewise.
11469 * loader/i386/xnu_helper.S: Likewise.
11470 * loader/i386/xnu.c: Likewise.
11471 * loader/i386/bsd_pagetable.c: Likewise.
11472 * loader/i386/multiboot_helper.S: Likewise.
11473 * loader/xnu.c: Likewise.
11474 * loader/xnu_resume.c: Likewise.
11475 * io/gzio.c: Likewise.
11476 * term/efi/console.c: Likewise.
11477 * term/terminfo.c: Likewise.
11478 * term/ieee1275/ofconsole.c: Likewise.
11479 * term/i386/pc/serial.c: Likewise.
11480 * term/i386/pc/vesafb.c: Likewise.
11481 * term/i386/pc/vga.c: Likewise.
11482 * term/usb_keyboard.c: Likewise.
11483 * term/gfxterm.c: Likewise.
11484 * aclocal.m4: Likewise.
11485 * util/lvm.c: Likewise.
11486 * util/grub.d/30_os-prober.in: Likewise.
11487 * util/grub.d/10_hurd.in: Likewise.
11488 * util/console.c: Likewise.
11489 * util/grub-macho2img.c: Likewise.
11490 * util/grub-probe.c: Likewise.
11491 * util/hostfs.c: Likewise.
11492 * util/i386/pc/grub-mkimage.c: Likewise.
11493 * util/i386/pc/grub-setup.c: Likewise.
11494 * util/i386/efi/grub-mkimage.c: Likewise.
11495 * util/grub-mkconfig.in: Likewise.
11496 * util/raid.c: Likewise.
11497 * util/resolve.c: Likewise.
11498 * util/grub-mkdevicemap.c: Likewise.
11499 * util/grub-emu.c: Likewise.
11500 * util/getroot.c: Likewise.
11501 * util/hostdisk.c: Likewise.
11502 * util/usb.c: Likewise.
11503 * util/grub-editenv.c: Likewise.
11504 * util/misc.c: Likewise.
11505
11506 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
11507
11508 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
11509 `genparttoollist.sh'.
11510 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
11511 Add `*.sh' to the list find searches for and change `mdate.sh'
11512 to `mdate-sh'.
11513
11514 2009-06-10 Pavel Roskin <proski@gnu.org>
11515
11516 * include/grub/multiboot2.h: Provide compatibility defines for
11517 multiboot2.h.
11518 * include/multiboot2.h: Include stdint.h only if needed, using
11519 angle brackets.
11520 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
11521 grub/multiboot2.h.
11522 * loader/ieee1275/multiboot2.c: Likewise.
11523 * loader/multiboot2.c: Likewise.
11524 * loader/multiboot_loader.c: Likewise.
11525
11526 * configure.ac: Use -nostdlib when probing for the target. It
11527 should not be required to have libc for the target.
11528
11529 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
11530 they fail without libc headers for the target.
11531 * include/grub/powerpc/libgcc.h: Use weak attribute for all
11532 exports.
11533 * include/grub/sparc64/libgcc.h: Likewise. Don't use
11534 preprocessor conditionals.
11535
11536 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
11537 build system doesn't need to be aware of the tar.c internals.
11538
11539 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
11540
11541 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
11542
11543 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
11544
11545 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
11546 disk limit to 26 for IDE, Virtio, Xen and SCSI.
11547
11548 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
11549
11550 * util/i386/pc/grub-install.in: Change the error message if UUIDs
11551 aren't available if ata.mod gets used.
11552
11553 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
11554
11555 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
11556 initialising controller.
11557 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11558
11559 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11560
11561 * util/i386/pc/grub-install.in: Add a parameter --disk-module
11562 to choose between ata and biosdisk module on i386-pc.
11563
11564 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
11565
11566 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
11567 Subclass and Programming Interface fields in terms of the 3 byte
11568 Class Code register.
11569 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
11570
11571 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
11572 interface is OHCI. Add grub_dprintf for symmetry with
11573 bus/usb/uhci.c.
11574 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
11575 interface is UHCI. Add interf variable for programming
11576 interface. Print interface with class/subclass.
11577
11578 * bus/usb/ohci.c: Set interf with correct field.
11579
11580 * bus/usb/uhci.c: Remove unneeded doubled lines.
11581 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
11582 Remove whitespace inside comment.
11583
11584 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
11585
11586 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
11587 as fallback an equivalent option without depth.
11588
11589 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 Not fail if unable to retrieve C/H/S on LBA disks
11592
11593 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
11594 if unable to retrieve C/H/S on LBA disks
11595
11596 2009-06-08 Pavel Roskin <proski@gnu.org>
11597
11598 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
11599 about aliasing.
11600
11601 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11602
11603 * Makefile.in (uninstall): Remove all $lib_DATA files.
11604
11605 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 Bugfix: install on partitionless device
11608
11609 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
11610 is a whole disk
11611
11612 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11613
11614 * Makefile.in (uninstall): Remove all $include_DATA files.
11615
11616 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
11617
11618 * commands/true.c: New file. Implement the true and false commands.
11619 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
11620 (true_mod_SOURCES): New variable.
11621 (true_mod_CFLAGS): Likewise.
11622 (true_mod_LDFLAGS): Likewise.
11623
11624 2009-06-05 Colin D Bennett <colin@gibibit.com>
11625
11626 Optimized font character lookup using binary search instead of linear
11627 search. Fonts now are required to have the character index ordered by
11628 code point.
11629
11630 * font/font.c (load_font_index): Verify that fonts have ordered
11631 character indices.
11632 (find_glyph): Use binary search instead of linear search to find a
11633 character in a font.
11634
11635 2009-06-05 Michael Scherer <misc@mandriva.org>
11636
11637 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
11638 uses case sensitive btree.
11639 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
11640 only for case insensitive filesystems.
11641
11642 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
11645 * conf/common.rmk (search_mod_CFLAGS): likewise
11646
11647 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
11650 compensate a compiler bug
11651
11652 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
11655 instead of '\b'
11656
11657 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Definitions for creating asm symbols with Apple's CC
11660
11661 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
11662 [APPLE_CC] (VARIABLE): likewise
11663
11664 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 Disable lnxboot.img when compiled
11667 with Apple's CC
11668
11669 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
11670 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
11671 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
11672 [! APPLE_CC] (CODE_LENG): skip
11673 [! APPLE_CC] (setup_sects): likewise
11674 [! APPLE_CC]: skip filling
11675
11676 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Address in trampolines based on 32-bit registers when compiled
11679 with Apple's CC
11680
11681 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
11682 for addresses
11683 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
11684
11685 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 Avoid aliases when compiling with Apple's CC for PCBIOS machine
11688
11689 * kern/misc.c [APPLE_CC] (memcpy): new function
11690 [APPLE_CC] (memmove): likewise
11691 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
11692 (memcpy): define alias conditionally on !APPLE_CC
11693 (memset): likewise
11694 (abort): likewise
11695 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
11696 APPLE_CC are defined
11697 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
11698 (grub_assert_fail): make prototype conditional
11699
11700 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
11703
11704 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
11705 grub-macho2img
11706 (CLEANFILES): add grub-macho2img
11707 (grub_macho2img_SOURCES): new variable
11708 * kern/i386/pc/startup.S (bss_start): new variable
11709 (bss_end): likewise
11710 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
11711 * util/grub-macho2img.c: new file
11712
11713 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 Use objconv when compiling with Apple's CC
11716
11717 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
11718 (efiemu64.o): likewise
11719 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
11720 when compiling with Apple's CC
11721 (efiemu64_s.o): likewise
11722 * configure.ac: check for objconv when compiling with Apple's CC
11723 * genmk.rb: use objconv for modules when compiled with Apple's CC
11724
11725 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 Define segment as well as section when compiling with
11728 Apple's CC
11729
11730 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
11731 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
11732 (efiemu_convert_pointer): likewise
11733 (efiemu_set_virtual_address_map): likewise
11734 (efiemu_convert_pointer): likewise
11735 (efiemu_getcrc32): likewise
11736 (init_crc32_table): likewise
11737 (reflect): likewise
11738 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
11739 (GRUB_MOD_DEP): likewise
11740
11741 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 Allow a compilation without -mcmodel=large
11744
11745 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
11746 when compiled without -mcmodel=large
11747 (filter_memory_map): remove memory post 4 GiB when compiled
11748 without -mcmodel=large
11749 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
11750 TARGET_CFLAGS when -mcmodel=large isn't supported
11751
11752 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Remove nested functions in efiemu core
11755
11756 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
11757
11758 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
11761
11762 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
11763 temporary storage
11764 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
11765 using Apple's CC
11766 (grub_cpu_is_tsc_supported): likewise
11767 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
11768
11769 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 Absolute addressing through constant with Apple's cc
11772
11773 * kern/i386/pc/startup.S: Define necessary constants
11774 and address through it when using ABS with Apple's CC
11775 * boot/i386/pc/diskboot.S: likewise
11776 * boot/i386/pc/boot.S: likewise
11777 * boot/i386/pc/lnxboot.S: likewise
11778 * boot/i386/pc/cdboot.S: likewise
11779 * mmap/i386/pc/mmap_helper.S: likewise
11780 * commands/i386/pc/drivemap_int13h.S: likewise
11781
11782 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 Check if compiler is apple cc
11785
11786 * Makefile.in (ASFLAGS): new variable
11787 (TARGET_ASFLAGS): likewise
11788 (TARGET_MODULE_FORMAT): likewise
11789 (TARGET_APPLE_CC): likewise
11790 (OBJCONV): likewise
11791 (TARGET_IMG_CFLAGS): likewise
11792 (TARGET_CPPFLAGS): add includedir
11793 * configure.ac: call grub_apple_cc and grub_apple_target_cc
11794 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
11795 Check for linker script only if compiler isn't Apple's CC
11796 (TARGET_MODULE_FORMAT): set
11797 (TARGET_APPLE_CC): likewise
11798 (TARGET_ASFLAGS): likewise
11799 (ASFLAGS): likewise
11800 Check for objcopy only if compiler isn't Apple's CC
11801 Check for BSS symbol only if compiler isn't Apple's CC
11802 * genmk.rb: adapt nm options if we use Apple's utils
11803 * aclocal.m4 (grub_apple_cc): new test
11804 (grub_apple_target_cc): likewise
11805
11806 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 Simplify sed expressions and improve awk
11809
11810 * Makefile.in (install-local): simplify sed expression
11811 * gencmdlist.sh: likewise
11812 * genmoddep.awk: avoid adding module as a dependency of itself
11813
11814 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 Add missing start symbols
11817
11818 * boot/i386/pc/boot.S: add start
11819 * boot/i386/pc/pxeboot.S: likewise
11820
11821 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 Fix wrong assumptions with grub-mkimage on EFI
11824
11825 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
11826 (relocate_addresses): consider both r_addend and value at offset
11827 (make_mods_section): zerofill modinfo and header
11828 (convert_elf): write prefix here
11829
11830 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Use .asciz instead of .string
11833
11834 * i386/pc/diskboot.S: use .asciz instead of .string
11835 * i386/pc/boot.S: likewise
11836 * include/grub/dl.h (GRUB_MOD_DEP): likewise
11837 (GRUB_MOD_NAME): likewise
11838
11839 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 gfxpayload support
11842
11843 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
11844 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
11845 (grub_video_setup): remove
11846 (grub_video_set_mode): new prototype
11847 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
11848 (vid_mode): remove
11849 (linux_vesafb_res): compile only on PCBIOS
11850 (grub_linux_boot): support gfxpayload
11851 * loader/i386/pc/xnu.c (video_hook): new function
11852 (grub_xnu_set_video): support gfxpayload
11853 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
11854 (DEFAULT_VIDEO_HEIGHT): likewise
11855 (DEFAULT_VIDEO_FLAGS): likewise
11856 (DEFAULT_VIDEO_MODE): new definition
11857 (video_hook): new function
11858 (grub_gfxterm_init): use grub_video_set_mode
11859 * util/grub.d/30_os-prober.in: remove explicit modesetting before
11860 loading xnu
11861 * video/video.c (grub_video_setup): removed
11862 (grub_video_set_mode): new function based on grub_gfxterm_init and
11863 grub_video_setup
11864
11865 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 Avoid calling biosdisk in drivemap
11868
11869 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
11870 (revparse_biosdisk): likewise
11871 (list_mappings): derive name from id directly
11872 (grub_cmd_drivemap): use tryparse_diskstring
11873
11874 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 Script fixes
11877
11878 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
11879 (grub_lexer_param): add tokenonhold
11880 (grub_script_create_cmdline): remove cmdline. All callers updated
11881 (grub_script_function_create): make functionname
11882 grub_script_arg. All callers updated
11883 (grub_script_execute_argument_to_string): new prototype
11884 * kern/parser.c (state_transitions): reorder
11885 (grub_parser_cmdline_state): fix a bug and make more compact
11886 * script/sh/execute.c (grub_script_execute_argument_to_string):
11887 make global
11888 (grub_script_execute_cmdline): use new format
11889 * script/sh/function.c (grub_script_function_create): make functionname
11890 grub_script_arg. All callers updated
11891 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
11892 (grub_script_yylex): remove
11893 (grub_script_yylex2): renamed to ...
11894 (grub_script_yylex): ...renamed
11895 parse the expressions like a${b}c
11896 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
11897 (GRUB_PARSER_TOKEN_VAR): remove
11898 (GRUB_PARSER_TOKEN_NAME): likewise
11899 ("if"): declare as typeless
11900 ("while"): likewise
11901 ("function"): likewise
11902 ("else"): likewise
11903 ("then"): likewise
11904 ("fi"): likewise
11905 (text): remove
11906 (argument): likewise
11907 (script): accept empty scripts and make exit on error
11908 (arguments): use GRUB_PARSER_TOKEN_ARG
11909 (function): likewise
11910 (command): move error handling to script
11911 (menuentry): move grub_script_lexer_ref before
11912 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
11913 argument. All callers updated
11914
11915 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11916
11917 Prevent GRUB from probing floppies during boot.
11918
11919 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11920 * commands/search.c (options): Add --no-floppy.
11921 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11922 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11923 --no-floppy when searching for UUIDs.
11924
11925 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11926
11927 Simplify the code duplication in commands/search.c.
11928
11929 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11930 (search_fs): ... this. Update all users.
11931
11932 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
11933
11934 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11935
11936 2009-05-28 Pavel Roskin <proski@gnu.org>
11937
11938 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11939 Remove the original symlink explicitly.
11940
11941 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11942 just one slash. That's how grub_fshelp_find_file() does it.
11943
11944 2009-05-26 Pavel Roskin <proski@gnu.org>
11945
11946 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11947 to `str'.
11948
11949 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11950 possibly unused.
11951
11952 2009-05-25 Christian Franke <franke@computer.org>
11953
11954 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11955 register.
11956 (grub_atapi_identify): Add wait after drive select.
11957 (grub_ata_identify): Do more strict status register check before
11958 calling grub_atapi_identify (). Suppress error message if status
11959 register is 0x00 after command failure. Add status register
11960 check after PIO read to avoid bogus identify due to stuck DRQ.
11961 Thanks to Pavel Roskin for testing.
11962 (grub_device_initialize): Remove unsafe status register check.
11963 Thanks to 'phcoder' for problem report and patch.
11964 Prevent sign extension in debug message.
11965
11966 2009-05-23 Colin D Bennett <colin@gibibit.com>
11967
11968 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11969 definition file, and functions defined in `normal/menu.c' have had
11970 their prototypes moved to `include/grub/menu.h' for consistency.
11971
11972 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11973 from normal.h.
11974 (grub_menu_get_entry): Likewise.
11975 (grub_menu_get_timeout): Likewise.
11976 (grub_menu_set_timeout): Likewise.
11977 (grub_menu_execute_entry): Likewise.
11978 (grub_menu_execute_with_fallback): Likewise.
11979 (grub_menu_entry_run): Likewise.
11980
11981 * include/grub/normal.h: Re-ordered and grouped function
11982 prototypes by file that the function is defined in.
11983 (grub_menu_execute_callback): Removed; moved to menu.h.
11984 (grub_menu_get_entry): Likewise.
11985 (grub_menu_get_timeout): Likewise.
11986 (grub_menu_set_timeout): Likewise.
11987 (grub_menu_execute_entry): Likewise.
11988 (grub_menu_execute_with_fallback): Likewise.
11989 (grub_menu_entry_run): Likewise.
11990 (grub_menu_addentry): Renamed from this ...
11991 (grub_normal_add_menu_entry): ... to this.
11992
11993 * normal/main.c (grub_menu_addentry): Renamed from this ...
11994 (grub_normal_add_menu_entry): ... to this.
11995
11996 * script/sh/execute.c (grub_script_execute_menuentry): Update
11997 reference to renamed grub_menu_addentry function.
11998
11999 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12000
12001 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12002
12003 2009-05-22 Pavel Roskin <proski@gnu.org>
12004
12005 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12006 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12007 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12008 compiling for the i386 targets, but not for the utilities.
12009
12010 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12011 to grub_uint8_t.
12012 (grub_root_drive): Likewise.
12013 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12014 remove alignment.
12015 (grub_root_drive): Change size to byte.
12016 (grub_start_addr): Remove.
12017 (grub_end_addr): Likewise.
12018 (grub_apm_bios_info): Likewise.
12019
12020 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12021
12022 * normal/i386: Remove.
12023 * normal/powerpc: Likewise.
12024 * normal/sparc64: Likewise.
12025 * normal/x86_64: Likewise.
12026
12027 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12030 * loader/i386/linux_trampoline.S: Fix indentation
12031 * loader/i386/xnu_helper.S: Likewise
12032
12033 2009-05-18 Colin D Bennett <colin@gibibit.com>
12034
12035 Display error messages when parsing a Lua statement fails.
12036 Previously, executing a syntactically invalid statement like
12037 ")foo" or "bar;" would silently fail.
12038
12039 * script/lua/grub_main.c (handle_lua_error): New function.
12040 (grub_lua_parse_line): Improved reporting of Lua parser and
12041 execution errors.
12042
12043 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 Remove -Werror which causes build to fail on some systems
12046
12047 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12048 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12049 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12050
12051 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 trampoline for linux on 64-bit platform
12054
12055 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12056 loader/i386/efi/linux_trampoline.S
12057 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12058 declaration
12059 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12060 here
12061 * loader/i386/linux_trampoline.S: moved here
12062 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12063 trampoline
12064 (jumpvector): removed
12065 (grub_linux_trampoline_start): new declaration
12066 (grub_linux_trampoline_end): likewise
12067 (grub_linux_boot): use trampoline when on 64-bit platform
12068 * loader/i386/linux.c: likewise
12069
12070 2009-05-16 Pavel Roskin <proski@gnu.org>
12071
12072 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12073 const to avoid a warning.
12074 (grub_lua_setenv): Likewise.
12075 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12076 lmsg to fix a warning.
12077
12078 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12079
12080 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12081 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12082 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12083 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12084 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12085 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12086 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12087 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12088
12089 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12090
12091 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12092
12093 2009-05-16 Bean <bean123ch@gmail.com>
12094
12095 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12096 (lua_mod_SOURCES): New variable.
12097 (lua_mod_CFLAGS): Likewise.
12098 (lua_mod_LDFLAGS): Likewise.
12099
12100 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
12101 (setjmp_mod_SOURCES): New variable.
12102 (setjmp_mod_CFLAGS): Likewise.
12103 (setjmp_LDFLAGS): Likewise.
12104
12105 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
12106 (setjmp_mod_SOURCES): New variable.
12107 (setjmp_mod_CFLAGS): Likewise.
12108 (setjmp_LDFLAGS): Likewise.
12109
12110 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12111 (setjmp_mod_SOURCES): New variable.
12112 (setjmp_mod_CFLAGS): Likewise.
12113 (setjmp_LDFLAGS): Likewise.
12114
12115 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
12116 (setjmp_mod_SOURCES): New variable.
12117 (setjmp_mod_CFLAGS): Likewise.
12118 (setjmp_LDFLAGS): Likewise.
12119
12120 * normal/i386/setjmp.S: Moved from here ...
12121 * lib/i386/setjmp.S: ... Moved here
12122 * normal/x86_64/setjmp.S: Moved from here ...
12123 * lib/x86_64/setjmp.S: ... Moved here
12124 * normal/powerpc/setjmp.S: Moved from here ...
12125 * lib/powerpc/setjmp.S: ... Moved here
12126 * normal/sparc64/setjmp.S: Moved from here ...
12127 * lib/sparc64/setjmp.S: ... Moved here
12128
12129 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
12130 returns_twice in mingw.
12131
12132 * script/lua/grub_lib.c: New file.
12133 * script/lua/grub_lib.h: Likewise.
12134 * script/lua/grub_lua.h: Likewise.
12135 * script/lua/grub_main.c: Likewise.
12136 * script/lua/lapi.c: Likewise.
12137 * script/lua/lapi.h: Likewise.
12138 * script/lua/lauxlib.c: Likewise.
12139 * script/lua/lauxlib.h: Likewise.
12140 * script/lua/lbaselib.c: Likewise.
12141 * script/lua/lcode.c: Likewise.
12142 * script/lua/lcode.h: Likewise.
12143 * script/lua/ldblib.c: Likewise.
12144 * script/lua/ldebug.c: Likewise.
12145 * script/lua/ldebug.h: Likewise.
12146 * script/lua/ldo.c: Likewise.
12147 * script/lua/ldo.h: Likewise.
12148 * script/lua/ldump.c: Likewise.
12149 * script/lua/lfunc.c: Likewise.
12150 * script/lua/lfunc.h: Likewise.
12151 * script/lua/lgc.c: Likewise.
12152 * script/lua/lgc.h: Likewise.
12153 * script/lua/linit.c: Likewise.
12154 * script/lua/liolib.c: Likewise.
12155 * script/lua/llex.c: Likewise.
12156 * script/lua/llex.h: Likewise.
12157 * script/lua/llimits.h: Likewise.
12158 * script/lua/lmathlib.c: Likewise.
12159 * script/lua/lmem.c: Likewise.
12160 * script/lua/lmem.h: Likewise.
12161 * script/lua/loadlib.c: Likewise.
12162 * script/lua/lobject.c: Likewise.
12163 * script/lua/lobject.h: Likewise.
12164 * script/lua/lopcodes.c: Likewise.
12165 * script/lua/lopcodes.h: Likewise.
12166 * script/lua/loslib.c: Likewise.
12167 * script/lua/lparser.c: Likewise.
12168 * script/lua/lparser.h: Likewise.
12169 * script/lua/lstate.c: Likewise.
12170 * script/lua/lstate.h: Likewise.
12171 * script/lua/lstring.c: Likewise.
12172 * script/lua/lstring.h: Likewise.
12173 * script/lua/lstrlib.c: Likewise.
12174 * script/lua/ltable.c: Likewise.
12175 * script/lua/ltable.h: Likewise.
12176 * script/lua/ltablib.c: Likewise.
12177 * script/lua/ltm.c: Likewise.
12178 * script/lua/ltm.h: Likewise.
12179 * script/lua/lua.h: Likewise.
12180 * script/lua/luaconf.h: Likewise.
12181 * script/lua/lualib.h: Likewise.
12182 * script/lua/lundump.c: Likewise.
12183 * script/lua/lundump.h: Likewise.
12184 * script/lua/lvm.c: Likewise.
12185 * script/lua/lvm.h: Likewise.
12186 * script/lua/lzio.c: Likewise.
12187 * script/lua/lzio.h: Likewise.
12188
12189 2009-05-16 Bean <bean123ch@gmail.com>
12190
12191 * include/grub/kernel.h (grub_module_header_types): Add type
12192 OBJ_TYPE_CONFIG.
12193
12194 * kern/main.c (grub_load_config): New function.
12195 (grub_main): Call grub_load_config to read boot config.
12196
12197 * grub-mkimage (generate_image): New parameter config_path.
12198 (options): New option --config.
12199 (main): Parse --config option, and pass it to generate_image.
12200
12201 2009-05-14 Christian Franke <franke@computer.org>
12202
12203 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
12204 This fixes build on Cygwin.
12205
12206 2009-05-14 Pavel Roskin <proski@gnu.org>
12207
12208 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
12209 jump. This saves two bytes, so the typical case of 2 swapped
12210 drives would fit 32 bytes.
12211
12212 2009-05-13 Pavel Roskin <proski@gnu.org>
12213
12214 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
12215 grub_uint32_t to avoid a warning.
12216
12217 * loader/i386/linux.c (allocate_pages): When assigning
12218 real_mode_mem, cast through grub_size_t to fix a warning. The
12219 code already makes sure that the value would fit a pointer.
12220 (grub_linux_setup_video): Cast render_target->data to
12221 grub_size_t to fix a warning.
12222
12223 2009-05-13 Javier Martín <lordhabbit@gmail.com>
12224
12225 * commands/i386/pc/drivemap.c: New file - implement drivemap
12226 command.
12227 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
12228 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
12229
12230 2009-05-13 Pavel Roskin <proski@gnu.org>
12231
12232 * util/i386/pc/grub-setup.c (setup): Remove unused variable
12233 embedding_area_exists.
12234
12235 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
12236
12237 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
12238 it easier to understand / work with.
12239 Improve warning messages for cases where there's no embedding area,
12240 or when it is too small (or core.img too large).
12241
12242 2009-05-13 Pavel Roskin <proski@gnu.org>
12243
12244 * loader/i386/pc/multiboot2.c: Add necessary includes for
12245 grub_multiboot2_real_boot().
12246
12247 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
12248 PX record is always little-endian. We only need the lower 2
12249 bytes of the mode.
12250
12251 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
12252 facilitate code reuse.
12253 (grub_cpio_mount): Use "struct head", not a char buffer. This
12254 fixes a warning reported by gcc 4.4.
12255
12256 * kernel/disk.c (grub_disk_read): Use void pointer for the
12257 buffer.
12258 (grub_disk_write): Use const void pointer for the buffer.
12259 Adjust all callers. Remove unnecessary casts.
12260
12261 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
12262
12263 * util/i386/pc/grub-install.in: Update copyright year.
12264
12265 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 gptsync
12268
12269 * commands/gptsync.c: new file
12270 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
12271 (gptsync_mod_SOURCES): new variable
12272 (gptsync_mod_CFLAGS): likewise
12273 (gptsync_mod_LDFLAGS): likewise
12274 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
12275 new definition
12276 (GRUB_PC_PARTITION_TYPE_HFS): likewise
12277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
12278 * conf/i386-ieee1275.rmk: likewise
12279 * conf/i386-pc.rmk: likewise
12280 * conf/powerpc-ieee1275.rmk: likewise
12281
12282 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Fixed grub-emu
12285
12286 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
12287 (grub_dl_ref): likewise
12288
12289 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
12290
12291 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
12292 split in two functions (one for msdos and one for gpt).
12293
12294 2009-05-08 Pavel Roskin <proski@gnu.org>
12295
12296 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
12297 not modified.
12298
12299 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
12300 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
12301 Initialize them with -1. Add sanity check for bad1. Eliminate
12302 nerr variable.
12303
12304 2009-05-08 David S. Miller <davem@davemloft.net>
12305
12306 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
12307
12308 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
12309
12310 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
12311 existence.
12312
12313 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
12314
12315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
12316 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
12317
12318 2009-05-05 David S. Miller <davem@davemloft.net>
12319
12320 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
12321
12322 2009-05-05 Pavel Roskin <proski@gnu.org>
12323
12324 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
12325 of grub_dl_ref() and grub_dl_unref().
12326 * commands/parttool.c: Remove preprocessor conditionals around
12327 grub_dl_ref() and grub_dl_unref().
12328 * fs/affs.c: Likewise.
12329 * fs/afs.c: Likewise.
12330 * fs/cpio.c: Likewise.
12331 * fs/ext2.c: Likewise.
12332 * fs/fat.c: Likewise.
12333 * fs/hfs.c: Likewise.
12334 * fs/hfsplus.c: Likewise.
12335 * fs/iso9660.c: Likewise.
12336 * fs/jfs.c: Likewise.
12337 * fs/minix.c: Likewise.
12338 * fs/ntfs.c: Likewise.
12339 * fs/reiserfs.c: Likewise.
12340 * fs/sfs.c: Likewise.
12341 * fs/udf.c: Likewise.
12342 * fs/ufs.c: Likewise.
12343 * fs/xfs.c: Likewise.
12344 * include/grub/dl.h: Likewise.
12345 * loader/xnu.c: Likewise.
12346
12347 2009-05-04 Pavel Roskin <proski@gnu.org>
12348
12349 * commands/acpi.c: Remove unused variable my_mod.
12350 * partmap/amiga.c: Likewise.
12351 * partmap/apple.c: Likewise.
12352 * partmap/gpt.c: Likewise.
12353 * partmap/pc.c: Likewise.
12354 * partmap/sun.c: Likewise.
12355 * term/gfxterm.c: Likewise.
12356 * term/i386/pc/vesafb.c: Likewise.
12357 * term/i386/pc/vga.c: Likewise.
12358
12359 2009-05-04 David S. Miller <davem@davemloft.net>
12360
12361 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
12362 pointer args to grub_ieee1275_get_property().
12363
12364 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
12365
12366 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
12367 devices, and do not traverse down under controller nodes.
12368
12369 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
12370 (grub_ofdisk_open): Use it to un-escape "," characters.
12371 * kern/disk.c (find_part_sep): New.
12372 (grub_disk_open): Use it to find the first non-escaped ','
12373 character in the disk name.
12374 * util/ieee1275/devicemap.c (escape_of_path): New.
12375 (grub_util_emit_devicemap_entry): Use it.
12376 * util/sparc64/ieee1275/grub-install.in: Update script to
12377 strip partition specifiers properly by not triggering on
12378 '\' escaped ',' characters.
12379
12380 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12381
12382 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
12383 to 0x300.
12384 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
12385 resolutions.
12386 (linux_vesafb_modes): Add a lot of additional modes to the list (based
12387 on documentation from Wikipedia).
12388
12389 2009-05-04 Pavel Roskin <proski@gnu.org>
12390
12391 * disk/ata.c: Spelling fixes.
12392 * disk/raid.c: Likewise.
12393 * disk/usbms.c: Likewise.
12394 * disk/dmraid_nvidia.c: Likewise.
12395 * kern/ieee1275/openfw.c: Likewise.
12396 * kern/ieee1275/init.c: Likewise.
12397 * kern/ieee1275/cmain.c: Likewise.
12398 * boot/i386/pc/cdboot.S: Likewise.
12399 * video/readers/png.c: Likewise.
12400 * video/i386/pc/vbe.c: Likewise.
12401 * fs/udf.c: Likewise.
12402 * fs/hfs.c: Likewise.
12403 * fs/reiserfs.c: Likewise.
12404 * efiemu/runtime/efiemu.c: Likewise.
12405 * efiemu/main.c: Likewise.
12406 * efiemu/mm.c: Likewise.
12407 * include/grub/elf.h: Likewise.
12408 * include/grub/xnu.h: Likewise.
12409 * include/grub/usbdesc.h: Likewise.
12410 * include/grub/usb.h: Likewise.
12411 * include/grub/script_sh.h: Likewise.
12412 * include/grub/lib/LzmaEnc.h: Likewise.
12413 * include/grub/efiemu/efiemu.h: Likewise.
12414 * include/grub/command.h: Likewise.
12415 * normal/menu.c: Likewise.
12416 * normal/main.c: Likewise.
12417 * normal/datetime.c: Likewise.
12418 * bus/usb/uhci.c: Likewise.
12419 * mmap/i386/uppermem.c: Likewise.
12420 * mmap/mmap.c: Likewise.
12421 * commands/acpi.c: Likewise.
12422 * commands/test.c: Likewise.
12423 * partmap/apple.c: Likewise.
12424 * font/font.c: Likewise.
12425 * loader/sparc64/ieee1275/linux.c: Likewise.
12426 * loader/macho.c: Likewise.
12427 * loader/i386/bsd_trampoline.S: Likewise.
12428 * loader/i386/bsd.c: Likewise.
12429 * loader/xnu.c: Likewise.
12430 * term/i386/pc/vesafb.c: Likewise.
12431 * term/usb_keyboard.c: Likewise.
12432 * util/resolve.c: Likewise.
12433 * util/getroot.c: Likewise.
12434
12435 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12436
12437 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
12438
12439 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12440
12441 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
12442 build error.
12443
12444 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12445
12446 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
12447 parameter only available on BIOS.
12448
12449 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Removed wrong semicolon in declaration
12452
12453 * grub/misc.h (grub_dprintf): remove semicolon
12454
12455 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12456
12457 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
12458 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
12459 is done by grub_cmd_linux() now).
12460 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
12461 restore video to text mode.
12462 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
12463 indicates lack of "vga=" parameter. "vga=0" is mapped to
12464 `GRUB_LINUX_VID_MODE_NORMAL'.
12465
12466 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
12467
12468 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
12469 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
12470 and `normal/script.c'. Add `kern/rescue_reader.c',
12471 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
12472 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
12473 `grub_script.tab.c'.
12474
12475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12476 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12479 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12480
12481 * Makefile.in: Remove duplicated 2008 in Copyright line.
12482
12483 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
12484
12485 * util/misc.c (grub_util_warn): New function. Emits a warning
12486 unconditionally.
12487 * include/grub/util/misc.h (grub_util_warn): New declaration.
12488
12489 * util/i386/pc/grub-install.in: Understand --force and pass it down
12490 to grub-setup.
12491
12492 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
12493 down to setup().
12494 (setup): Improve error messages and add warnings when requested to
12495 install in odd layouts. Refuse to install using blocklists unless
12496 --force was set.
12497
12498 2009-05-04 martin f. krafft <madduck@madduck.net>
12499
12500 * disk/raid.c (grub_raid_scan_device): Improve debug message.
12501
12502 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 Updated copyright year
12505
12506 * fs/hfsplus.c: updated copyright year
12507
12508 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 HFS+ UUID
12511
12512 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
12513 in the space previously used by unused3
12514 (grub_hfsplus_uuid): new function
12515 (grub_hfsplus_fs): added uuid field
12516
12517 2009-05-03 Pavel Roskin <proski@gnu.org>
12518
12519 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
12520 suppress warnings. It's no longer needed.
12521 * disk/host.c: Likewise.
12522 * disk/ata_pthru.c: Likewise.
12523 * disk/loopback.c: Likewise.
12524 * hook/datehook.c: Likewise.
12525 * parttool/pcpart.c: Likewise.
12526 * fs/i386/pc/pxe.c: Likewise.
12527 * fs/ntfscomp.c: Likewise.
12528 * efiemu/main.c: Likewise.
12529 * mmap/mmap.c: Likewise.
12530 * commands/crc.c: Likewise.
12531 * commands/hexdump.c: Likewise.
12532 * commands/hdparm.c: Likewise.
12533 * commands/acpi.c: Likewise.
12534 * commands/echo.c: Likewise.
12535 * commands/minicmd.c: Likewise.
12536 * commands/blocklist.c: Likewise.
12537 * commands/memrw.c: Likewise.
12538 * commands/loadenv.c: Likewise.
12539 * commands/usbtest.c: Likewise.
12540 * commands/lsmmap.c: Likewise.
12541 * commands/boot.c: Likewise.
12542 * commands/parttool.c: Likewise.
12543 * commands/configfile.c: Likewise.
12544 * commands/search.c: Likewise.
12545 * commands/ieee1275/suspend.c: Likewise.
12546 * commands/cat.c: Likewise.
12547 * commands/i386/pc/pxecmd.c: Likewise.
12548 * commands/i386/pc/play.c: Likewise.
12549 * commands/i386/pc/halt.c: Likewise.
12550 * commands/i386/pc/vbeinfo.c: Likewise.
12551 * commands/i386/pc/vbetest.c: Likewise.
12552 * commands/lspci.c: Likewise.
12553 * commands/date.c: Likewise.
12554 * commands/handler.c: Likewise.
12555 * commands/ls.c: Likewise.
12556 * commands/test.c: Likewise.
12557 * commands/cmp.c: Likewise.
12558 * commands/efi/loadbios.c: Likewise.
12559 * commands/efi/fixvideo.c: Likewise.
12560 * commands/halt.c: Likewise.
12561 * commands/help.c: Likewise.
12562 * commands/reboot.c: Likewise.
12563 * hello/hello.c: Likewise.
12564 * script/sh/main.c: Likewise.
12565 * loader/xnu.c: Likewise.
12566 * term/terminfo.c: Likewise.
12567 * term/i386/pc/serial.c: Likewise.
12568 * term/usb_keyboard.c: Likewise.
12569
12570 2009-05-03 David S. Miller <davem@davemloft.net>
12571
12572 * normal/menu.c: Include grub/parser.h
12573
12574 2009-05-03 Pavel Roskin <proski@gnu.org>
12575
12576 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
12577 not char*.
12578 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
12579 Suggested by Javier Martín <lordhabbit@gmail.com>
12580
12581 * util/i386/pc/grub-mkrescue.in: Allow for the case when
12582 efiemu??.o doesn't exist.
12583 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
12584 copying.
12585
12586 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 FreeBSD 64-bit support
12589
12590 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
12591 and loader/i386/bsd_trampoline.S
12592 (bsd_mod_ASFLAGS): new variable
12593 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
12594 (FREEBSD_MODTYPE_KERNEL64): likewise
12595 (grub_bsd64_trampoline_start): likewise
12596 (grub_bsd64_trampoline_end): likewise
12597 (grub_bsd64_trampoline_selfjump): likewise
12598 (grub_bsd64_trampoline_gdt): likewise
12599 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
12600 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
12601 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
12602 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
12603 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
12604 of "attrib" member
12605 * loader/i386/bsd_pagetable.c: new file
12606 * loader/i386/bsd_trampoline.S: likewise
12607 * loader/i386/bsd.c (ALIGN_QWORD): new macro
12608 (ALIGN_VAR): likewise
12609 (entry_hi): new variable
12610 (kern_end_mdofs): likewise
12611 (is_64bit): likewise
12612 (grub_freebsd_add_meta): use ALIGN_VAR
12613 (grub_e820_mmap): new declaration
12614 (grub_freebsd_add_mmap): new function
12615 (grub_freebsd_add_meta_module): support 64 bit kernels
12616 (grub_freebsd_list_modules): use ALIGN_VAR
12617 (gdt_descriptor): new declaration
12618 (grub_freebsd_boot): support 64 bit kernels
12619 (grub_bsd_elf64_hook): new function
12620 (grub_bsd_load_elf): support elf64
12621
12622 2009-05-03 Bean <bean123ch@gmail.com>
12623
12624 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
12625 after we get the result of if statement.
12626
12627 2009-05-03 Bean <bean123ch@gmail.com>
12628
12629 * Makefile.in (enable_efiemu): New variable.
12630
12631 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
12632 set.
12633 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
12634 path.
12635 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
12636 path, add -mno-red-zone option.
12637 (efiemu64_s.o): Likewise.
12638 (efiemu64.o): Use macro $^ for source file.
12639
12640 * configure.ac (--enable-efiemu): New option.
12641
12642 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 xnu support
12645
12646 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
12647 (pkglib_MODULES): add xnu.mod
12648 (xnu_mod_SOURCES): new variable
12649 (xnu_mod_CFLAGS): likewise
12650 (xnu_mod_LDFLAGS): likewise
12651 (xnu_mod_ASFLAGS): likewise
12652 * conf/i386-pc.rmk: likewise
12653 * conf/x86_64-efi.rmk: likewise
12654 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
12655 new declaration
12656 * include/grub/i386/macho.h: new file
12657 * include/grub/i386/xnu.h: likewise
12658 * include/grub/macho.h: likewise
12659 * include/grub/machoload.h: likewise
12660 * include/grub/x86_64/macho.h: likewise
12661 * include/grub/x86_64/xnu.h: likewise
12662 * include/grub/xnu.h: likewise
12663 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
12664 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
12665 * loader/i386/efi/xnu.c: new file
12666 * loader/i386/pc/xnu.c: likewise
12667 * loader/i386/xnu.c: likewise
12668 * loader/i386/xnu_helper.S: likewise
12669 * loader/macho.c: likewise
12670 * loader/xnu.c: likewise
12671 * loader/xnu_resume.c: likewise
12672 * util/grub-dumpdevtree: likewise
12673 * include/grub/i386/pit.h: include grub/err.h
12674 (grub_pit_wait): export
12675 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
12676
12677 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Efiemu
12680
12681 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
12682 _linux_efi, linux_efi.
12683 new files in grub-emu
12684 new targets efiemu32.o and efiemu64.o
12685 * loader/linux_normal_efiemu.c: likewise
12686 * loader/i386/efi/linux.c: added preliminary efiemu support
12687 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
12688 files to copy
12689 * include/grub/autoefi.h: new file
12690 * include/grub/i386/efiemu.h: likewise
12691 * include/grub/i386/pc/efiemu.h: likewise
12692 * include/grub/efi/api.h: add LL suffix when necessary
12693 new definitions relating to tables
12694 * include/grub/efiemu/efiemu.h: new file
12695 * include/grub/efiemu/runtime.h: likewise
12696 * efiemu/prepare.c: likewise
12697 * efiemu/loadcore_common.c: likewise
12698 * efiemu/loadcore64.c: likewise
12699 * efiemu/runtime/efiemu.sh: likewise
12700 * efiemu/runtime/efiemu.S: likewise
12701 * efiemu/runtime/efiemu.c: likewise
12702 * efiemu/runtime/config.h: likewise
12703 * efiemu/prepare32.c: likewise
12704 * efiemu/main.c: likewise
12705 * efiemu/modules/pnvram.c: likewise
12706 * efiemu/modules/i386: likewise
12707 * efiemu/modules/i386/pc: likewise
12708 * efiemu/modules/acpi.c: likewise
12709 * efiemu/i386/pc/cfgtables.c: likewise
12710 * efiemu/i386/loadcore64.c: likewise
12711 * efiemu/i386/loadcore32.c: likewise
12712 * efiemu/prepare64.c: likewise
12713 * efiemu/loadcore.c: likewise
12714 * efiemu/symbols.c: likewise
12715 * efiemu/mm.c: likewise
12716 * efiemu/loadcore32.c: likewise
12717
12718 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 ACPI spoofing
12721
12722 * commands/acpi.c: new file
12723 * commands/i386/pc/acpi.c: likewise
12724 * commands/efi/acpi.c: likewise
12725 * include/grub/acpi.h: likewise
12726 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
12727 (acpi_mod_SOURCES): new variable
12728 (acpi_mod_CFLAGS): likewise
12729 (acpi_mod_LDFLAGS): likewise
12730 * conf/i386-efi.rmk: likewise
12731 * conf/x86_64-efi.rmk: likewise
12732
12733 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 Missing part from mmap patch
12736
12737 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
12738 (grub_mmap_unregister)
12739 (grub_mmap_free_and_unregister): use grub_mmap_register
12740
12741 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 Mmap services
12744
12745 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
12746 * loader/i386/linux.c (find_mmap_size): likewise
12747 (allocate_pages): likewise
12748 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
12749 (grub_fill_multiboot_mmap): likewise
12750 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
12751 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
12752 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
12753 (OPENBSD_MMAP_RESERVED): likewise
12754 * include/grub/i386/pc/memory.h: include grub/memory.h
12755 (grub_lower_mem): removed
12756 (grub_upper_mem): likewise
12757 (GRUB_MACHINE_MEMORY_ACPI): new definition
12758 (GRUB_MACHINE_MEMORY_NVS): likewise
12759 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
12760 (GRUB_MACHINE_MEMORY_HOLE): likewise
12761 (grub_machine_mmap_register): likewise
12762 (grub_machine_mmap_unregister): likewise
12763 (grub_machine_get_upper): likewise
12764 (grub_machine_get_lower): likewise
12765 (grub_machine_get_post64): likewise
12766 * include/grub/i386/efi/memory.h: new file
12767 * include/grub/x86_64/efi/memory.h: likewise
12768 * include/grub/efi/memory.h: likewise
12769 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
12770 (mmap_mod_SOURCES): new variable
12771 (mmap_mod_LDFLAGS): likewise
12772 (mmap_mod_ASFLAGS): likewise
12773 * conf/i386-coreboot.rmk: likewise
12774 * conf/i386-ieee1275.rmk: likewise
12775 * conf/i386-efi.rmk: likewise
12776 * conf/x86_64-efi.rmk: likewise
12777 * include/grub/types.h (UINT_TO_PTR): new macro
12778 (PTR_TO_UINT32): likewise
12779 (PTR_TO_UINT64): likewise
12780 * include/grub/memory.h: new file
12781 * mmap/i386/pc/mmap.c: likewise
12782 * mmap/i386/pc/mmap_helper.S: likewise
12783 * mmap/i386/uppermem.c: likewise
12784 * mmap/mmap.c: likewise
12785 * mmap/efi/mmap.c: likewise
12786 * kern/i386/coreboot/init.c (grub_machine_init): don't use
12787 grub_upper_mem
12788 * kern/i386/pc/init.c (grub_lower_mem): removed variable
12789 (grub_upper_mem): likewise
12790 (grub_machine_init): don't use grub_upper_mem,
12791 make grub_lower_mem local
12792 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
12793 grub_mmap_iterate and grub_mmap_get_upper
12794 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
12795
12796 2009-05-02 Bean <bean123ch@gmail.com>
12797
12798 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
12799 script/sh/parser.y.
12800 (pkglib_MODULES): Add normal.mod and sh.mod.
12801 (normal_SOURCES): New variable.
12802 (normal_mod_CFLAGS): Likewise.
12803 (normal_mod_LDFLAGS): Likewise.
12804 (sh_mod_SOURCES): Likewise.
12805 (sh_mod_CFLAGS): Likewise.
12806 (sh_mod_LDFLAGS): Likewise.
12807
12808 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
12809 script/sh/lexer.c_DEPENDENCIES.
12810 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
12811 kern/rescue_reader.c and kern/rescue_parser.c.
12812 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
12813 (grub_emu_SOURCES): Change source files.
12814 (pkglib_MODULES): Remove normal.mod.
12815 (normal_SOURCES): Removed.
12816 (normal_mod_CFLAGS): Likewise.
12817 (normal_mod_LDFLAGS): Likewise.
12818 * conf/i386-coreboot.rmk: Likewise.
12819 * conf/i386-efi.rmk: Likewise.
12820 * conf/i386-ieee1276.rmk: Likewise.
12821 * conf/powerpc-ieee1275.rmk: Likewise.
12822 * conf/sparc64-ieee1275.rmk: Likewise.
12823 * conf/x86_64-efi.rmk: Likewise.
12824
12825 * include/grub/command.h (grub_command_execute): New inline function.
12826
12827 * include/grub/menu.h (grub_menu_entry): Removed commands field.
12828
12829 * include/grub/normal.h: Remove <grub/setjmp.h>.
12830 (grub_fs_module_list): Moved to normal/autofs.c.
12831 (grub_exit_env): Removed.
12832 (grub_command_execute): Likewise.
12833 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
12834 parameter script.
12835 (read_command_list): New function declaration.
12836 (read_fs_list): Likewise.
12837
12838 * include/parser.h: Include <grub/reader.h>.
12839 (grub_parser_split_cmdline): Change type of getline parameter.
12840 (grub_parser): New structure.
12841 (grub_parser_class): New variable.
12842 (grub_parser_execute): New function declaration.
12843 (grub_register_rescue_parser): Likewise.
12844 (grub_parser_register): New inline function.
12845 (grub_parser_unregister): Likewise.
12846 (grub_parser_get_current): Likewise.
12847 (grub_parser_set_current): Likewise.
12848
12849 * include/grub/reader.h: New file.
12850 * kern/reader.c: Likewise.
12851 * kern/rescue_parser.c: Likewise.
12852 * kern/rescue_reader.c: Likewise.
12853 * normal/autofs.c: Likewise.
12854 * normal/dyncmd.c: Likewise.
12855
12856 * include/grub/rescue.h: Removed.
12857 * normal/command.h: Likewise.
12858
12859 * include/grub/script.h: Moved to ...
12860 * include/grub/script_sh.h: ... Moved here.
12861 * normal/execute.c: Moved to ...
12862 * script/sh/execute.c: ... Moved here.
12863 * normal/function.c: Moved to ...
12864 * script/sh/function.c: ... Moved here.
12865 * normal/lexer.c: Moved to ...
12866 * script/sh/lexer.c: ... Moved here.
12867 * normal/parser.y: Moved to ...
12868 * script/sh/parser.y: ... Moved here.
12869 * normal/script.c: Moved to ...
12870 * script/sh/script.c: ... Moved here.
12871
12872 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
12873 <grub/reader.h>.
12874 (grub_exit_env): Removed.
12875 (fs_module_list): Moved to normal/autofs.c.
12876 (grub_file_getline): Don't handle comment here.
12877 (free_menu): Skip removed field entry->commands.
12878 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
12879 script parameter.
12880 (read_config_file): Removed nested parameter, change getline function.
12881 (grub_enter_normal_mode): Removed.
12882 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
12883 (read_command_list): Likewise.
12884 (autoload_fs_module): Moved to normal/autofs.c.
12885 (read_fs_list): Likewise.
12886 (reader_nested): New variable.
12887 (grub_normal_execute): Run parser.sh to switch to sh parser.
12888 (grub_cmd_rescue): Removed.
12889 (cmd_normal): Removed.
12890 (grub_cmd_normal): Unregister itself at the beginning. Don't register
12891 rescue command.
12892 (grub_cmdline_run): New function.
12893 (grub_normal_reader_init): Likewise.
12894 (grub_normal_read_line): Likewise.
12895 (grub_env_write_pager): Likewise.
12896 (cmdline): New variable.
12897 (grub_normal_reader): Likewise.
12898 (GRUB_MOD_INIT): Register normal reader and set as current, register
12899 pager hook, register normal command with grub_register_command_prio,
12900 so that it won't show up in command.lst.
12901 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
12902 grub_fs_autoload_hook.
12903
12904 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
12905 (grub_menu_execute_entry): Replace grub_script_execute with
12906 grub_parser_execute, change parameter to grub_command_execute.
12907
12908 * normal/menu_text.c: Remove <grub/script.h>.
12909
12910 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12911 and <grub/parser.h>.
12912 (run): Change editor_getline to use new parser interface. Change
12913 parameter to grub_command_execute.
12914
12915 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12916 <grub/reader.h> and <grub/parser.h>.
12917 (grub_load_normal_mode): Execute normal command.
12918 (grub_main): Call grub_register_core_commands,
12919 grub_register_rescue_parser and grub_register_rescue_reader, use
12920 grub_reader_loop to enter input loop.
12921
12922 * kern/parser.c (grub_parser_split_cmdline): Change type of
12923 getline parameter.
12924 (grub_parser_class): New variable.
12925 (grub_parser_execute): New function.
12926
12927 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12928 * loader/multiboot2.c: Likewise.
12929 * loader/sparc64/ieee1275/linux.c: Likewise.
12930
12931 * util/grub-emu.c (read_command_list): New dummy function.
12932
12933 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12934
12935 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12936 count to 16 for CCISS and IDA.
12937
12938 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12939
12940 * normal/menu_text.c (grub_wait_after_message): Print a newline
12941 after waiting for user input.
12942
12943 * loader/i386/linux.c: Include `<grub/normal.h>'.
12944 (grub_cmd_linux): Improve the error message about `ask' mode, by
12945 waiting for user input so it's not missed (we can do this, since
12946 user requested interaction).
12947
12948 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 Added missing lst to grub-mkrescue
12951
12952 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12953 and ${input_dir}/parttool.lst
12954
12955 2009-04-30 David S. Miller <davem@davemloft.net>
12956
12957 * util/hostdisk.c (device_is_wholedisk): New function.
12958 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12959 zero only if device_is_wholedisk() returns true.
12960
12961 * util/hostdisk.c (convert_system_partition_to_system_disk):
12962 Handle virtual disk devices named /dev/vdiskX as found on sparc
12963 and powerpc.
12964
12965 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12966 lettered partition specifier is found, convert to numbered.
12967
12968 2009-04-29 David S. Miller <davem@davemloft.net>
12969
12970 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12971 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12972
12973 * normal/command.c: Add missing newline at end of file.
12974
12975 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12976 warnings.
12977 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12978 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12979 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12980 ihandles have a 32-bit type but need to be stored in a "void *".
12981
12982 2009-04-28 Pavel Roskin <proski@gnu.org>
12983
12984 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12985 not disk. Adjust all dependencies.
12986 (grub_fs_uuid_close): Use grub_device_close(), not
12987 grub_disk_close().
12988
12989 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12990 parent's partition, don't copy it by reference, as it gets freed
12991 on close.
12992
12993 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Preboot hooks support
12996
12997 * commands/boot.c (struct grub_preboot_t): new declaration
12998 (preboots_head): new variable
12999 (preboots_tail): likewise
13000 (grub_loader_register_preboot_hook): new function
13001 (grub_loader_unregister_preboot_hook): likewise
13002 (grub_loader_set): launch preboot hooks
13003 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13004 (grub_loader_register_preboot_hook): new declaration
13005 (grub_loader_unregister_preboot_hook): likewise
13006
13007 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 Warning fix
13010
13011 * disk/scsi.c (grub_scsi_open): added missing cast when
13012 calling grub_dprintf
13013
13014 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 Bug and warning fixes
13017
13018 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13019 declaration
13020 * commands/test.c (test_parse): fixed bug with file tests and corrected
13021 declaration of find_file
13022
13023 2009-04-26 Pavel Roskin <proski@gnu.org>
13024
13025 * Makefile.in: Don't install empty manual pages if help2man is
13026 missing. Use help2man option for output, not shell redirection.
13027
13028 2009-04-26 David S. Miller <davem@davemloft.net>
13029
13030 * util/grub-mkdevicemap.c (make_device_map): Add missing
13031 NESTED_FUNC_ATTR to process_device().
13032
13033 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Test command
13036
13037 * commands/test.c: rewritten to use bash-like test
13038
13039 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 Parttool autoloading and improvements
13042
13043 * Makefile.in (pkglib_DATA): add parttool.lst
13044 (parttool.lst): new target
13045 * genmk.rb: generate parttool-*
13046 (CLEANFILES): add #{parttool}
13047 (PARTTOOLFILES): new variable
13048 * genparttoollist.sh: new file
13049 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13050 (grub_pcpart_type): likewise
13051 * commands/parttool.c (helpmsg): new variable
13052 (grub_cmd_parttool): output help if not enough arguments are supplied
13053 autoload modules
13054 (GRUB_MOD_INIT(parttool)): use helpmsg
13055
13056 2009-04-24 David S. Miller <davem@davemloft.net>
13057
13058 Avoiding opening same device multiple times in device iterator.
13059
13060 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13061 and use it to build a list of partitions in iterate_disk() and
13062 iterate_partition().
13063
13064 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13065 on disk->data.
13066
13067 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13068 grub_devalias_iterate() result instead of unconditional 0.
13069 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13070 Also, capture hook return value, either directly or via
13071 grub_children_iterate(), and propagate to caller.
13072 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13073 grub_children_iterate): Return value is now 'int' instead of
13074 'grub_err_t'.
13075 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13076 like a proper iterator, stopping when hooks return non-zero.
13077 (grub_devalias_iterate): Likewise.
13078
13079 2009-04-23 David S. Miller <davem@davemloft.net>
13080
13081 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13082
13083 2009-04-22 David S. Miller <davem@davemloft.net>
13084
13085 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13086 is larger than address_cells, use that value for address_cells too.
13087
13088 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13089 IEEE1275_MAX_PATH_LEN): Define.
13090 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13091 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13092 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13093 'devtype'. Explicitly NULL terminate devalias expansion.
13094
13095 * util/sparc64/ieee1275/misc.c: New file.
13096 * util/sparc64/ieee1275/grub-setup.c: New file.
13097 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13098 * util/sparc64/ieee1275/grub-mkimage.c: New file.
13099 * util/sparc64/ieee1275/grub-install.in: New file.
13100 * util/ieee1275/ofpath.c: New file.
13101 * util/ieee1275/devicemap.c: New file.
13102 * util/devicemap.c: New file.
13103 * util/deviceiter.c: New file.
13104 * kern/sparc64/ieee1275/init.c: New file.
13105 * include/grub/util/ofpath.h: New file.
13106 * include/grub/util/deviceiter.h: New file.
13107 * util/grub-mkdevicemap.c: Include deviceiter.h.
13108 Implement using grub_util_emit_devicemap_entry and
13109 grub_util_iterate_devices.
13110 * conf/i386-corebook.rmk: Build util/deviceiter.c and
13111 util/devicemap.c into grub-mkdevicemap
13112 * conf/i386-efi.rmk: Likewise.
13113 * conf/i386-ieee1275.rmk: Likewise.
13114 * conf/i386-pc.rmk: Likewise.
13115 * conf/powerpc-ieee1275.rmk: Likewise.
13116 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
13117 images and installation utilities. Build kernel as image
13118 instead of as elf binary. Use common rules as much as possible.
13119
13120 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 Correct GPT definition
13123
13124 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13125 of "attrib" member
13126
13127 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
13128
13129 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
13130
13131 2009-04-19 David S. Miller <davem@davemloft.net>
13132
13133 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
13134 (grub_rescue_cmd_linux): Rename to...
13135 (grub_cmd_linux): and fix prototype.
13136 (grub_rescue_cmd_initrd): Rename to...
13137 (grub_cmd_initrd): and fix prototype.
13138 (cmd_linux, cmd_initrd): New.
13139 (GRUB_MOD_INIT(linux)): Use grub_register_command().
13140 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
13141
13142 2009-04-17 Pavel Roskin <proski@gnu.org>
13143
13144 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
13145 format.
13146 (grub_ohci_transfer): Likewise.
13147
13148 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
13149
13150 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
13151 return without a value. Fix inconsistent indentation.
13152
13153 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
13154 match struct grub_fs.
13155
13156 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
13157 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
13158 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13159 * commands/lspci.c (grub_lspci_iter): Likewise.
13160
13161 2009-04-16 Bean <bean123ch@gmail.com>
13162
13163 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
13164 value.
13165
13166 2009-04-15 Pavel Roskin <proski@gnu.org>
13167
13168 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
13169 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
13170 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
13171 definitions.
13172
13173 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13174
13175 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
13176 that no multiple data or metadata areas are supported and `Unknown
13177 metadata header'.
13178
13179 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 Move loader out of the kernel
13182
13183 * kern/loader.c: moved to ...
13184 * commands/boot.c: ... moved here
13185 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
13186 * commands/boot.c (grub_cmd_boot): moved here. All users updated
13187 * include/grub/kernel.h (grub_machine_fini): export
13188 * include/grub/loader.h (grub_loader_is_loaded): update declaration
13189 (grub_loader_set): likewise
13190 (grub_loader_unset): likewise
13191 (grub_loader_boot): likewise
13192 * conf/common.rmk: new module boot.mod
13193 (pkglib_MODULES): add boot.mod
13194 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
13195 (grub_emu_SOURCES): likewise
13196 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
13197 (grub_emu_SOURCES): likewise
13198 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
13199 (grub_emu_SOURCES): likewise
13200 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
13201 (grub_emu_SOURCES): likewise
13202 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
13203 (grub_emu_SOURCES): likewise
13204 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
13205 (grub_emu_SOURCES): likewise
13206 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
13207 (grub_emu_SOURCES): likewise
13208
13209 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
13212
13213 * kern/misc.c (grub_itoa): Removed function
13214 (grub_ltoa): likewise
13215 (grub_vsprintf): use grub_lltoa
13216
13217 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Restore grub-emu
13220
13221 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
13222 * conf/i386-coreboot.rmk: likewise
13223 * conf/i386-ieee1275.rmk: likewise
13224 * conf/powerpc-ieee1275.rmk: likewise
13225
13226 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
13227
13228 * INSTALL: Add that `./autogen.sh' needs to be run before
13229 `./configure.'.
13230
13231 2009-04-14 Bean <bean123ch@gmail.com>
13232
13233 * Makefile.in (pkglib_DATA): Add handler.lst.
13234 (handler.lst): New rule.
13235
13236 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
13237 * conf/i386-coreboot.rmk: Likewise.
13238 * conf/i386-ieee1275.rmk: Likewise.
13239 * conf/i386-efi.rmk: Likewise.
13240 * conf/x86_64-efi.rmk: Likewise.
13241 * conf/powerpc-ieee1275.rmk: Likewise.
13242 * conf/sparc64-ieee1275.rmk: Likewise.
13243
13244 * genhandlerlist.sh: New file.
13245
13246 * genmk.rb: Add rules to generate handler.lst.
13247
13248 * include/grub/normal.h (grub_file_getline): New function definition.
13249 (read_handler_list): Likewise.
13250 (free_handler_list): Likewise.
13251
13252 * include/grub/term.h (grub_term_register_input): Add name parameter
13253 for auto generation of handler.lst.
13254 (grub_term_register_output): Likewise.
13255
13256 * normal/handler.c: New file.
13257
13258 * normal/main.c (get_line): Renamed to grub_file_getline.
13259 (read_config_file): Use the newly renamed grub_file_getline.
13260 (read_command_list): Likewise.
13261 (read_fs_list): Likewise.
13262 (grub_normal_execute): Call read_handler_list to parse handler.lst.
13263 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
13264
13265 * term/efi/console.c (grub_console_init): Add name parameter for auto
13266 generation of handler.lst.
13267 * term/gfxterm.c: Likewise.
13268 * term/i386/pc/at_keyboard.c: Likewise.
13269 * term/i386/pc/console.c: Likewise.
13270 * term/i386/pc/serial.c: Likewise.
13271 * term/i386/pc/vesafb.c: Likewise.
13272 * term/i386/pc/vga.c: Likewise.
13273 * term/i386/pc/vga_text.c: Likewise.
13274 * term/ieee1275/ofconsole.c: Likewise.
13275 * term/usb_keyboard.c: Likewise.
13276
13277 2009-04-14 Bean <bean123ch@gmail.com>
13278
13279 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
13280 properly with null character.
13281
13282 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13283
13284 * configure: Remove.
13285 * config.h.in: Likewise.
13286 * stamp-h.in: Likewise.
13287 * DISTLIST: Likewise.
13288 * conf/common.mk: Likewise.
13289 * conf/i386-coreboot.mk: Likewise.
13290 * conf/i386-efi.mk: Likewise.
13291 * conf/i386-ieee1275.mk: Likewise.
13292 * conf/i386.mk: Likewise.
13293 * conf/i386-pc.mk: Likewise.
13294 * conf/powerpc-ieee1275.mk: Likewise.
13295 * conf/sparc64-ieee1275.mk: Likewise.
13296 * conf/x86_64-efi.mk: Likewise.
13297
13298 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
13299 develop on GRUB.
13300
13301 2009-04-14 John Stanley <jpsinthemix@verizon.net>
13302 David S. Miller <davem@davemloft.net>
13303
13304 * util/hostdisk.c (make_device_name): Fix buffer length
13305 calculations.
13306
13307 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
13308
13309 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
13310 <sys/param.h> and <sys/sysctl.h>.
13311 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
13312 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
13313 opening the device and reset them afterwards.
13314
13315 2009-04-13 Pavel Roskin <proski@gnu.org>
13316
13317 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
13318 Reported by John Stanley <jpsinthemix@verizon.net>
13319
13320 2009-04-13 Robert Millan <rmh@aybabtu.com>
13321
13322 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
13323 that name for menuentries when appropriate.
13324
13325 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13326
13327 * util/grub.d/10_freebsd.in: Add a missing `fi'.
13328
13329 2009-04-13 Robert Millan <rmh@aybabtu.com>
13330
13331 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
13332 to Linux, simply abort telling the user it's no longer supported.
13333
13334 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13335
13336 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
13337 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
13338 `freebsd_loadenv' only when devices.hints exist.
13339
13340 2009-04-13 Pavel Roskin <proski@gnu.org>
13341
13342 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
13343
13344 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
13345
13346 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
13347 partition number.
13348 (grub_drive): Likewise.
13349
13350 2009-04-13 David S. Miller <davem@davemloft.net>
13351
13352 * kern/sparc64/ieee1275/ieee1275.c: New file.
13353 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
13354 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
13355 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
13356 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
13357 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
13358 grub_ieee1275_alloc_physmem): Declare new exported functions.
13359
13360 * include/grub/sparc64/ieee1275/loader.h: New file.
13361 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13362 * include/grub/sparc64/kernel.h: Likewise.
13363 * loader/sparc64/ieee1275/linux.c: Likewise.
13364
13365 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
13366 (grub_fstest_SOURCES): Likewise.
13367
13368 * util/hostdisk.c (make_device_name): Do not make any assumptions
13369 about the length of drive names.
13370
13371 * kern/dl.c (grub_dl_load_file): Close file immediately when
13372 we are done using it.
13373
13374 2009-04-12 David S. Miller <davem@davemloft.net>
13375
13376 * kern/misc.c (grub_ltoa): Fix cast when handling negative
13377 values. Noticed by Pavel Roskin.
13378
13379 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
13380 target compiler.
13381
13382 * genmk.rb: Add more flexible image type specification, also
13383 pass --strip-unneeded to objcopy.
13384 * conf/i386-pc.rmk: Use *_FORMAT.
13385 * conf/i386-pc.mk: Rebuilt.
13386
13387 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
13388 (OFDISK_HASH_SZ): Define.
13389 (ofdisk_hash): New hash table.
13390 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
13391 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
13392 instead of device phandle which is not unique.
13393
13394 * kern/sparc64/ieee1275/init.c: Delete, replace with...
13395 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
13396 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
13397 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
13398 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
13399 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
13400 GRUB_KERNEL_MACHINE_DATA_END): Define.
13401 (grub_kernel_image_size, grub_total_module_size): Declare.
13402
13403 2009-04-12 Pavel Roskin <proski@gnu.org>
13404
13405 * configure.ac: Change the logic when we check for target tools.
13406 Do it when the target is specified and it's different from the
13407 specified value of the host.
13408
13409 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
13410
13411 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
13412 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
13413 GNU/kFreeBSD. Check if a device is a character device. Use
13414 DIOCGMEDIASIZE to get the size.
13415 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
13416 support for GNU/kFreeBSD.
13417 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
13418 is a character device instead of a block device. Add support for
13419 FreeBSD device names.
13420
13421 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
13422 is a character device instead of a block device.
13423
13424 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
13425 is a character device instead of a block device.
13426
13427 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
13428
13429 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
13430 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
13431 FreeBSD. Check if a device is a character device. Use
13432 DIOCGMEDIASIZE to get the size.
13433 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
13434 support for FreeBSD.
13435 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
13436 is a character device instead of a block device. Add support for
13437 FreeBSD device names.
13438
13439 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
13440 a character device instead of a block device.
13441 (grub_util_check_char_device): New function.
13442
13443 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
13444 a character device instead of a block device.
13445
13446 * include/grub/util/getroot.h (grub_util_check_char_device): New
13447 prototype.
13448
13449 2009-04-11 David S. Miller <davem@davemloft.net>
13450
13451 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
13452 static libgcc.
13453 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
13454 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
13455 function, if present.
13456 (__bswapdi2): Likewise.
13457
13458 * include/grub/sparc64/ieee1275/boot.h: New file.
13459 * boot/sparc64/ieee1275/boot.S: Likewise.
13460 * boot/sparc64/ieee1275/diskboot.S: Likewise.
13461
13462 * kern/misc.c (grub_ltoa): New function.
13463 (grub_vsprintf): Use it to format 'long' integers.
13464
13465 2009-04-10 David S. Miller <davem@davemloft.net>
13466
13467 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
13468 slots are of type grub_ieee1275_cell_t.
13469 (grub_nand_read): Likewise.
13470 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
13471 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
13472 macros are used to compare values in arg/ret block of the call.
13473 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13474 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
13475 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
13476 grub_ieee1275_instance_to_path, grub_ieee1275_write,
13477 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
13478 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
13479 grub_ieee1275_close, grub_ieee1275_set_property,
13480 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
13481 grub_ieee1275_cell_t.
13482 * kern/ieee1275/openfw.c (grub_map): Likewise.
13483 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
13484 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
13485
13486 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
13487 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13488 (grub_devalias_iterate): Likewise.
13489
13490 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 UFS improvements
13493
13494 * fs/ufs.c (INODE_NBLOCKS): new definition
13495 (struct grub_ufs_dirent): added fields for non-BSD dirents
13496 (grub_ufs_get_file_block): fixed double indirect handling
13497 (grub_ufs_lookup_symlink): use more robust way to determine whether
13498 symlink is inline
13499 (grub_ufs_find_file): support for non-BSD dirents
13500 (grub_ufs_dir): support for non-BSD dirents
13501
13502 2009-04-10 Bean <bean123ch@gnail.com>
13503
13504 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
13505 attribute, otherwise the size would be wrong for i386 platform.
13506
13507 * include/grub/pci.h (grub_pci_read_word): New inline function.
13508 (grub_pci_read_byte): Likewise.
13509 (grub_pci_write): Likewise.
13510 (grub_pci_write_word): Likewise.
13511 (grub_pci_write_byte): Likewise.
13512
13513 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
13514
13515 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
13516 (find_framebuf): Scan pci to locate the frame buffer address.
13517
13518 * commands/efi/fixvideo.c: New file.
13519
13520 * commands/efi/loadbios.c: Likewise.
13521
13522 * commands/memrw.c: Likewise.
13523
13524 * util/grub-dumpbios.in: Likewise.
13525
13526 * conf/common.rmk (grub-dumpbios): New utility.
13527 (pkglib_MODULES): New module memrw.mod.
13528 (memrw_mod_SOURCE): New macro.
13529 (memrw_mod_CFLAGS): Likewise.
13530 (memrw_mod_LDFLAGS): Likewise.
13531
13532 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
13533 fixvideo.mod.
13534 (loadbios_mod_SOURCE): New macro.
13535 (loadbios_mod_CFLAGS): Likewise.
13536 (loadbios_mod_LDFLAGS): Likewise.
13537 (fixvideo_mod_SOURCE): Likewise.
13538 (fixvideo_mod_CFLAGS): Likewise.
13539 (fixvideo_mod_LDFLAGS): Likewise.
13540
13541 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
13542 fixvideo.mod.
13543 (loadbios_mod_SOURCE): New macro.
13544 (loadbios_mod_CFLAGS): Likewise.
13545 (loadbios_mod_LDFLAGS): Likewise.
13546 (fixvideo_mod_SOURCE): Likewise.
13547 (fixvideo_mod_CFLAGS): Likewise.
13548 (fixvideo_mod_LDFLAGS): Likewise.
13549
13550 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
13551
13552 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
13553
13554 2009-04-07 David S. Miller <davem@davemloft.net>
13555
13556 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
13557 support for R_SPARC_OLO10 relocations. Fix compile warning for
13558 R_SPARC_WDISP30 case.
13559 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
13560
13561 2009-04-06 Pavel Roskin <proski@gnu.org>
13562
13563 * include/grub/misc.h (ARRAY_SIZE): New macro.
13564 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
13565 New macro.
13566 * loader/i386/linux.c (allocate_pages): Use free_pages().
13567 (grub_linux_unload): Don't use free_pages().
13568 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
13569 wrong index. Treat all other modes as text modes.
13570 (grub_cmd_linux): Initialize vid_mode unconditionally to
13571 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
13572
13573 * commands/help.c (print_command_help): Use cmd->prio, not
13574 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
13575
13576 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 Parttool
13579
13580 * parttool/pcpart.c: new file
13581 * commands/parttool.c: likewise
13582 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
13583 (parttool_mod_SOURCES): new variable
13584 (parttool_mod_CFLAGS): likewise
13585 (parttool_mod_LDFLAGS): likewise
13586 (pcpart_mod_SOURCES): likewise
13587 (pcpart_mod_CFLAGS): likewise
13588 (pcpart_mod_LDFLAGS): likewise
13589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
13590 and parttool/pcpart.c
13591 * conf/i386-efi.rmk: likewise
13592 * conf/i386-ieee1275.rmk: likewise
13593 * conf/i386-pc.rmk: likewise
13594 * conf/powerpc-ieee1275.rmk: likewise
13595 * conf/sparc64-ieee1275.rmk: likewise
13596 * conf/x86_64-ieee1275.rmk: likewise
13597
13598 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 Support for mtime and further expandability of dir command
13601
13602 * include/grub/lib/datetime.h: moved to ...
13603 * include/grub/datetime.h: ... moved here and added
13604 declaration of grub_unixtime2datetime. All users updated
13605 * include/grub/fs.h: new syntax for dir and mtime functions in
13606 struct grub_fs
13607 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
13608 and GRUB_FSHELP_FLAGS_MASK
13609 * commands/ls.c (grub_ls_list_files): Write mtime in long format
13610 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
13611 (grub_ext2_mtime): new function
13612 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
13613 (grub_hfsplus_mtime): new function
13614 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
13615 (GRUB_UFS_ATTR_FILE): likewise
13616 (GRUB_UFS_ATTR_LNK): likewise
13617 (struct grub_ufs_sblock): new fields mtime
13618 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
13619 all users updated
13620 (grub_ufs_dir): mtime support
13621 (grub_ufs_mtime): new function
13622 * fs/affs.c (grub_affs_dir): use new dir syntax
13623 * fs/afs.c (grub_afs_dir): likewise
13624 * fs/cpio.c (grub_cpio_dir): likewise
13625 * fs/fat.c (grub_fat_find_dir): likewise
13626 * fs/hfs.c (grub_hfs_dir): likewise
13627 * fs/iso9660.c (grub_iso9660_dir): likewise
13628 * fs/jfs.c (grub_jfs_dir): likewise
13629 * fs/minix.c (grub_minix_dir): likewise
13630 * fs/ntfs.c (grub_ntfs_dir): likewise
13631 * fs/reiserfs.c (grub_reiserfs_dir): likewise
13632 * fs/sfs.c (grub_sfs_dir): likewise
13633 * fs/xfs.c (grub_xfs_dir): likewise
13634 * util/hostfs.c (grub_hostfs_dir): likewise
13635 * lib/datetime.c: moved to ...
13636 * normal/datetime.c: ... moved here
13637 (grub_unixtime2datetime): new function
13638 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
13639 * normal/completion.c (iterate_dir): use new dir syntax
13640 * normal/misc.c (grub_normal_print_device_info): tell the
13641 last modification time of a volume
13642 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
13643 * conf/common.rmk: added lib/datetime.c to ls.mod
13644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
13645 (normal_mod_SOURCES): likewise
13646 (datetime_mod_SOURCES): Removed lib/datetime.c
13647 * conf/i386-efi.rmk: likewise
13648 * conf/i386-ieee1275.rmk: likewise
13649 * conf/i386-pc.rmk: likewise
13650 * conf/powerpc-ieee1275.rmk: likewise
13651 * conf/sparc64-ieee1275.rmk: likewise
13652 * conf/x86_64-efi.rmk: likewise
13653
13654 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 Trim trailing spaces in FAT label and support mtools-like labels
13657
13658 * fs/fat.c (grub_fat_iterate_dir): New function based
13659 on grub_fat_find_dir
13660 (grub_fat_find_dir): use grub_fat_iterate_dir
13661 (grub_fat_label): likewise
13662
13663 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
13666 and command.h
13667 remove extraneous kernel_elf_HEADERS
13668
13669 2009-04-04 Bean <bean123ch@gnail.com>
13670
13671 * include/grub/util/misc.h: Add dummy function fsync for mingw.
13672
13673 * util/misc.c: Likewise.
13674
13675 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
13676
13677 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
13678 instead of grub_printf.
13679
13680 2009-04-03 Robert Millan <rmh@aybabtu.com>
13681
13682 * loader/i386/linux.c (grub_linux_setup_video): Fill
13683 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
13684 values from `mode info' structure instead of hardcoded
13685 values.
13686
13687 2009-04-01 Pavel Roskin <proski@gnu.org>
13688
13689 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
13690 unused now.
13691 * genmk.rb: Likewise.
13692 * configure.ac: Likewise.
13693
13694 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
13695
13696 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
13697 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
13698
13699 2009-04-01 David S. Miller <davem@davemloft.net>
13700
13701 * normal/sparc64/setjmp.S: Fix setjmp implementation.
13702 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
13703 (grub_setjmp): Mark with 'returns_twice' attribute.
13704 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
13705 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
13706 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
13707
13708 2009-04-01 Robert Millan <rmh@aybabtu.com>
13709
13710 Reapply fix from 2008-07-28 which was accidentally reverted; also
13711 perform the same fix to a similar check in same function.
13712
13713 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13714 with the same number are found, just use issue a warning with
13715 grub_dprintf(), as this error has been reported to be non-fatal.
13716
13717 2009-03-31 Pavel Roskin <proski@gnu.org>
13718
13719 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
13720 for cross-compilation.
13721
13722 2009-03-30 Robert Millan <rmh@aybabtu.com>
13723
13724 Fix i386-ieee1275 build.
13725
13726 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
13727 Remove declaration.
13728
13729 2009-03-30 Pavel Roskin <proski@gnu.org>
13730
13731 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
13732 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
13733 zero-terminated, rely only on the strlen value. Fix comparison
13734 of strings differing in length.
13735
13736 2009-03-30 Robert Millan <rmh@aybabtu.com>
13737
13738 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
13739 checking for abi version. Improve error messages on BIOS to notify
13740 user about `linux16' command.
13741
13742 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 Leak fixes
13745
13746 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
13747 in case of collision
13748 * disk/scsi.c (grub_scsi_open): free scsi in case of error
13749
13750 2009-03-29 Robert Millan <rmh@aybabtu.com>
13751
13752 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
13753 set `vid_mode' accordingly.
13754 (grub_linux_boot): Process `vid_mode' and set video mode.
13755
13756 2009-03-29 Robert Millan <rmh@aybabtu.com>
13757
13758 * util/grub.d/10_linux.in (linux_entry): New function.
13759 Factorize generation of Linux boot entries.
13760
13761 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
13762
13763 Make the format of Environment Block plain text. The boot loader
13764 part is not tested well yet.
13765
13766 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
13767 (buffer): Removed.
13768 (envblk): Likewise.
13769 (usage): Remove "info" and "clear". Add "unset". Update the
13770 description of "set", as this does not delete variables any
13771 longer.
13772 (create_envblk_file): Complete rewrite.
13773 (open_envblk_file): Likewise.
13774 (cmd_info): Removed.
13775 (cmd_list): Likewise.
13776 (cmd_set): Likewise.
13777 (cmd_clear): Likewise.
13778 (list_variables): New function.
13779 (write_envblk): Likewise.
13780 (set_variables): Likewise.
13781 (unset_variables): Likewise.
13782 (main): Complete rewrite.
13783
13784 * commands/loadenv.c (buffer): Removed.
13785 (envblk): Likewise.
13786 (open_envblk_file): New function.
13787 (read_envblk_file): Complete rewrite.
13788 (grub_cmd_load_env): Likewise.
13789 (grub_cmd_list_env): Likewise.
13790 (struct blocklist): New struct.
13791 (free_blocklists): New function.
13792 (check_blocklists): Likewise.
13793 (write_blocklists): Likewise.
13794 (grub_cmd_save_env): Complete rewrite.
13795
13796 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
13797 a plain text signature.
13798 (GRUB_ENVBLK_MAXLEN): Removed.
13799 (struct grub_envblk): Complete rewrite.
13800 (grub_envblk_find): Removed.
13801 (grub_envblk_insert): Likewise.
13802 (grub_envblk_open): New prototype.
13803 (grub_envblk_set): Likewise.
13804 (grub_envblk_delete): Put const to VALUE.
13805 (grub_envblk_iterate): Put const to NAME and VALUE.
13806 (grub_envblk_close): New prototype.
13807 (grub_envblk_buffer): New inline function.
13808 (grub_envblk_size): Likewise.
13809
13810 * lib/envblk.c: Include grub/mm.h.
13811 (grub_env_find): Removed.
13812 (grub_envblk_open): New function.
13813 (grub_envblk_close): Likewise.
13814 (escaped_value_len): Likewise.
13815 (find_next_line): Likewise.
13816 (grub_envblk_insert): Removed.
13817 (grub_envblk_set): New function.
13818 (grub_envblk_delete): Complete rewrite.
13819 (grub_envblk_iterate): Likewise.
13820
13821 2009-03-28 Robert Millan <rmh@aybabtu.com>
13822
13823 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
13824 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
13825 variables. Use 16-bit loader.
13826 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
13827 loader.
13828 * kern/i386/loader.S (grub_linux_boot): Rename to ...
13829 (grub_linux16_boot): ... this. Update all users.
13830 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
13831 (grub_linux_boot): ... this. Update all users.
13832
13833 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
13834 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
13835 commands to `linux16' and `initrd16'.
13836 (GRUB_MOD_FINI(linux)): Rename to ...
13837 (GRUB_MOD_FINI(linux16)): ... this.
13838
13839 2009-03-24 Pavel Roskin <proski@gnu.org>
13840
13841 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
13842 not just for compilation.
13843
13844 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 Move multiboot helper out of kernel
13847
13848 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
13849 `loader/i386/multiboot_helper.S'.
13850 * conf/i386-coreboot.rmk: Likewise
13851 * conf/i386-ieee1275.rmk: Likewise
13852
13853 * kern/i386/loader.S: Move multiboot helpers from here...
13854 * loader/i386/multiboot_helper.S: ...moved here
13855 * include/grub/i386/loader.h: Move declarations of multiboot
13856 helpers from here...
13857 * include/grub/i386/multiboot.h: ...moved here
13858 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
13859
13860 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13861
13862 * kern/env.c (grub_env_context_open): Added an argument to specify
13863 whether a new context inherits exported variables from current
13864 one. This is useful when making a sandbox to interpret a config
13865 file.
13866 All callers updated.
13867
13868 * include/grub/env.h (grub_env_context_open): Updated the prototype.
13869
13870 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13871
13872 * kern/env.c (grub_env_context_close): Fix memory leaks.
13873
13874 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
13875
13876 * normal/main.c (grub_normal_execute): Added an argument
13877 BATCH to specify if an interactive interface should be provided
13878 after reading a config file.
13879 All callers updated.
13880 (read_command_list): Prevent being executed twice.
13881 (read_fs_list): Likewise.
13882
13883 * include/grub/normal.h (grub_normal_execute): Updated the
13884 prototype.
13885
13886 2009-03-22 Pavel Roskin <proski@gno.org>
13887
13888 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
13889 _start.
13890 * kern/i386/pc/startup.S: Likewise.
13891 * kern/i386/efi/startup.S: Likewise.
13892 * kern/i386/ieee1275/startup.S: Likewise.
13893 * kern/i386/coreboot/startup.S: Likewise.
13894 * kern/x86_64/efi/startup.S: Likewise.
13895
13896 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
13897 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
13898 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
13899
13900 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 Bugfixes in multiboot for bugs uncovered by solaris kernel.
13903
13904 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
13905 limit detection.
13906 Use vaddr of correct segment for entry_point.
13907
13908 2009-03-21 Bean <bean123ch@gmail.com>
13909
13910 * commands/blocklist.c: Add include file <grub/command.h>, remove
13911 <grub/normal.h> and <grub/arg.h>.
13912 (grub_cmd_blocklist): Use the new command interface.
13913 (GRUB_MOD_INIT): Likewise.
13914 (GRUB_MOD_FINI): Likewise.
13915 * commands/boot.c: Likewise.
13916 * commands/cat.c: Likewise.
13917 * commands/cmp.c: Likewise.
13918 * commands/configfile.c: Likewise.
13919 * commands/crc.c: Likewise.
13920 * commands/echo.c: Likewise.
13921 * commands/halt.c: Likewise.
13922 * commands/handler.c: Likewise.
13923 * commands/hdparm.c: Likewise.
13924 * commands/help.c: Likewise.
13925 * commands/hexdump.c: Likewise.
13926 * commands/loadenv.c: Likewise.
13927 * commands/ls.c: Likewise.
13928 * commands/lsmmap.c: Likewise.
13929 * commands/lspci.c: Likewise.
13930 * commands/loadenv.c: Likewise.
13931 * commands/read.c: Likewise.
13932 * commands/reboot.c: Likewise.
13933 * commands/search.c: Likewise.
13934 * commands/sleep.c: Likewise.
13935 * commands/test.c: Likewise.
13936 * commands/usbtest.c: Likewise.
13937 * commands/videotest.c: Likewise.
13938 * commands/i386/cpuid.c: Likewise.
13939 * commands/i386/pc/halt.c: Likewise.
13940 * commands/i386/pc/play.c: Likewise.
13941 * commands/i386/pc/pxecmd.c: Likewise.
13942 * commands/i386/pc/vbeinfo.c: Likewise.
13943 * commands/i386/pc/vbetest.c: Likewise.
13944 * commands/ieee1275/suspend.c: Likewise.
13945 * disk/loopback.c: Likewise.
13946 * font/font_cmd.c: Likewise.
13947 * hello/hello.c: Likewise.
13948 * loader/efi/appleloader.c: Likewise.
13949 * loader/efi/chainloader.c: Likewise.
13950 * loader/i386/bsd.c: Likewise.
13951 * loader/i386/efi/linux.c: Likewise.
13952 * loader/i386/ieee1275/linux.c: Likewise.
13953 * loader/i386/linux.c: Likewise.
13954 * loader/i386/pc/chainloader.c: Likewise.
13955 * loader/i386/pc/linux.c: Likewise.
13956 * loader/powerpc/ieee1275/linux.c: Likewise.
13957 * loader/multiboot_loader.c: Likewise.
13958 * term/gfxterm.c: Likewise.
13959 * term/i386/pc/serial.c: Likewise.
13960 * term/terminfo.c: Likewise.
13961
13962 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13963 * term/i386/pc/vga.c: Likewise.
13964 * video/readers/jpeg.c: Likewise.
13965 * video/readers/png.c: Likewise.
13966 * video/readers/tga.c: Likewise.
13967
13968 * util/grub-fstest (cmd_loopback): Removed.
13969 (cmd_blocklist): Likewise.
13970 (cmd_ls): Likewise.
13971 (grub_register_command): Likewise.
13972 (grub_unregister_command): Likewise.
13973 (execute_command): Use grub_command_find to locate command and execute
13974 it.
13975
13976 * include/grub/efi/chainloader.h: Removed.
13977 * loader/efi/chainloader_normal.c: Likewise.
13978 * loader/i386/bsd_normal.c: Likewise.
13979 * loader/i386/pc/chainloader_normal.c: Likewise.
13980 * loader/i386/pc/multiboot_normal.c: Likewise.
13981 * loader/linux_normal.c: Likewise.
13982 * loader/multiboot_loader_normal.c: Likewise.
13983 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13984
13985 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13986 and grub_register_command_p1.
13987
13988 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13989 kern/command.c, lib/arg.c and commands/extcmd.c.
13990 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13991 (minicmd_mod_SOURCES): New variable.
13992 (minicmd_mod_CFLAGS): Likewise.
13993 (minicmd_mod_LDFLAGS): Likewise.
13994 (extcmd_mod_SOURCES): Likewise.
13995 (extcmd_mod_CFLAGS): Likewise.
13996 (extcmd_mod_LDFLAGS): Likewise.
13997 (boot_mod_SOURCES): Removed.
13998 (boot_mod_CFLAGS): Likewise.
13999 (boot_mod_LDFLAGS): Likewise.
14000
14001 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14002 kern/corecmd.c.
14003 (kernel_img_HEADERS): Add command.h.
14004 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14005 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14006 and lib/arg.c.
14007 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14008 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14009 remove the corresponding normal mode command.
14010 (normal_mod_SOURCES): Remove normal/arg.c.
14011 * conf/i386-coreboot.rmk: Likewise.
14012 * conf/i386-efi.rmk: Likewise.
14013 * conf/i386-ieee1275.rmk: Likewise.
14014 * conf/powerpc-ieee1275.rmk: Likewise.
14015 * conf/x86_64-efi.rmk: Likewise.
14016
14017 * include/grub/arg.h: Move from here ...
14018 * include/grub/lib/arg.h: ... to here.
14019
14020 * normal/arg.c: Move from here ...
14021 * lib/arg.c: ... to here.
14022
14023 * commands/extcmd.c: New file.
14024 * commands/minicmd.c: Likewise.
14025 * include/grub/command.h: Likewise.
14026 * include/grub/extcmd.h: Likewise.
14027 * kern/command.c: Likewise.
14028 * kern/corecmd.c: Likewise.
14029
14030 * kern/list.c (grub_list_iterate): Return int instead of void.
14031 (grub_list_insert): New function.
14032 (grub_prio_list_insert): Likewise.
14033
14034 * kern/rescue.c (grub_rescue_command): Removed.
14035 (grub_rescue_command_list): Likewise.
14036 (grub_rescue_register_command): Likewise.
14037 (grub_rescue_unregister_command): Likewise.
14038 (grub_rescue_cmd_boot): Move to minicmd.c
14039 (grub_rescue_cmd_help): Likewise.
14040 (grub_rescue_cmd_info): Likewise.
14041 (grub_rescue_cmd_boot): Likewise.
14042 (grub_rescue_cmd_testload): Likewise.
14043 (grub_rescue_cmd_dump): Likewise.
14044 (grub_rescue_cmd_rmmod): Likewise.
14045 (grub_rescue_cmd_lsmod): Likewise.
14046 (grub_rescue_cmd_exit): Likewise.
14047 (grub_rescue_print_devices): Moved to corecmd.c.
14048 (grub_rescue_print_files): Likewise.
14049 (grub_rescue_cmd_ls): Likewise.
14050 (grub_rescue_cmd_insmod): Likewise.
14051 (grub_rescue_cmd_set): Likewise.
14052 (grub_rescue_cmd_unset): Likewise.
14053 (attempt_normal_mode): Use grub_command_find to get normal module.
14054 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14055 commands, remove grub_rescue_register_command calls.
14056
14057 * normal/command.c (grub_register_command): Removed.
14058 (grub_unregister_command): Likewise.
14059 (grub_command_find): Likewise.
14060 (grub_iterate_commands): Likewise.
14061 (rescue_command): Likewise.
14062 (export_command): Moved to corecmd.c.
14063 (set_command): Removed.
14064 (unset_command): Likewise.
14065 (insmod_command): Likewise.
14066 (rmmod_command): Likewise.
14067 (lsmod_command): Likewise.
14068 (grub_command_init): Likewise.
14069
14070 * normal/completion.c (iterate_command): Use cmd->prio to check for
14071 active command.
14072 (complete_arguments): Use grub_extcmd_t structure to find options.
14073 (grub_normal_do_completion): Change function grub_iterate_commands to
14074 grub_command_iterate.
14075
14076 * normal/execute.c (grub_script_execute_cmd): No need to parse
14077 argument here.
14078
14079 * normal/main.c (grub_dyncmd_dispatcher): New function.
14080 (read_command_list): Register unload commands as dyncmd.
14081 (grub_cmd_normal): Use new command interface, register rescue,
14082 unregister normal at entry, register normal, unregister rescue at exit.
14083
14084 * include/grub/list.h (grub_list_test_t): New type.
14085 (grub_list_iterate): Return int instead of void.
14086 (grub_list_insert): New function.
14087 (GRUB_AS_NAMED_LIST_P): New macro.
14088 (GRUB_AS_PRIO_LIST): Likewise.
14089 (GRUB_AS_PRIO_LIST_P): Likewise.
14090 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14091 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14092 (grub_prio_list): New structure.
14093 (grub_prio_list_insert): New function.
14094 (grub_prio_list_remove): New inline function.
14095
14096 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14097 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14098 (GRUB_COMMAND_FLAG_MENU): Likewise.
14099 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14100 (GRUB_COMMAND_FLAG_TITLE): Likewise.
14101 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14102 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
14103 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
14104 (grub_command): Likewise.
14105 (grub_register_command): Likewise.
14106 (grub_command_find): Likewise.
14107 (grub_iterate_commands): Likewise.
14108 (grub_command_init): Likewise.
14109 (grub_arg_parse): Likewise.
14110 (grub_arg_show_help): Likewise.
14111
14112 * include/grub/rescue.h (grub_rescue_register_command): Removed.
14113 (grub_rescue_unregister_command): Likewise.
14114
14115 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
14116 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
14117 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
14118
14119 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
14120 grub_rescue_cmd_initrd.
14121 * include/grub/i386/loader.h: Likewise.
14122 * include/grub/x86_64/loader.h: Likewise.
14123
14124 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
14125
14126 2009-03-21 Bean <bean123ch@gmail.com>
14127
14128 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
14129 instead of stat in mingw environment.
14130
14131 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
14132
14133 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
14134
14135 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
14136 AC_CONFIG_LINKS.
14137
14138 2009-03-21 Bean <bean123ch@gmail.com>
14139
14140 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
14141 out of range error.
14142
14143 2009-03-18 Michel Dänzer <michel@daenzer.net>
14144
14145 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
14146 checking inode flags for EXT4_EXTENTS_FLAG.
14147
14148 2009-03-18 Robert Millan <rmh@aybabtu.com>
14149
14150 * loader/i386/linux.c: Include `<grub/video.h>' and
14151 `<grub/i386/pc/vbe.h>'..
14152 (grub_linux_setup_video): New function. Loosely based on the EFI one.
14153 (grub_linux32_boot): Attempt to configure video settings with
14154 grub_linux_setup_video().
14155 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
14156 to avoid grub_console_fini() which would step out of graphical mode
14157 unconditionally.
14158
14159 2009-03-14 Robert Millan <rmh@aybabtu.com>
14160
14161 Fix build on powerpc.
14162 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
14163
14164 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
14167 background image command.
14168
14169 2009-03-12 Colin D Bennett <colin@gibibit.com>
14170
14171 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
14172 (grub_gfxterm_putchar): Extract pairs of identical calls to
14173 draw_cursor out of conditional blocks.
14174
14175 2009-03-11 Pavel Roskin <proski@gnu.org>
14176
14177 * fs/hfs.c (grub_hfs_strncasecmp): New function.
14178 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
14179
14180 2009-03-11 Robert Millan <rmh@aybabtu.com>
14181
14182 * loader/i386/multiboot_elfxx.c
14183 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
14184
14185 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
14186
14187 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
14188 `kern/handler.c'.
14189
14190 2009-03-11 Robert Millan <rmh@aybabtu.com>
14191
14192 * loader/i386/multiboot.c (code_size): New variable.
14193 (grub_multiboot): Define offsets by adding to `code_size' rather
14194 than subtracting from `grub_multiboot_payload_size'. Provide
14195 4-byte alignment to MBI and others by increasing
14196 `boot_loader_name_length' appropriately.
14197
14198 * loader/i386/multiboot_elfxx.c
14199 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
14200
14201 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
14202
14203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
14204 `fs/ext2.c'.
14205
14206 2009-03-08 Robert Millan <rmh@aybabtu.com>
14207
14208 Make loader/i386/linux.c usable on i386-pc again.
14209
14210 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
14211 memory to heap.
14212 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
14213 `#error' stanza.
14214
14215 2009-03-07 Bean <bean123ch@gmail.com>
14216
14217 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
14218 allocation.
14219
14220 2009-03-06 Robert Millan <rmh@aybabtu.com>
14221
14222 Fix display issue on terminals with screen size other than 80x25
14223 (e.g. gfxterm with resolution higher than 640x480).
14224
14225 * normal/main.c (grub_normal_init_page): Display title text in a
14226 position relative to the center of the terminal instead of relying
14227 on a hardcoded offset.
14228
14229 2009-03-04 Robert Millan <rmh@aybabtu.com>
14230
14231 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
14232 installed.
14233
14234 * Makefile.in (host_kernel): New variable.
14235 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
14236 scripts instead of just the windows one.
14237 * configure.ac: Initialize and AC_SUBST `host_kernel'.
14238
14239 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14240
14241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
14242 `kern/handler.c'.
14243 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14244 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14245 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14247 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14248 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14249
14250 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14251
14252 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
14253 or if there's no space for the disk label and print the partition number on a
14254 invalid magic.
14255
14256 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
14257
14258 * util/misc.c: Include <time.h>.
14259 (grub_millisleep): New function.
14260
14261 2009-03-04 Bean <bean123ch@gmail.com>
14262
14263 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
14264 another option -mno-red-zone.
14265
14266 * commands/handler.c: Change module description.
14267
14268 * kern/handler.c: Add missing space at the end of description line.
14269
14270 * kern/list.c: Likewise.
14271
14272 2009-03-03 Robert Millan <rmh@aybabtu.com>
14273
14274 Move more components to the relocation area, and fix mbi pointer
14275 handling to use the destination rather than the origin (thanks to
14276 Vladimir Serbinenko for spotting).
14277
14278 * loader/i386/multiboot.c (mbi_dest): New variable.
14279 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
14280 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
14281 relocation area.
14282
14283 2009-03-01 Bean <bean123ch@gmail.com>
14284
14285 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
14286 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
14287 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
14288 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
14289
14290 * loader/i386/efi/linux.c (acpi_guid): New variable.
14291 (acpi_guid): Likewise.
14292 (EBDA_SEG_ADDR): New constant.
14293 (LOW_MEM_ADDR): Likewise.
14294 (FAKE_EBDA_SEG): Likewise.
14295 (fake_bios_data): New function.
14296 (grub_linux_boot): Call fake_bios_data.
14297
14298 2009-03-01 Bean <bean123ch@gmail.com>
14299
14300 * commands/terminal.c: Removed.
14301
14302 * commands/handler.c: New file.
14303
14304 * include/grub/list.h: Likewise.
14305
14306 * include/grub/handler.h: Likewise.
14307
14308 * kern/list.c: Likewise.
14309
14310 * kern/handler.c: Likewise.
14311
14312 * kern/term.h: Include header file <grub/handler.h>.
14313 (grub_term_input): Move next field to the beginning.
14314 (grub_term_output): Likewise.
14315 (grub_term_input_class): New variable.
14316 (grub_term_output_class): Likewise.
14317 (grub_term_register_input): Changed to inline function.
14318 (grub_term_register_output): Likewise.
14319 (grub_term_unregister_input): Likewise.
14320 (grub_term_unregister_output): Likewise.
14321 (grub_term_set_current_input): Likewise.
14322 (grub_term_set_current_output): Likewise.
14323 (grub_term_get_current_input): Likewise.
14324 (grub_term_get_current_output): Likewise.
14325 (grub_term_iterate_input): Removed.
14326 (grub_term_iterate_output): Likewise.
14327
14328 * kern/term.c (grub_term_list_input): Removed.
14329 (grub_term_list_output): Likewise.
14330 (grub_term_input_class): New variable.
14331 (grub_term_output_class): Likewise.
14332 (grub_cur_term_input): Change variable as macro.
14333 (grub_cur_term_output): Likewise.
14334 (grub_term_register_input): Removed.
14335 (grub_term_register_output): Likewise.
14336 (grub_term_unregister_input): Likewise.
14337 (grub_term_unregister_output): Likewise.
14338 (grub_term_set_current_input): Likewise.
14339 (grub_term_set_current_output): Likewise.
14340 (grub_term_iterate_input): Likewise.
14341 (grub_term_iterate_output): Likewise.
14342 (grub_term_get_current_input): Likewise.
14343 (grub_term_get_current_output): Likewise.
14344
14345 * util/grub-editenv.c: Include header file <grub/handler.h>.
14346 (grub_term_get_current_input): Removed.
14347 (grub_term_get_current_output): Likewise.
14348 (grub_term_input_class): New variable.
14349 (grub_term_output_class): Likewise.
14350
14351 * util/grub-fstest.c (grub_term_get_current_input): Removed.
14352 (grub_term_get_current_output): Likewise.
14353 (grub_term_input_class): New variable.
14354 (grub_term_output_class): Likewise.
14355
14356 * util/grub-probe.c (grub_term_get_current_input): Removed.
14357 (grub_term_get_current_output): Likewise.
14358 (grub_term_input_class): New variable.
14359 (grub_term_output_class): Likewise.
14360
14361 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
14362 (grub_term_get_current_output): Likewise.
14363 (grub_term_input_class): New variable.
14364 (grub_term_output_class): Likewise.
14365
14366 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
14367 (terminal_mod_SOURCES): Likewise.
14368 (terminal_mod_CFLAGS): Likewise.
14369 (terminal_mod_LDFLAGS): Likewise.
14370
14371 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
14372 handler.c.
14373 (kernel_img_SOURCES): Add list.c and handler.c.
14374 (kernel_img_HEADERS): Add list.h and handler.h.
14375
14376 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14377 handler.c.
14378 (kernel_mod_SOURCES): Add list.c and handler.c.
14379 (kernel_mod_HEADERS): Add list.h and handler.h.
14380
14381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
14382 handler.c.
14383 (kernel_elf_SOURCES): Add list.c and handler.c.
14384 (kernel_elf_HEADERS): Add list.h and handler.h.
14385
14386 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14387 handler.c.
14388 (kernel_elf_SOURCES): Add list.c and handler.c.
14389 (kernel_elf_HEADERS): Add list.h and handler.h.
14390
14391 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
14392 handler.c.
14393 (kernel_mod_SOURCES): Add list.c and handler.c.
14394 (kernel_mod_HEADERS): Add list.h and handler.h.
14395
14396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
14397 handler.c.
14398 (kernel_elf_SOURCES): Add list.c and handler.c.
14399 (kernel_elf_HEADERS): Add list.h and handler.h.
14400
14401 2009-02-27 Robert Millan <rmh@aybabtu.com>
14402
14403 Factorize elf32 / elf64 code in Multiboot loader. This will
14404 prevent it from getting out of sync again.
14405
14406 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
14407 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
14408 grub_multiboot_load_elf64): Move from here ...
14409 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
14410 grub_multiboot_load_elf): ... to here (new file).
14411
14412 2009-02-27 Robert Millan <rmh@aybabtu.com>
14413
14414 * util/grub.d/10_linux.in: Rename "single-user mode" to
14415 "recovery mode".
14416
14417 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 Don't leak in SCSI code.
14420 * disk/scsi.c (grub_scsi_close): free `scsi'.
14421
14422 2009-02-27 Robert Millan <rmh@aybabtu.com>
14423
14424 * loader/i386/pc/multiboot.c: Move from here ...
14425 * loader/i386/multiboot.c: ... to here. Update all users.
14426
14427 2009-02-27 Robert Millan <rmh@aybabtu.com>
14428
14429 Patch from Alexandre Bique <bique.alexandre@gmail.com>
14430 * util/i386/pc/grub-setup.c (setup): Fix directory path.
14431
14432 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
14433
14434 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
14435 b-tree.
14436
14437 2009-02-27 Robert Millan <rmh@aybabtu.com>
14438
14439 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
14440 `0x' qualifier as 0 when base is specified as parameter).
14441
14442 2009-02-24 Bean <bean123ch@gmail.com>
14443
14444 * configure.ac: Check for -mcmodel=large in x86_64 target.
14445
14446 * include/grub/efi/api.h (efi_call_10): New macro.
14447 (efi_wrap_10): New function.
14448
14449 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
14450 (GRUB_PE32_REL_BASED_HIGH): Likewise.
14451 (GRUB_PE32_REL_BASED_LOW): Likewise.
14452 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
14453 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
14454 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
14455 (GRUB_PE32_REL_BASED_SECTION): Likewise.
14456 (GRUB_PE32_REL_BASED_REL): Likewise.
14457 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
14458 (GRUB_PE32_REL_BASED_DIR64): Likewise.
14459 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
14460
14461 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
14462 issue.
14463
14464 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
14465 (efi_wrap_10): New function.
14466
14467 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
14468
14469 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
14470 MB/MBP model (NV chipset).
14471 (devdata_devs): Add devpath_5 to the list.
14472
14473 * load/i386/efi/linux.c (video_base): Remove variable.
14474 (RGB_MASK): New macro.
14475 (RGB_MAGIC): Likewise.
14476 (LINE_MIN): Likewise.
14477 (LINE_MAX): Likewise.
14478 (FBTEST_STEP): Likewise.
14479 (FBTEST_COUNT): Likewise.
14480 (fb_list): New variable.
14481 (grub_find_video_card): Remove function.
14482 (find_framebuf): New function.
14483 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
14484 line length.
14485
14486 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
14487 problem for x86_64.
14488
14489 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
14490
14491 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
14492
14493 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
14494 coding tool name.
14495
14496 2009-02-22 Robert Millan <rmh@aybabtu.com>
14497
14498 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
14499 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
14500 in our relocation, instead of using it directly from heap. Also
14501 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
14502
14503 2009-02-21 Robert Millan <rmh@aybabtu.com>
14504
14505 Implement USB keyboard support (based on patch by Marco Gerards)
14506
14507 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
14508 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
14509 (usb_keyboard_mod_LDFLAGS): New variables.
14510
14511 * term/usb_keyboard.c: New file.
14512
14513 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Corrected wrong declaration
14516
14517 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
14518
14519 2009-02-14 Christian Franke <franke@computer.org>
14520
14521 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
14522 (grub_lspci_iter): Print class code and programming interface byte.
14523
14524 2009-02-14 Christian Franke <franke@computer.org>
14525
14526 * gendistlist.sh: Ignore `.svn' directories.
14527
14528 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
14529
14530 * fs/fat.c: Add 2009 to Copyright line.
14531
14532 2009-02-14 Christian Franke <franke@computer.org>
14533
14534 * commands/hdparm.c: New file. Provides `hdparm' command
14535 which sends ATA commands via grub_disk_ata_pass_through ().
14536
14537 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
14538
14539 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
14540 and <grub/cpu/io.h> to include/grub/ata.h.
14541 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
14542 (GRUB_CDROM_SECTOR_SIZE): Remove.
14543 (GRUB_ATA_*): Move to include/grub/ata.h.
14544 (GRUB_ATAPI_*): Likewise.
14545 (enum grub_ata_commands): Likewise.
14546 (enum grub_ata_timeout_milliseconds): Likewise.
14547 (struct grub_ata_device): Likewise.
14548 (grub_ata_regset): Likewise.
14549 (grub_ata_regget): Likewise.
14550 (grub_ata_regset2): Likewise.
14551 (grub_ata_regget2): Likewise.
14552 (grub_ata_check_ready): Likewise.
14553 (grub_ata_wait_not_busy): Remove static, exported in
14554 include/grub/ata.h.
14555 (grub_ata_wait_drq): Likewise.
14556 (grub_ata_pio_read): Likewise.
14557
14558 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
14559 function for hdparm.mod.
14560
14561 * include/grub/ata.h: New file, contains declarations from
14562 disk/ata.c.
14563 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
14564
14565 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
14566 (grub_disk_ata_pass_through): New exported variable.
14567
14568 * kern/disk.c (grub_disk_ata_pass_through): New variable.
14569
14570 2009-02-13 Colin D Bennett <colin@gibibit.com>
14571
14572 Support multiple fallback entries, and provide an API to support
14573 executing default+fallback menu entries. Renamed the `terminal' menu
14574 viewer to `text'.
14575
14576 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
14577 variable declaration.
14578 (grub_menu_execute_callback): New structure declaration.
14579 (grub_menu_execute_callback_t): New typedef.
14580 (grub_menu_execute_with_fallback): New function declaration.
14581 (grub_menu_get_entry): Likewise.
14582 (grub_menu_get_timeout): Likewise.
14583 (grub_menu_set_timeout): Likewise.
14584
14585 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
14586
14587 * normal/menu.c (grub_wait_after_message): Moved to
14588 `normal/menu_text.c'.
14589 (draw_border): Likewise.
14590 (print_message): Likewise.
14591 (print_entry): Likewise.
14592 (print_entries): Likewise.
14593 (grub_menu_init_page): Likewise.
14594 (get_entry_number): Likewise.
14595 (print_timeout): Likewise.
14596 (run_menu): Likewise.
14597 (grub_menu_execute_entry): Likewise.
14598 (show_text_menu): Likewise.
14599 (get_and_remove_first_entry_number): New function.
14600 (grub_menu_execute_with_fallback): Likewise.
14601 (get_entry): Renamed to ...
14602 (grub_menu_get_entry): .. this and made it global.
14603 (get_timeout): Renamed to ...
14604 (grub_menu_get_timeout): ... this and made it global.
14605 (set_timeout): Renamed to ...
14606 (grub_menu_set_timeout): ... this and made it global.
14607 (grub_normal_terminal_menu_viewer): Renamed to ...
14608 (grub_normal_text_menu_viewer): ... this.
14609
14610 * normal/menu_text.c: New file. Extracted text-menu-specific code
14611 from normal/menu.c.
14612
14613 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
14614 (normal_mod_SOURCES): Likewise.
14615
14616 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14617 (normal_mod_SOURCES): Likewise.
14618
14619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14620 (normal_mod_SOURCES): Likewise.
14621
14622 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
14623 (normal_mod_SOURCES): Likewise.
14624
14625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14626 (normal_mod_SOURCES): Likewise.
14627
14628 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14629 (normal_mod_SOURCES): Likewise.
14630
14631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14632 (normal_mod_SOURCES): Likewise.
14633
14634 2009-02-11 Robert Millan <rmh@aybabtu.com>
14635
14636 * util/grub.d/00_header.in: Update old reference to `font' command.
14637
14638 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
14639
14640 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
14641
14642 Based on patch from Javier Martín.
14643
14644 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14645
14646 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
14647 to avoid false positives with FAT.
14648 (grub_fstest_SOURCES): Likewise.
14649 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14653 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14654 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14655
14656 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
14657
14658 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
14659 bpb.version_specific.fat12_or_fat16.fstype and
14660 bpb.version_specific.fat32.fstype.
14661
14662 2009-02-08 Robert Millan <rmh@aybabtu.com>
14663
14664 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
14665
14666 2009-02-08 Robert Millan <rmh@aybabtu.com>
14667
14668 * Makefile.in (host_os, host_cpu): New variables.
14669 (target_os): Remove. Update all users.
14670
14671 2009-02-08 Marco Gerards <marco@gnu.org>
14672
14673 * Makefile.in (enable_grub_emu_usb): New variable.
14674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
14675 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
14676 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
14677 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
14678 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
14679 `usbtest.mod' and `usbms.mod'.
14680 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
14681 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
14682 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
14683 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
14684 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
14685 variables.
14686
14687 * disk/usbms.c: New file.
14688
14689 * include/grub/usb.h: Likewise.
14690
14691 * include/grub/usbtrans.h: Likewise.
14692
14693 * include/grub/usbdesc.h: Likewise.
14694
14695 * bus/usb/usbtrans.c: Likewise.
14696
14697 * bus/usb/ohci.c: Likewise.
14698
14699 * bus/usb/uhci.c: Likewise.
14700
14701 * bus/usb/usbhub.c: Likewise.
14702
14703 * bus/usb/usb.c: Likewise.
14704
14705 * commands/usbtest.c: Likewise.
14706
14707 * util/usb.c: Likewise.
14708
14709 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
14710
14711 * configure.ac: Test for libusb presence.
14712
14713 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
14714
14715 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
14716
14717 * kern/mm.c: Add more comments.
14718
14719 2009-02-08 Robert Millan <rmh@aybabtu.com>
14720
14721 Patch from Javier Martín.
14722 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
14723 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
14724
14725 2009-02-08 Robert Millan <rmh@aybabtu.com>
14726
14727 * fs/cpio.c: Split tar functionality to ...
14728 * fs/tar.c: ... here (new file). Update all users.
14729
14730 2009-02-07 Robert Millan <rmh@aybabtu.com>
14731
14732 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
14733 backward-incompatible features.
14734
14735 Based on patch from Javier Martín, with some adjustments.
14736
14737 2009-02-07 Michael Scherer <misc@mandriva.org>
14738
14739 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
14740
14741 2009-02-07 Robert Millan <rmh@aybabtu.com>
14742
14743 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
14744 position of `disk/lvm.c' to ensure grub_init_all() always picks it
14745 after the RAID stuff.
14746
14747 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
14748
14749 Fixes problem when running vbetest command as reported by
14750 Vladimir Serbinenko <phcoder@gmail.com>.
14751
14752 * (grub_vbe_set_video_mode): Fixed problem with text modes.
14753
14754 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
14755
14756 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
14757 /dev/md/NpN style mdraid devices.
14758
14759 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14760
14761 * util/unifont2pff.rb: Remove.
14762
14763 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14764
14765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
14766 `#'.
14767
14768 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
14769
14770 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
14771 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14772 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14773 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14777
14778 2009-02-02 Christian Franke <franke@computer.org>
14779
14780 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
14781
14782 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
14783
14784 * INSTALL: Note that we now require at least autoconf 2.59 and
14785 that LZO is optional.
14786
14787 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14788
14789 Base on patch on bug #24154 created by Tomas Tintera
14790 <trosos@seznam.cz>.
14791
14792 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
14793
14794 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
14795
14796 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
14797 <bero@arklinux.org>.
14798
14799 * normal/parser.y (script_init): Add missing semicolon.
14800
14801 2009-01-31 Colin D Bennett <colin@gibibit.com>
14802
14803 * normal/main.c: Add include to grub/menu_viewer.h.
14804 (free_menu_entry_classes): Added.
14805 (grub_normal_menu_addentry): Added class property handling.
14806 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
14807 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
14808
14809 * normal/menu_viewer.c: New file.
14810
14811 * normal/menu.c (run_menu_entry): Renamed to ...
14812 (grub_menu_execute_entry): ... this and made it as global.
14813 (grub_menu_run): Renamed to ...
14814 (show_text_menu): ... this and made it local.
14815 (show_text_menu): Adapt to new function names.
14816 (grub_normal_terminal_menu_viewer): New global variable.
14817
14818 * include/grub/menu.h: New file.
14819
14820 * include/grub/menu_viewer.h: New file.
14821
14822 * include/grub/normal.h: Added include to grub/menu.h.
14823 (grub_menu_entry): Moved to include/grub/menu.h.
14824 (grub_menu_entry_t): Likewise.
14825 (grub_menu): Likewise.
14826 (grub_menu_t): Likewise.
14827 (grub_normal_terminal_menu_viewer): Added.
14828 (grub_menu_execute_entry): Likewise.
14829 (grub_menu_run): Removed.
14830
14831 * DISTLIST: Added include/grub/menu.h.
14832 Added include/grub/menu_viewer.h.
14833 Added normal/menu_viewer.c.
14834
14835 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
14836
14837 * normal/execute.c (grub_script_execute_menuentry): Changed to use
14838 arglist for menutitle arguments.
14839
14840 * normal/main.c (grub_normal_menu_addentry): Likewise.
14841
14842 * normal/parser.y (menuentry): Likewise.
14843
14844 * normal/script.c (grub_script_create_cmdmenu): Likewise.
14845
14846 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
14847 (grub_script_create_cmdmenu): Likewise.
14848
14849 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
14850
14851 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
14852 changes.
14853
14854 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
14855
14856 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
14857
14858 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
14859
14860 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14861
14862 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14863
14864 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
14865
14866 2009-01-30 Christian Franke <franke@computer.org>
14867
14868 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
14869 in option help text.
14870
14871 2009-01-27 Pavel Roskin <proski@gnu.org>
14872
14873 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
14874
14875 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14876
14877 * commands/lsmmap.c: Add include to grub/machine/memory.h.
14878
14879 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
14880
14881 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
14882 unregister function.
14883
14884 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
14885
14886 * disk/scsi.c (grub_scsi_read): Fix sign problem.
14887
14888 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
14889
14890 * util/grub-mkfont.c (usage): Fix typo.
14891
14892 * util/elf/grub-mkimage.c (load_modules): Fix warning.
14893
14894 2009-01-26 Daniel Mierswa <impulze@impulze.org>
14895
14896 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
14897
14898 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
14899
14900 * kern/misc.c (grub_strcasecmp): New function.
14901 (grub_strcasecmp): Use grub_size_t instead of int for length.
14902 Fix return value.
14903 * include/grub/misc.h: Update function prototypes.
14904
14905 2009-01-26 Robert Millan <rmh@aybabtu.com>
14906
14907 * configure.ac: Fix cross-compilation check.
14908
14909 2009-01-22 Christian Franke <franke@computer.org>
14910
14911 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14912 (precision) digit string. Allow `.format2' without `format1' (width).
14913 Limit input chars for `%s' output to `format2' if specified. This is
14914 compatible with standard printf ().
14915
14916 2009-01-22 Christian Franke <franke@computer.org>
14917
14918 * disk/ata.c (grub_ata_wait_status): Replace by ...
14919 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14920 other status bits may be invalid while BSY is asserted.
14921 (grub_ata_check_ready): New function.
14922 (grub_ata_cmd): Removed.
14923 (grub_ata_wait_drq): New function.
14924 (grub_ata_strncpy): Remove inline.
14925 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14926 and error check now done by grub_ata_wait_drq ().
14927 (grub_ata_pio_write): Likewise.
14928 (grub_atapi_identify): Set DEV before check for !BSY. Use
14929 grub_ata_wait_drq () to wait for data.
14930 (grub_ata_device_initialize): Add status register check to
14931 detect missing SATA slave devices. Add debug messages.
14932 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14933 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14934 transfer loop by grub_ata_pio_write ().
14935 (grub_ata_identify): Set DEV before check for !BSY. Use
14936 grub_ata_wait_drq () to wait for data.
14937 (grub_ata_setaddress): Set DEV before check for !BSY.
14938 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14939 read/write in one loop. Fix invalid command on write. Fix incomplete
14940 command on (size % batch) == 0. Add missing error check after write of
14941 last block. Add debug messages.
14942 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14943
14944 2009-01-19 Christian Franke <franke@computer.org>
14945
14946 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14947 (GRUB_ATAPI_IREASON_*): Likewise.
14948 (grub_ata_pio_write): Fix timeout error return.
14949 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14950 (grub_atapi_wait_drq): New function.
14951 (grub_atapi_packet): New parameter `size'.
14952 Use grub_atapi_wait_drq () and direct write instead of
14953 grub_ata_pio_write ().
14954 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14955 reads the number of bytes requested by the device for each DRQ
14956 assertion.
14957 (grub_atapi_write): Remove old implementation, return not
14958 implemented instead.
14959
14960 2009-01-19 Christian Franke <franke@computer.org>
14961
14962 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14963 of 512 to calculate data size.
14964 (grub_scsi_read12): Likewise.
14965 (grub_scsi_write10): Likewise.
14966 (grub_scsi_write12): Likewise.
14967 (grub_scsi_read): Adjust size according to blocksize.
14968 Add checks for invalid blocksize and unaligned transfer.
14969
14970 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14971
14972 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14973
14974 * term/gfxterm.c (write_char): Fix background rendering for wide
14975 width glyphs.
14976
14977 2009-01-19 Robert Millan <rmh@aybabtu.com>
14978
14979 * config.guess: Update to latest version from config git.
14980 * config.sub: Likewise.
14981
14982 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
14983
14984 * Makefile.in: Change font compilation to use new grub-mkfont instead
14985 of java version.
14986
14987 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14988 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14989 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14990 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14991 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14992 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14993 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14994 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14995 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14996
14997 2009-01-16 Christian Franke <franke@computer.org>
14998
14999 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15000 (enum grub_ata_timeout_milliseconds): New enum.
15001 (grub_ata_wait_status): Add parameter milliseconds.
15002 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15003 recovery from timed-out commands.
15004 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15005 return grub_errno instead of REG_ERROR.
15006 (grub_ata_pio_write): Add parameter milliseconds.
15007 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15008 Pass milliseconds to grub_ata_wait_status () and
15009 grub_ata_pio_read ().
15010 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15011 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15012 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15013 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15014 It is not suitable for device detection, because DEV bit is ignored,
15015 the command may run too long, and not all devices set the signature
15016 properly.
15017 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15018 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15019 Fix device selection, DEV bit must be set first to address the registers
15020 of the correct device.
15021 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15022 grub_ata_pio_read/write ().
15023 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15024 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15025
15026 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15027
15028 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15029
15030 2009-01-13 Bean <bean123ch@gmail.com>
15031
15032 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15033
15034 2009-01-13 Bean <bean123ch@gmail.com>
15035
15036 * Makefile.in: (enable_grub_mkfont): New variable.
15037 (freetype_cflags): Likewise.
15038 (freetype_libs): Likewise.
15039
15040 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15041 (grub_mkfont_SOURCES): New variable.
15042 (grub_mkfont_CFLAGS): Likewise.
15043 (grub_mkfont_LDFLAGS): Likewise.
15044
15045 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15046 library if `--enable-grub-mkfont' is requested.
15047 (enable_grub_mkfont): New variable.
15048 (freetype_cflags): Likewise.
15049 (freetype_libs): Likewise.
15050
15051 * util/grub-mkfont.c: New file.
15052
15053 2009-01-12 Christian Franke <franke@computer.org>
15054
15055 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15056 mode check. Fix setting of compat_use[].
15057
15058 2009-01-10 Robert Millan <rmh@aybabtu.com>
15059
15060 Update a few copyright years which we forgot to do in 2008 (only for
15061 files whose changes made in 2008 were copyright-significant)
15062
15063 * Makefile.in: Add 2008 to Copyright line.
15064 * disk/ieee1275/ofdisk.c: Likewise.
15065 * disk/efi/efidisk.c: Likewise.
15066 * kern/dl.c: Likewise.
15067 * kern/sparc64/ieee1275/init.c: Likewise.
15068 * kern/mm.c: Likewise.
15069 * kern/efi/mm.c: Likewise.
15070 * boot/i386/pc/boot.S: Likewise.
15071 * genfslist.sh: Likewise.
15072 * fs/iso9660.c: Likewise.
15073 * fs/hfs.c: Likewise.
15074 * fs/jfs.c: Likewise.
15075 * fs/minix.c: Likewise.
15076 * fs/ufs.c: Likewise.
15077 * gensymlist.sh.in: Likewise.
15078 * genkernsyms.sh.in: Likewise.
15079 * include/grub/misc.h: Likewise.
15080 * include/grub/types.h: Likewise.
15081 * include/grub/symbol.h: Likewise.
15082 * include/grub/elf.h: Likewise.
15083 * include/grub/kernel.h: Likewise.
15084 * include/grub/disk.h: Likewise.
15085 * include/grub/dl.h: Likewise.
15086 * include/grub/i386/linux.h: Likewise.
15087 * include/grub/i386/pc/biosdisk.h: Likewise.
15088 * include/grub/efi/api.h: Likewise.
15089 * include/grub/efi/pe32.h: Likewise.
15090 * include/grub/util/misc.h: Likewise.
15091 * normal/execute.c: Likewise.
15092 * normal/arg.c: Likewise.
15093 * normal/completion.c: Likewise.
15094 * normal/lexer.c: Likewise.
15095 * normal/parser.y: Likewise.
15096 * normal/misc.c: Likewise.
15097 * commands/i386/pc/vbeinfo.c: Likewise.
15098 * commands/hexdump.c: Likewise.
15099 * commands/terminal.c: Likewise.
15100 * commands/ls.c: Likewise.
15101 * commands/help.c: Likewise.
15102 * partmap/pc.c: Likewise.
15103 * loader/efi/chainloader.c: Likewise.
15104 * loader/multiboot_loader.c: Likewise.
15105 * loader/i386/pc/multiboot2.c: Likewise.
15106 * term/efi/console.c: Likewise.
15107 * term/i386/pc/serial.c: Likewise.
15108 * util/lvm.c: Likewise.
15109 * util/console.c: Likewise.
15110 * util/i386/efi/grub-mkimage.c: Likewise.
15111 * util/raid.c: Likewise.
15112
15113 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
15114
15115 * commands/videotest.c: Removed include to grub/machine/memory.h.
15116
15117 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
15118 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
15119 (video_mod_SOURCES): Removed.
15120 (video_mod_CFLAGS): Likewise.
15121 (video_mod_LDFLAGS): Likewise.
15122 (gfxterm_mod_SOURCES): Likewise.
15123 (gfxterm_mod_CFLAGS): Likewise.
15124 (gfxterm_mod_LDFLAGS): Likewise.
15125 (videotest_mod_SOURCES): Likewise.
15126 (videotest_mod_CFLAGS): Likewise.
15127 (videotest_mod_LDFLAGS): Likewise.
15128 (bitmap_mod_SOURCES): Likewise.
15129 (bitmap_mod_CFLAGS): Likewise.
15130 (bitmap_mod_LDFLAGS): Likewise.
15131 (tga_mod_SOURCES): Likewise.
15132 (tga_mod_CFLAGS): Likewise.
15133 (tga_mod_LDFLAGS): Likewise.
15134 (jpeg_mod_SOURCES): Likewise.
15135 (jpeg_mod_CFLAGS): Likewise.
15136 (jpeg_mod_LDFLAGS): Likewise.
15137 (png_mod_SOURCES): Likewise.
15138 (png_mod_CFLAGS): Likewise.
15139 (png_mod_LDFLAGS): Likewise.
15140
15141 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
15142 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
15143 (video_mod_SOURCES): Added.
15144 (video_mod_CFLAGS): Likewise.
15145 (video_mod_LDFLAGS): Likewise.
15146 (videotest_mod_SOURCES): Likewise.
15147 (videotest_mod_CFLAGS): Likewise.
15148 (videotest_mod_LDFLAGS): Likewise.
15149 (bitmap_mod_SOURCES): Likewise.
15150 (bitmap_mod_CFLAGS): Likewise.
15151 (bitmap_mod_LDFLAGS): Likewise.
15152 (tga_mod_SOURCES): Likewise.
15153 (tga_mod_CFLAGS): Likewise.
15154 (tga_mod_LDFLAGS): Likewise.
15155 (jpeg_mod_SOURCES): Likewise.
15156 (jpeg_mod_CFLAGS): Likewise.
15157 (jpeg_mod_LDFLAGS): Likewise.
15158 (png_mod_SOURCES): Likewise.
15159 (png_mod_CFLAGS): Likewise.
15160 (png_mod_LDFLAGS): Likewise.
15161 (gfxterm_mod_SOURCES): Likewise.
15162 (gfxterm_mod_CFLAGS): Likewise.
15163 (gfxterm_mod_LDFLAGS): Likewise.
15164
15165 * term/gfxterm.c: Removed include to grub/machine/memory.h,
15166 grub/machine/console.h.
15167
15168 2009-01-04 Jerone Young <jerone@gmail.com>
15169
15170 Make on screen instructions clearer
15171
15172 Based on patch created by Jidanni <jidanni@jidanni.org>
15173
15174 * normal/menu.c: print clearer instructions on the screen
15175
15176 2009-01-02 Colin D Bennett <colin@gibibit.com>
15177
15178 New font engine.
15179
15180 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
15181 build system and fixed gfxterm.c to work with different sized fonts.
15182
15183 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
15184
15185 * configure: Re-generated.
15186
15187 * DISTLIST: Removed font/manager.c.
15188 Added font/font.c.
15189 Added font/font_cmd.c.
15190
15191 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
15192 compilation.
15193
15194 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
15195
15196 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
15197
15198 * kern/term.c: Changed users of grub_utf8_to_ucs4.
15199
15200 * normal/menu.c: Likewise.
15201
15202 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
15203 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
15204
15205 * include/grub/font.h: Replaced with new file.
15206
15207 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
15208 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
15209 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
15210 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
15211 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
15212 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
15213 fg_red, fg_green, fg_blue, fg_alpha.
15214 (grub_video_adapter): Removed blit_glyph.
15215 (grub_video_blit_glyph): Removed.
15216
15217 * font/manager.c: Removed file.
15218
15219 * font/font.c: New file.
15220
15221 * font/font_cmd.c: Likewise.
15222
15223 * video/video.c (grub_video_blit_glyph): Removed.
15224
15225 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
15226 (grub_video_vbe_map_rgba): Likewise.
15227 (grub_video_vbe_unmap_color_int): Likewise.
15228 (grub_video_vbe_blit_glyph): Removed.
15229 (grub_video_vbe_adapter): Removed blit_glyph.
15230
15231 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
15232 (get_pixel): Likewise.
15233 (set_pixel): Likewise.
15234
15235 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
15236
15237 * term/gfxterm.c: Adapted to new font engine.
15238
15239 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
15240
15241 * term/i386/pc/vga.c: Likewise.
15242
15243 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
15244
15245 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15246
15247 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15248
15249 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15250
15251 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15252
15253 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15254
15255 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15256
15257 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15258
15259 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15260
15261 * util/grub.d/00_header.in: Changed to use new loadfont command.
15262
15263 * util/grub-mkconfig_lib.in: Changed font extension.
15264
15265 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
15266
15267 * util/getroot.c (grub_util_get_grub_dev): Add support for
15268 /dev/md/dNNpNN style partitionable mdraid devices.
15269
15270 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
15271
15272 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
15273 at a time limit of the PXE TFTP API correctly.
15274 (grub_pxefs_close): Likewise.
15275
15276 2008-11-29 Robert Millan <rmh@aybabtu.com>
15277
15278 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
15279 grub_ata_device_initialize() calls.
15280
15281 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
15282
15283 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
15284 iteration failed.
15285 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
15286
15287 2008-11-28 Robert Millan <rmh@aybabtu.com>
15288
15289 Fix build on powerpc-ieee1275. Based on patch created by
15290 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
15291 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15292 `kern/ieee1275/mmap.c'.
15293 * include/grub/powerpc/ieee1275/memory.h: New file.
15294
15295 Provide grub-install on coreboot.
15296 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
15297 (grub_install_SOURCES): New variable.
15298 * util/i386/pc/grub-install.in: Add a few condition checks to make it
15299 usable on coreboot.
15300
15301 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
15302
15303 * util/grub-fstest.c (grub_term_get_current_input): Change return type
15304 to `grub_term_input_t'.
15305 (grub_term_get_current_output): Change return type to
15306 `grub_term_output_t'.
15307
15308 2008-11-22 Robert Millan <rmh@aybabtu.com>
15309
15310 Fix breakage on coreboot due to declaration mismatch.
15311 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
15312 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
15313 grub_vga_text_cls().
15314
15315 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
15316 comments. Avoid copying one more byte than necessary (just in case).
15317
15318 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
15319 to 0x200000 (avoids trouble with some OFW implementations, and matches
15320 with the one in Yaboot).
15321 Reported by Manoel Abranches
15322
15323 2008-11-20 Robert Millan <rmh@aybabtu.com>
15324
15325 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
15326 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
15327
15328 * util/grub-mkconfig_lib.in (grub_warn): New function.
15329 (convert_system_path_to_grub_path): Use grub_warn() when issuing
15330 warnings, to obtain consistent formatting.
15331 * util/grub.d/00_header.in: Likewise.
15332 * util/update-grub_lib.in: Likewise.
15333
15334 * loader/i386/linux.c (allocate_pages): Fix a warning.
15335 Move comment text to `#error' stanza.
15336
15337 Harmonize ieee1275's grub_available_iterate() with the generic
15338 grub_machine_mmap_iterate() interface (fixes a recently-introduced
15339 build problem on i386-ieee1275):
15340 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
15341 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
15342 parameter `type'. Update all users of this function.
15343 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15344 `kern/ieee1275/mmap.c'.
15345 * kern/ieee1275/init.c
15346 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
15347 with ...
15348 (grub_machine_mmap_iterate): ... this.
15349 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
15350 return type to `grub_err_t'. Update all implementations of this
15351 function prototype.
15352 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
15353 Likewise.
15354
15355 Add `lsmmap' command (lists firmware-provided memory map):
15356 * commands/lsmmap.c: New file.
15357 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
15358 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
15359 variables.
15360 * conf/powerpc-ieee1275.rmk: Likewise.
15361 * conf/i386-coreboot.rmk: Likewise.
15362 * conf/i386-ieee1275.rmk: Likewise.
15363
15364 2008-11-19 Robert Millan <rmh@aybabtu.com>
15365
15366 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
15367 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
15368 constraints to initrd allocation (based on code from
15369 loader/i386/pc/linux.c). Without them, initrd was allocated too high
15370 for Linux to find it.
15371
15372 2008-11-14 Robert Millan <rmh@aybabtu.com>
15373
15374 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
15375 order to cope with duplicate slashes.
15376
15377 2008-11-14 Robert Millan <rmh@aybabtu.com>
15378
15379 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
15380 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
15381 don't want to mess with lower memory, because it is used in the Linux
15382 loader.
15383
15384 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
15385 an appropriate place in lower memory, between 0x10000 and 0x90000,
15386 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
15387 is in our heap (probably as a result of it being corrupted during
15388 decompression). Add #error instance with comment to explain why this
15389 loader isn't currently usable on PC/BIOS.
15390
15391 2008-11-14 Robert Millan <rmh@aybabtu.com>
15392
15393 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
15394 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
15395
15396 2008-11-12 Robert Millan <rmh@aybabtu.com>
15397
15398 Make loader/i386/linux.c buildable on i386-pc (although disabled).
15399
15400 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
15401 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
15402 from here ...
15403 * include/grub/i386/pc/memory.h: ... to here.
15404
15405 2008-11-12 Robert Millan <rmh@aybabtu.com>
15406
15407 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
15408 split).
15409
15410 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
15411 (grub_console_cur_color, grub_console_real_putchar)
15412 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15413 (grub_console_setcolorstate, grub_console_setcolor)
15414 (grub_console_getcolor): Move from here ...
15415 * include/grub/i386/vga_common.h: ... to here (new file).
15416
15417 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
15418 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
15419 `<grub/i386/io.h>'.
15420 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
15421 `<grub/i386/vga_common.h>'.
15422
15423 2008-11-12 Robert Millan <rmh@aybabtu.com>
15424
15425 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
15426 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
15427 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
15428 variables.
15429 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15430 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
15431
15432 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
15433 grub_console_init() with call to grub_vga_text_init().
15434 (grub_machine_fini): Replace call to
15435 grub_console_fini() with call to grub_vga_text_fini() and
15436 grub_at_keyboard_fini().
15437
15438 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
15439 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
15440 (grub_console_setcolorstate, grub_console_setcolor)
15441 (grub_console_getcolor): New function prototypes.
15442
15443 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
15444 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
15445 (grub_vga_text_setcursor): Static-ize.
15446 (grub_vga_text_term): New structure.
15447 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
15448
15449 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
15450 (grub_console_cur_color, grub_console_standard_color)
15451 (grub_console_normal_color, grub_console_highlight_color)
15452 (map_char, grub_console_putchar, grub_console_getcharwidth)
15453 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
15454 (grub_console_getcolor): Move from here ...
15455 * term/i386/vga_common.c: ... to here (same function names).
15456
15457 2008-11-12 Robert Millan <rmh@aybabtu.com>
15458
15459 Use newly-added Multiboot support in coreboot.
15460
15461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
15462 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
15463
15464 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
15465 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
15466 (codestart): Store the MBI in `startup_multiboot_info' when we're
15467 being loaded using Multiboot.
15468
15469 * kern/i386/coreboot/init.c (grub_machine_init): Move
15470 grub_at_keyboard_init() call to beginning of function (useful for
15471 debugging). Call grub_machine_mmap_init() before attempting to use
15472 grub_machine_mmap_iterate().
15473 (grub_lower_mem, grub_upper_mem): Move from here ...
15474 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
15475 here (new file).
15476
15477 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
15478 function prototype.
15479
15480 2008-11-12 Robert Millan <rmh@aybabtu.com>
15481
15482 Fix a regression introduced by the at_keyboard.mod split. Because
15483 some terminals are default on some platforms and non-default on
15484 others, the first terminal being registered determines which is
15485 going to be default.
15486
15487 * kern/term.c (grub_term_register_input): If this is the first
15488 terminal being registered, set it as the current one.
15489 (grub_term_register_output): Likewise.
15490
15491 * term/efi/console.c (grub_console_init): Do not call
15492 grub_term_set_current_output() or grub_term_set_current_input().
15493 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
15494 * term/i386/pc/console.c (grub_console_init): Likewise.
15495 (grub_console_fini): Do not call grub_term_set_current_input()
15496 (but leave grub_term_set_current_output() to restore text mode).
15497
15498 2008-11-10 Robert Millan <rmh@aybabtu.com>
15499
15500 * util/grub.d/00_header.in: Add backward compatibility check for
15501 versions of terminal.mod that don't understand `terminal_input' or
15502 `terminal_output'.
15503
15504 2008-11-09 Robert Millan <rmh@aybabtu.com>
15505
15506 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
15507 `terminal_input' / `terminal_output', not `terminal'.
15508
15509 2008-11-08 Robert Millan <rmh@aybabtu.com>
15510
15511 * Makefile.in (include_DATA): Fix srcdir=. assumption.
15512 (DISTCLEANFILES): Add `build_env.mk'.
15513
15514 2008-11-08 Robert Millan <rmh@aybabtu.com>
15515
15516 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
15517 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15518 members. Update all users.
15519 * util/console.c (grub_ncurses_term): Split in ...
15520 (grub_ncurses_term_input): ... this, and ...
15521 (grub_ncurses_term_output): ... this. Update all users.
15522 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
15523
15524 2008-11-08 Robert Millan <rmh@aybabtu.com>
15525
15526 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
15527 (PKGDATA): Add $(pkgdata_SRCDIR).
15528 (pkglib_BUILDDIR): New variable.
15529 (pkgdata_SRCDIR): New variable.
15530 (build_env.mk): New target.
15531 (include_DATA): New variable.
15532 (install-local): Install $(include_DATA) files in $(includedir).
15533
15534 2008-11-07 Pavel Roskin <proski@gnu.org>
15535
15536 * gendistlist.sh: Use C locale for sorting to ensure consistent
15537 output on all systems.
15538
15539 * util/grub.d/00_header.in: Remove incorrect space before
15540 "serial".
15541
15542 2008-11-07 Robert Millan <rmh@aybabtu.com>
15543
15544 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
15545 per specification.
15546 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
15547 * loader/multiboot_loader.c (find_multi_boot2_header): New function
15548 (based on find_multi_boot1_header).
15549 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
15550 using find_multi_boot2_header(), and abort if neither Multiboot or
15551 Multiboot headers were found.
15552
15553 2008-11-07 Robert Millan <rmh@aybabtu.com>
15554
15555 Modularize at_keyboard.mod:
15556
15557 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
15558 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15559 (at_keyboard_mod_LDFLAGS): New variables.
15560
15561 Actual terminal split:
15562
15563 * include/grub/term.h (struct grub_term): Split in ...
15564 (struct grub_term_input): ... this, and ...
15565 (struct grub_term_output): ... this. Update all users.
15566 (grub_term_set_current): Split in ...
15567 (grub_term_set_current_input): ... this, and ...
15568 (grub_term_set_current_output): ... this.
15569 (grub_term_get_current): Split in ...
15570 (grub_term_get_current_input): ... this, and ...
15571 (grub_term_get_current_output): ... this.
15572 (grub_term_register): Split in ...
15573 (grub_term_register_input): ... this, and ...
15574 (grub_term_register_output): ... this.
15575 (grub_term_unregister): Split in ...
15576 (grub_term_unregister_input): ... this, and ...
15577 (grub_term_unregister_output): ... this.
15578 (grub_term_iterate): Split in ...
15579 (grub_term_iterate_input): ... this, and ...
15580 (grub_term_iterate_output): ... this.
15581
15582 * kern/term.c (grub_term_list): Split in ...
15583 (grub_term_list_input): ... this, and ...
15584 (grub_term_list_output): ... this. Update all users.
15585 (grub_cur_term): Split in ...
15586 (grub_cur_term_input): ... this, and ...
15587 (grub_cur_term_output): ... this. Update all users.
15588 (grub_term_set_current): Split in ...
15589 (grub_term_set_current_input): ... this, and ...
15590 (grub_term_set_current_output): ... this.
15591 (grub_term_get_current): Split in ...
15592 (grub_term_get_current_input): ... this, and ...
15593 (grub_term_get_current_output): ... this.
15594 (grub_term_register): Split in ...
15595 (grub_term_register_input): ... this, and ...
15596 (grub_term_register_output): ... this.
15597 (grub_term_unregister): Split in ...
15598 (grub_term_unregister_input): ... this, and ...
15599 (grub_term_unregister_output): ... this.
15600 (grub_term_iterate): Split in ...
15601 (grub_term_iterate_input): ... this, and ...
15602 (grub_term_iterate_output): ... this.
15603
15604 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
15605 a check for input and one for output (and only attempt to get keys
15606 from user when input works).
15607
15608 * util/grub-probe.c (grub_term_get_current): Split in ...
15609 (grub_term_get_current_input): ... this, and ...
15610 (grub_term_get_current_output): ... this.
15611 * util/grub-fstest.c: Likewise.
15612 * util/i386/pc/grub-setup.c: Likewise.
15613 * util/grub-editenv.c: Likewise.
15614
15615 Portability adjustments:
15616
15617 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
15618 `term/i386/pc/at_keyboard.c'.
15619 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
15620 grub_keyboard_controller_init() (now handled by terminal .init).
15621 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
15622 grub_at_keyboard_init().
15623 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
15624 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
15625 at_keyboard.mod via input terminal interface).
15626 * include/grub/i386/coreboot/console.h: Convert into a stub for
15627 `<grub/i386/pc/console.h>'.
15628
15629 Migrate full terminals to new API:
15630
15631 * term/efi/console.c (grub_console_term): Split into ...
15632 (grub_console_term_input): ... this, and ...
15633 (grub_console_term_output): ... this. Update all users.
15634 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
15635 (grub_ofconsole_init): Split into ...
15636 (grub_ofconsole_init_input): ... this, and ...
15637 (grub_ofconsole_init_output): ... this.
15638 (grub_ofconsole_term): Split into ...
15639 (grub_ofconsole_term_input): ... this, and ...
15640 (grub_ofconsole_term_output): ... this. Update all users.
15641 * term/i386/pc/serial.c (grub_serial_term): Split into ...
15642 (grub_serial_term_input): ... this, and ...
15643 (grub_serial_term_output): ... this. Update all users.
15644 * term/i386/pc/console.c (grub_console_term): Split into ...
15645 (grub_console_term_input): ... this, and ...
15646 (grub_console_term_output): ... this. Update all users.
15647 (grub_console_term_input): Only enable it on PC/BIOS platform.
15648 (grub_console_init): Remove grub_keyboard_controller_init() call.
15649
15650 Migrate input terminals to new API:
15651
15652 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
15653 `i386' and `i386/pc' to enable build on x86_64 (this driver is
15654 i386-specific anyway).
15655 (grub_console_checkkey): Rename to ...
15656 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
15657 users.
15658 (grub_keyboard_controller_orig): New variable.
15659 (grub_console_getkey): Rename to ...
15660 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
15661 users.
15662 (grub_keyboard_controller_init): Static-ize. Save original
15663 controller value so that it can be restored ...
15664 (grub_keyboard_controller_fini): ... here (new function).
15665 (grub_at_keyboard_term): New structure.
15666 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
15667 functions.
15668
15669 Migrate output terminals to new API:
15670
15671 * term/i386/pc/vga.c (grub_vga_term): Change type to
15672 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15673 members. Update all users.
15674 * term/gfxterm.c (grub_video_term): Change type to
15675 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
15676 members. Update all users.
15677 * include/grub/i386/pc/console.h (grub_console_checkkey)
15678 (grub_console_getkey): Do not export (no longer needed by gfxterm,
15679 etc).
15680
15681 Migrate `terminal' command and userland tools to new API:
15682
15683 * commands/terminal.c (grub_cmd_terminal): Split into ...
15684 (grub_cmd_terminal_input): ... this, and ...
15685 (grub_cmd_terminal_output): ... this.
15686 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
15687 `terminal_input' and `terminal_output'.
15688 * util/grub.d/00_header.in: Adjust `terminal' calls to new
15689 `terminal_input' / `terminal_output' API.
15690 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
15691 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
15692 provided ${GRUB_TERMINAL}, convert it).
15693
15694 2008-11-04 Robert Millan <rmh@aybabtu.com>
15695
15696 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
15697 for FreeBSD.
15698 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
15699
15700 2008-11-03 Bean <bean123ch@gmail.com>
15701
15702 * kern/elf.c (grub_elf32_load): Revert to previous code.
15703 (grub_elf64_load): Likewise.
15704
15705 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
15706
15707 2008-11-01 Robert Millan <rmh@aybabtu.com>
15708
15709 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
15710 (TARGET_CPPFLAGS): Likewise.
15711 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
15712
15713 2008-11-01 Carles Pina i Estany <carles@pina.cat>
15714
15715 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
15716
15717 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15718
15719 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
15720 addition of objects until the code is not going to be able to fail.
15721
15722 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
15723
15724 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
15725 (add a missing NULL check, and correct them by moving the pointer
15726 operations after the actual check).
15727
15728 2008-10-29 Robert Millan <rmh@aybabtu.com>
15729
15730 * util/i386/pc/grub-install.in: Handle empty string as output from
15731 make_system_path_relative_to_its_root().
15732
15733 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
15734
15735 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
15736 circular metadata worst case scenario. If the metadata is circular
15737 then copy the wrap in place.
15738 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
15739 project lib/format_text/layout.h
15740 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
15741
15742 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15743
15744 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
15745
15746 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
15747
15748 * util/update-grub_lib.in: Mention filename in warning message.
15749
15750 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15751
15752 * NEWS: Update for rename of update-grub to grub-mkconfig.
15753
15754 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
15755
15756 * util/update-grub_lib.in: Copy to ...
15757 * util/grub-mkconfig_lib.in: ... this. Update all users.
15758 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
15759 * util/update-grub.in: Rename to ...
15760 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
15761 option. Add `--output' option to allow users to specify the generated
15762 configuration file. Default to stdout.
15763 (update_grub_dir): Rename to ...
15764 (grub_mkconfig_dir): ... this.
15765 (grub_cfg): Default to an empty string.
15766 * conf/common.rmk (update-grub): Rename to ...
15767 (grub-mkconfig): ... this.
15768 (update-grub_lib): Copy to ...
15769 (grub-mkconfig_lib): ... this.
15770 (update-grub_SCRIPTS): Copy to ...
15771 (grub-mkconfig_SCRIPTS): ... this. Update all users.
15772 (update-grub_DATA): Rename to ...
15773 (grub-mkconfig_DATA): ... this.
15774
15775 2008-09-28 Robert Millan <rmh@aybabtu.com>
15776
15777 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
15778 to `modified'. Add the real `created' field.
15779 (grub_iso9660_uuid): Use `modified' rather than `created' for
15780 constructing the UUID.
15781
15782 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
15783
15784 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
15785 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
15786
15787 2008-09-28 Bean <bean123ch@gmail.com>
15788
15789 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
15790 Thanks to Christian Franke for finding this bug.
15791
15792 2008-09-25 Robert Millan <rmh@aybabtu.com>
15793
15794 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
15795 instances of grub_util_get_disk_name() (see previous commit).
15796
15797 2008-09-25 Robert Millan <rmh@aybabtu.com>
15798
15799 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
15800 `util/i386/get_disk_name.c'.
15801 * conf/i386-efi.rmk: Likewise.
15802 * conf/x86_64-efi.rmk: Likewise.
15803 * conf/i386-coreboot.rmk: Likewise.
15804 * conf/i386-ieee1275.rmk: Likewise.
15805 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
15806 `util/ieee1275/get_disk_name.c'.
15807 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
15808 * util/ieee1275/get_disk_name.c: Remove file.
15809 * util/i386/get_disk_name.c: Remove file.
15810 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
15811 "hd%d" for device.map entries, rather than using
15812 grub_util_get_disk_name().
15813
15814 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15815
15816 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
15817 warning.
15818 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
15819
15820 2008-09-24 Carles Pina i Estany <carles@pina.cat>
15821
15822 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
15823 Changed to 0x5100.
15824 (GRUB_TERM_PPAGE): Changed to 0x4900.
15825
15826 2008-09-24 Robert Millan <rmh@aybabtu.com>
15827
15828 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
15829 macros (they were i386-pc specific).
15830 * include/grub/sparc64/ieee1275/console.h: Likewise.
15831 * include/grub/efi/console.h: Likewise.
15832
15833 2008-09-22 Bean <bean123ch@gmail.com>
15834
15835 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
15836 resident and in attribute list.
15837
15838 * include/grub/ntfs.h (BMP_LEN): Removed.
15839
15840 2008-09-22 Bean <bean123ch@gmail.com>
15841
15842 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
15843 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
15844
15845 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
15846 error occurs, as grub_disk_open will call grub_disk_close, which will
15847 call p->close (scsi).
15848
15849 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15850
15851 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
15852 (AC_PREREQ): Bumped to 2.59.
15853 (AC_TRY_COMPILE): Replace obsolete macro with ...
15854 (AC_COMPILE_IFELSE): ... this.
15855 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
15856 (AC_LINK_IFELSE): ... this.
15857
15858 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
15859
15860 * autogen.sh: Add a call to `gendistlist.sh'.
15861
15862 2008-09-19 Christian Franke <franke@computer.org>
15863
15864 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
15865 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
15866 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
15867 Export __enable_execute_stack() to modules.
15868 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
15869 New function.
15870
15871 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15872
15873 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
15874 Sort the list.
15875
15876 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
15877
15878 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
15879 #include <grub/util/hostdisk.h>.
15880
15881 2008-09-08 Robert Millan <rmh@aybabtu.com>
15882
15883 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
15884 segments when their filesz is zero (grub_file_read() interprets
15885 zero-size as "read until EOF", which results in memory corruption).
15886 Use `lowest_segment' rather than 0 for calculating the current
15887 segment load address.
15888
15889 2008-09-08 Robert Millan <rmh@aybabtu.com>
15890
15891 * util/hostdisk.c (open_device): Replace a grub_util_info() call
15892 with grub_dprintf("hostdisk", ...), as it was so verbose that it
15893 clobbered useful information.
15894
15895 2008-09-08 Robert Millan <rmh@aybabtu.com>
15896
15897 * include/grub/util/biosdisk.h: Move to ...
15898 * include/grub/util/hostdisk.h: ... here. Update all users.
15899 * util/biosdisk.c: Move to ...
15900 * util/hostdisk.c: ... here. Update all users.
15901
15902 2008-09-07 Robert Millan <rmh@aybabtu.com>
15903
15904 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
15905 variables.
15906 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
15907 and length can be stored directly in the `mbi->mmap_addr' and
15908 `mbi->mmap_length' struct fields.
15909
15910 2008-09-07 Robert Millan <rmh@aybabtu.com>
15911
15912 * conf/i386.rmk: New file. Provides declaration for building
15913 `cpuid.mod'.
15914 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15915 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15916 variables.
15917 Include `conf/i386.mk'.
15918 * conf/i386-efi.rmk: Likewise.
15919 * conf/x86_64-efi.rmk: Likewise.
15920 * conf/i386-coreboot.rmk: Likewise.
15921 * conf/i386-ieee1275.rmk: Likewise.
15922
15923 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15924
15925 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15926 Adds optimization support for BGR based modes.
15927
15928 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15929 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15930 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15931 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15932 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15933 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15934 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15935 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15936 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15937 (grub_video_i386_vbeblit_index_index): Likewise.
15938 (grub_video_i386_vbeblit_replace_directN): Added.
15939 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15940 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15941 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15942 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15943 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15944 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15945 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15946 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15947 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15948 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15949 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15950 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15951 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15952
15953 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15954 (grub_video_i386_vbefill_R8G8B8): Likewise.
15955 (grub_video_i386_vbefill_index): Likewise.
15956 (grub_video_i386_vbefill_direct32): Added.
15957 (grub_video_i386_vbefill_direct24): Likewise.
15958 (grub_video_i386_vbefill_direct16): Likewise.
15959 (grub_video_i386_vbefill_direct8): Likewise.
15960
15961 * include/grub/video.h (grub_video_blit_format): Removed
15962 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15963 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15964 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15965 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15966 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
15967
15968 * video/video.c (grub_video_get_blit_format): Updated to use new
15969 blit formats. Added handling for 16 bit color modes.
15970
15971 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
15972 fillers.
15973 (common_blitter): Updated to use new blitters.
15974
15975 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15976 Removed.
15977 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15978 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15980 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15981 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15982 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15983 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15984 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15985 (grub_video_i386_vbeblit_index_index): Likewise.
15986 (grub_video_i386_vbeblit_replace_directN): Added.
15987 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15988 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15989 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15990 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15991 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15992 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15993 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15994 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15995 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15996 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15997 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15998 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15999 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16000
16001 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16002 (grub_video_i386_vbefill_R8G8B8): Likewise.
16003 (grub_video_i386_vbefill_index): Likewise.
16004 (grub_video_i386_vbefill_direct32): Added.
16005 (grub_video_i386_vbefill_direct24): Likewise.
16006 (grub_video_i386_vbefill_direct16): Likewise.
16007 (grub_video_i386_vbefill_direct8): Likewise.
16008
16009 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16010 types.
16011
16012 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16013 types.
16014
16015 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16016 blitter types.
16017
16018 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16019 types.
16020
16021 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16022
16023 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16024 RAID level 1.
16025
16026 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16027
16028 * fs/iso9660.c (grub_iso9660_date): New structure.
16029 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16030 (grub_iso9660_uuid): New function.
16031
16032 2008-09-05 Bean <bean123ch@gmail.com>
16033
16034 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16035
16036 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16037 insensitive bit for names in Win32 and Win32 & DOS namespace.
16038
16039 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16040
16041 * include/grub/types.h (LONG_MAX): Likewise.
16042
16043 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16044
16045 * util/getroot.c: Include <config.h>.
16046 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16047 add support for /dev/md/N devices and handle LVM double dash escaping.
16048
16049 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16050
16051 * config.guess: Update to latest version from config git.
16052 * config.sub: Likewise.
16053
16054 2008-09-03 Robert Millan <rmh@aybabtu.com>
16055
16056 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16057 `disk->total_sectors'.
16058
16059 2008-09-01 Colin D Bennett <colin@gibibit.com>
16060
16061 * include/grub/normal.h: Fixed incorrect comment for
16062 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16063
16064 2008-09-01 Colin D Bennett <colin@gibibit.com>
16065
16066 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16067 values with defines.
16068
16069 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16070 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16071 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16072 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16073 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16074 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16075 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16076 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16077 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16078 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16079 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16080 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16081 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16082 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16083 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16084 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16085 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16086 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16087 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16088
16089 2008-08-31 Robert Millan <rmh@aybabtu.com>
16090
16091 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16092 declaration.
16093 (grub_multiboot): Fix a few warnings.
16094
16095 2008-08-31 Robert Millan <rmh@aybabtu.com>
16096
16097 * loader/i386/pc/multiboot.c: Update comment not to say that
16098 boot_device support is unimplemented.
16099
16100 2008-08-31 Robert Millan <rmh@aybabtu.com>
16101
16102 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
16103 or memory map support are unimplemented.
16104
16105 2008-08-31 Colin D Bennett <colin@gibibit.com>
16106
16107 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
16108
16109 2008-08-31 Colin D Bennett <colin@gibibit.com>
16110
16111 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
16112 total video memory in 'vbeinfo' output; show color format details for
16113 each video mode.
16114
16115 2008-08-30 Pavel Roskin <proski@gnu.org>
16116
16117 * util/genmoddep.c: Remove for real this time.
16118 * DISTLIST: Remove util/genmoddep.c.
16119
16120 2008-08-30 Robert Millan <rmh@aybabtu.com>
16121
16122 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
16123 as required by Multiboot spec (it was already 4-byte aligned, but
16124 only by chance).
16125
16126 2008-08-29 Pavel Roskin <proski@gnu.org>
16127
16128 * kern/powerpc/ieee1275/crt0.S: Rename to ...
16129 * kern/powerpc/ieee1275/startup.S: ... this.
16130 * conf/powerpc-ieee1275.rmk: Adjust for the above.
16131 * DISTLIST: Likewise.
16132
16133 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
16134 grub/cpu/kernel.h. Add start label for consistency with other
16135 platforms. Add grub_prefix immediately after start. Add jump
16136 to the code after grub_prefix.
16137 * include/grub/powerpc/kernel.h: Provide valid values for
16138 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
16139
16140 2008-08-29 Bean <bean123ch@gmail.com>
16141
16142 * configure.ac: Change host_os to cygwin for mingw.
16143 (asprintf): New check for function.
16144
16145 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
16146 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
16147
16148 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
16149 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
16150 sync, sleep and grub_util_get_disk_size for mingw.
16151
16152 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
16153 to get size in mingw.
16154 (open_device): Use flag O_BINARY if it's defined.
16155 (find_root_device): Add dummy code for mingw.
16156
16157 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
16158 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
16159 (get_scsi_disk_name): Return 0 for mingw.
16160
16161 * util/hostfs.c: #include <grub/util/misc.h>.
16162 (grub_hostfs_open): Use "rb" flag to open file, use
16163 grub_util_get_disk_size to get disk size for mingw.
16164
16165 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
16166 (asprintf): New function if HAVE_ASPRINTF is not set.
16167 (sync): New function for mingw.
16168 (sleep): Likewise.
16169 (grub_util_get_disk_size): Likewise.
16170
16171 2008-08-28 Pavel Roskin <proski@gnu.org>
16172
16173 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16174 kern/time.c.
16175
16176 2008-08-28 Robert Millan <rmh@aybabtu.com>
16177
16178 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
16179
16180 2008-08-28 Robert Millan <rmh@aybabtu.com>
16181
16182 Change find_grub_drive() syntax so it doesn't prevent it from
16183 detecting NULL names as errors.
16184
16185 * util/biosdisk.c (find_grub_drive): Move free slot search code
16186 from here ...
16187 (find_free_slot): ... to here.
16188 (read_device_map): Use find_free_slot() to search for free slots.
16189
16190 2008-08-27 Marco Gerards <marco@gnu.org>
16191
16192 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
16193 (scsi_mod_SOURCES): New variable.
16194 (scsi_mod_CFLAGS): Likewise
16195 (scsi_mod_LDFLAGS): Likewise.
16196
16197 * disk/scsi.c: New file.
16198
16199 * include/grub/scsi.h: Likewise.
16200
16201 * include/grub/scsicmd.h: Likewise.
16202
16203 * disk/ata.c: Include <grub/scsi.h>.
16204 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
16205 instead.
16206 (grub_ata_iterate): Skip ATAPI devices.
16207 (grub_ata_open): Only handle ATAPI devices.
16208 (struct grub_atapi_read): Removed.
16209 (grub_atapi_readsector): Likewise.
16210 (grub_ata_read): No longer handle ATAPI devices.
16211 (grub_ata_write): Likewise.
16212 (grub_atapi_iterate): New function.
16213 (grub_atapi_read): Likewise.
16214 (grub_atapi_write): Likewise.
16215 (grub_atapi_open): Likewise.
16216 (grub_atapi_close): Likewise.
16217 (grub_atapi_dev): New variable.
16218 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
16219 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
16220
16221 * include/grub/disk.h (enum grub_disk_dev_id): Add
16222 `GRUB_DISK_DEVICE_SCSI_ID'.
16223
16224 2008-08-26 Robert Millan <rmh@aybabtu.com>
16225
16226 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
16227 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
16228 descriptive.
16229
16230 2008-08-23 Bean <bean123ch@gmail.com>
16231
16232 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
16233 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16234 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
16235 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
16236 dm_nv.mod.
16237 (raid5rec_mod_SOURCES): New macro.
16238 (raid5rec_mod_CFLAGS): Likewise.
16239 (raid5rec_mod_LDFLAGS): Likewise.
16240 (raid6rec_mod_SOURCES): Likewise.
16241 (raid6rec_mod_CFLAGS): Likewise.
16242 (raid6rec_mod_LDFLAGS): Likewise.
16243 (mdraid_mod_SOURCES): Likewise.
16244 (mdraid_mod_CFLAGS): Likewise.
16245 (mdraid_mod_LDFLAGS): Likewise.
16246 (dm_nv_mod_SOURCES): Likewise.
16247 (dm_nv_mod_CFLAGS): Likewise.
16248 (dm_nv_mod_LDFLAGS): Likewise.
16249
16250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
16251 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
16252 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16253
16254 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
16255 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
16256
16257 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16258
16259 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16260
16261 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16262
16263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16264
16265 * disk/raid5_recover.c: New file.
16266
16267 * disk/raid6_recover.c: Likewise.
16268
16269 * disk/mdraid_linux.c: Likewise.
16270
16271 * disk/dmraid_nvidia.c: Likewise.
16272
16273 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
16274 ULONG_MAX.
16275
16276 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
16277 calculate the size of raid device.
16278 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
16279 different layout of raid5.
16280 (grub_raid_scan_device): Remove code specific to mdraid.
16281 (grub_raid_list): New variable.
16282 (free_array): New function.
16283 (grub_raid_register): Likewise.
16284 (grub_raid_unregister): Likewise.
16285 (grub_raid_rescan): Likewise.
16286 (GRUB_MOD_INIT): Don't iterate device here.
16287 (GRUB_MOD_FINI): Use free_array to release resource.
16288
16289 * include/grub/raid.h: Remove macro and structure specific to mdraid.
16290 (grub_raid5_recover_func_t): New function variable type.
16291 (grub_raid6_recover_func_t): Likewise.
16292 (grub_raid5_recover_func): New variable.
16293 (grub_raid6_recover_func): Likewise.
16294 (grub_raid_register): New function.
16295 (grub_raid_unregister): Likewise.
16296 (grub_raid_rescan): Likewise.
16297 (grub_raid_block_xor): Likewise.
16298
16299 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
16300 (CMD_CRC): New macro.
16301 (part): Removed.
16302 (read_file): Handle device as well as file.
16303 (cmd_crc): New function.
16304 (fstest): Handle multiple disks.
16305 (options): Remove part, raw and long, add root and diskcount.
16306 (usage): Add crc, remove -p, -r, -l, add -r and -c.
16307 (main): Find the first non option entry and ignore subsequent options,
16308 add handling for the new options, support multiple disks.
16309
16310 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
16311
16312 2008-08-23 Bean <bean123ch@gmail.com>
16313
16314 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
16315
16316 * genfslist.sh: Ignore kernel.mod.
16317
16318 * genpartmaplist.sh: Likewise.
16319
16320 2008-08-23 Robert Millan <rmh@aybabtu.com>
16321
16322 * util/getroot.c (find_root_device): Skip anything that starts with
16323 a dot, not just directories. This avoids things like /dev/.tmp.md0.
16324
16325 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
16326
16327 * util/update-grub.in (GRUB_GFXMODE): Export variable.
16328 * util/grub.d/00_header.in: Allow the administrator to change default
16329 gfxmode via ${GRUB_GFXMODE}.
16330
16331 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
16332
16333 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
16334
16335 2008-08-21 Robert Millan <rmh@aybabtu.com>
16336
16337 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
16338 loader.
16339 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
16340 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
16341
16342 2008-08-20 Carles Pina i Estany <carles@pina.cat>
16343
16344 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
16345 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
16346
16347 2008-08-19 Robert Millan <rmh@aybabtu.com>
16348
16349 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
16350 (struct grub_virtual_screen): Remove `cursor_color'.
16351 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
16352 initialization.
16353 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
16354
16355 2008-08-18 Robert Millan <rmh@aybabtu.com>
16356
16357 Unify (identical) linux_normal.c files.
16358 * loader/i386/efi/linux_normal.c: Move from here ...
16359 * loader/linux_normal.c: ... to here. Update all users.
16360 * loader/i386/pc/linux_normal.c: Delete. Update all users.
16361 * loader/i386/ieee1275/linux_normal.c: Likewise.
16362
16363 2008-08-18 Robert Millan <rmh@aybabtu.com>
16364
16365 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
16366 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
16367 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
16368 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
16369 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
16370 New macros.
16371 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
16372 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
16373 (GRUB_LINUX_CL_END_OFFSET): ... to here.
16374 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
16375 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
16376 (GRUB_EFI_CL_END_OFFSET): Rename to ...
16377 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
16378 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
16379 Initialize `params->video_cursor_x' and `params->video_cursor_y'
16380 portably using grub_getxy().
16381 Replace `-EFI' with `-bzImage' in boot message.
16382
16383 2008-08-17 Robert Millan <rmh@aybabtu.com>
16384
16385 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
16386
16387 2008-08-17 Robert Millan <rmh@aybabtu.com>
16388
16389 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
16390
16391 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
16392 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
16393 (grub_machine_mmap_iterate): New function declaration.
16394 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
16395 structure.
16396 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
16397 macros.
16398
16399 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
16400 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
16401 Move e820 parsing from here ...
16402 * kern/i386/pc/mmap.c: New file.
16403 (grub_machine_mmap_iterate): ... to here.
16404
16405 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
16406 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
16407 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
16408 (grub_available_iterate): Redeclare to return `void', and redeclare
16409 its hook to use grub_uint64_t as addr and size parameters, and rename
16410 to ...
16411 (grub_machine_mmap_iterate): ... this. Update all users.
16412
16413 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
16414 to make it more readable. Rename to ...
16415 (grub_machine_mmap_iterate): ... this.
16416
16417 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
16418 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
16419 (grub_multiboot): Allocate an extra region after the payload, and fill
16420 it with a Multiboot memory map. Adjust a.out loader to calculate size
16421 with the extra space.
16422 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
16423 with the extra space.
16424
16425 2008-08-17 Carles Pina i Estany <carles@pina.cat>
16426
16427 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
16428
16429 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
16430
16431 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
16432 mdate-sh to the list `find' searches for.
16433 * DISTLIST: Regenerated.
16434
16435 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
16436
16437 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
16438 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
16439 genmoddep.awk, gensymlist.sh.in.
16440 (DISTDIRS): Add bus, docs, hook, lib.
16441 * DISTLIST: Regenerated.
16442 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
16443
16444 2008-08-16 Robert Millan <rmh@aybabtu.com>
16445
16446 * disk/raid.c (grub_raid_init): Handle/report errors set by
16447 grub_device_iterate().
16448 * disk/lvm.c (grub_lvm_init): Likewise.
16449
16450 2008-08-15 Bean <bean123ch@gmail.com>
16451
16452 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16453 and datehook.mod.
16454 (datetime_mod_SOURCES): New macro.
16455 (datetime_mod_CFLAGS): Likewise.
16456 (datetime_mod_LDFLAGS): Likewise.
16457 (date_mod_SOURCES): Likewise.
16458 (date_mod_CFLAGS): Likewise.
16459 (date_mod_LDFLAGS): Likewise.
16460 (datehook_mod_SOURCES): Likewise.
16461 (datehook_mod_CFLAGS): Likewise.
16462 (datehook_mod_LDFLAGS): Likewise.
16463
16464 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16465 and datehook.mod.
16466 (datetime_mod_SOURCES): New macro.
16467 (datetime_mod_CFLAGS): Likewise.
16468 (datetime_mod_LDFLAGS): Likewise.
16469 (date_mod_SOURCES): Likewise.
16470 (date_mod_CFLAGS): Likewise.
16471 (date_mod_LDFLAGS): Likewise.
16472 (datehook_mod_SOURCES): Likewise.
16473 (datehook_mod_CFLAGS): Likewise.
16474 (datehook_mod_LDFLAGS): Likewise.
16475
16476 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16477 and datehook.mod.
16478 (datetime_mod_SOURCES): New macro.
16479 (datetime_mod_CFLAGS): Likewise.
16480 (datetime_mod_LDFLAGS): Likewise.
16481 (date_mod_SOURCES): Likewise.
16482 (date_mod_CFLAGS): Likewise.
16483 (date_mod_LDFLAGS): Likewise.
16484 (datehook_mod_SOURCES): Likewise.
16485 (datehook_mod_CFLAGS): Likewise.
16486 (datehook_mod_LDFLAGS): Likewise.
16487
16488 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16489 and datehook.mod.
16490 (datetime_mod_SOURCES): New macro.
16491 (datetime_mod_CFLAGS): Likewise.
16492 (datetime_mod_LDFLAGS): Likewise.
16493 (date_mod_SOURCES): Likewise.
16494 (date_mod_CFLAGS): Likewise.
16495 (date_mod_LDFLAGS): Likewise.
16496 (datehook_mod_SOURCES): Likewise.
16497 (datehook_mod_CFLAGS): Likewise.
16498 (datehook_mod_LDFLAGS): Likewise.
16499
16500 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
16501 and datehook.mod.
16502 (datetime_mod_SOURCES): New macro.
16503 (datetime_mod_CFLAGS): Likewise.
16504 (datetime_mod_LDFLAGS): Likewise.
16505 (date_mod_SOURCES): Likewise.
16506 (date_mod_CFLAGS): Likewise.
16507 (date_mod_LDFLAGS): Likewise.
16508 (datehook_mod_SOURCES): Likewise.
16509 (datehook_mod_CFLAGS): Likewise.
16510 (datehook_mod_LDFLAGS): Likewise.
16511
16512 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
16513
16514 * commands/date.c: New file.
16515
16516 * hook/datehook.c: Likewise.
16517
16518 * include/grub/lib/datetime.h: Likewise.
16519
16520 * include/grub/i386/cmos.h: Likewise.
16521
16522 * lib/datetime.c: Likewise.
16523
16524 * lib/i386/datetime.c: Likewise.
16525
16526 * lib/efi/datetime.c: Likewise.
16527
16528 2008-08-14 Robert Millan <rmh@aybabtu.com>
16529
16530 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
16531 (grub_mkelfimage_SOURCES): New variable.
16532 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
16533
16534 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
16535 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
16536 * conf/powerpc-ieee1275.rmk: Likewise.
16537 * conf/i386-ieee1275.rmk: Likewise.
16538
16539 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
16540 * kern/i386/coreboot/init.c: Likewise.
16541
16542 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
16543 with `<grub/cpu/kernel.h>'.
16544 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
16545 to ...
16546 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
16547 * kern/i386/coreboot/startup.S: Likewise.
16548
16549 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
16550 (GRUB_MOD_GAP): Remove.
16551 * include/grub/powerpc/kernel.h: New file.
16552 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
16553 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16554 * include/grub/i386/kernel.h: New file.
16555 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
16556 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
16557 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
16558
16559 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
16560 `grub-mkelfimage'.
16561 Use --directory when invoking grub_mkimage.
16562
16563 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
16564 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
16565 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
16566 and GRUB_KERNEL_CPU_PREFIX.
16567
16568 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
16569
16570 * include/grub/err.h (grub_err_printf): New function prototype.
16571 * util/misc.c (grub_err_printf): New function.
16572 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
16573 grub_printf.
16574 * kern/err.c (grub_print_error): Use grub_err_printf.
16575
16576 2008-08-13 Robert Millan <rmh@aybabtu.com>
16577
16578 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
16579
16580 2008-08-13 Robert Millan <rmh@aybabtu.com>
16581
16582 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
16583 boot entry.
16584
16585 2008-08-12 Robert Millan <rmh@aybabtu.com>
16586
16587 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
16588 of the relocation code from here ...
16589 (grub_multiboot): ... to here.
16590 (forward_relocator, backward_relocator): Move from here ...
16591 * kern/i386/loader.S (grub_multiboot_forward_relocator)
16592 (grub_multiboot_backward_relocator): ... to here.
16593 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
16594 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
16595 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
16596 (grub_multiboot_forward_relocator_end)
16597 (grub_multiboot_backward_relocator)
16598 (grub_multiboot_backward_relocator_end): New variables.
16599
16600 2008-08-12 Bean <bean123ch@gmail.com>
16601
16602 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
16603
16604 2008-08-11 Robert Millan <rmh@aybabtu.com>
16605
16606 * kern/i386/linuxbios/startup.S: Move from here ...
16607 * kern/i386/coreboot/startup.S: ... to here.
16608
16609 * kern/i386/linuxbios/init.c: Move from here ...
16610 * kern/i386/coreboot/init.c: ... to here.
16611
16612 * kern/i386/linuxbios/table.c: Move from here ...
16613 * kern/i386/coreboot/mmap.c: ... to here.
16614
16615 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
16616
16617 2008-08-11 Robert Millan <rmh@aybabtu.com>
16618
16619 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
16620 errors. Leave it to the upper layer to handle them.
16621
16622 2008-08-09 Christian Franke <franke@computer.org>
16623
16624 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
16625 * conf/common.rmk: Install `grub-pe2elf' only if requested.
16626 Install `grub.d/10_windows' only on Cygwin.
16627 * configure.ac: Add subst of `target_os'.
16628 Check `target_os' also before setting TARGET_OBJ2ELF.
16629 Add `--enable-grub-pe2elf'.
16630
16631 2008-08-08 Robert Millan <rmh@aybabtu.com>
16632
16633 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16634 (grub_last_time): Change type to grub_uint64_t.
16635 (grub_disk_open): Migrate code from to using grub_get_time_ms().
16636 (grub_disk_close): Likewise.
16637
16638 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
16639 (run_menu): Migrate code from to using grub_get_time_ms().
16640
16641 * util/misc.c (grub_get_time_ms): New function.
16642
16643 2008-08-08 Marco Gerards <marco@gnu.org>
16644
16645 * disk/ata.c (grub_ata_regget): Change return type to
16646 `grub_uint8_t'.
16647 (grub_ata_regget2): Likewise.
16648 (grub_ata_wait_status): New function.
16649 (grub_ata_wait_busy): Removed function, updated all users to use
16650 `grub_ata_wait_status'.
16651 (grub_ata_wait_drq): Likewise.
16652 (grub_ata_cmd): New function.
16653 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
16654 error handling.
16655 (grub_ata_pio_write): Add error handling.
16656 (grub_atapi_identify): Likewise.
16657 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
16658 handling.
16659 (grub_ata_identify): Use `grub_ata_cmd' and improve error
16660 handling. Actually use the detected registers. Reorder the
16661 detection logic such that it is easier to read.
16662 (grub_ata_pciinit): Do not assign the same ID to each controller.
16663 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
16664 handling.
16665 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
16666
16667 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
16668
16669 2008-08-08 Marco Gerards <marco@gnu.org>
16670
16671 * NEWS: Update.
16672
16673 2008-08-07 Bean <bean123ch@gmail.com>
16674
16675 * include/grub/x86_64/pci.h: New file.
16676
16677 2008-08-07 Christian Franke <franke@computer.org>
16678
16679 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
16680 (TIMER2_GATE): Likewise.
16681 (grub_pit_wait): Add enable/disable of the timer2 gate
16682 bit of port 0x61. This fixes a possible infinite loop.
16683
16684 2008-08-07 Bean <bean123ch@gmail.com>
16685
16686 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
16687 kern/i386/tsc.c and kern/i386/pit.c.
16688
16689 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
16690 x86_64 platform.
16691
16692 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
16693 <grub/i386/tsc.h>.
16694
16695 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
16696
16697 2008-08-07 Bean <bean123ch@gmail.com>
16698
16699 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
16700
16701 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
16702
16703 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
16704 multiple inclusion. Add #include <grub/types.h>.
16705
16706 2008-08-06 Christian Franke <franke@computer.org>
16707
16708 * conf/common.rmk: Build and install `10_windows'.
16709 * util/grub.d/10_windows.in: New script.
16710
16711 2008-08-06 Pavel Roskin <proski@gnu.org>
16712
16713 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
16714
16715 2008-08-06 Robert Millan <rmh@aybabtu.com>
16716
16717 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
16718 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
16719
16720 2008-08-06 Bean <bean123ch@gmail.com>
16721
16722 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
16723 (grub_pxefs_fs_int): Remove dummy definition.
16724 (grub_pxefs_open): Use data->block_size to store the current block
16725 size setting.
16726 (grub_pxefs_read): Use block size stored in data->block_size. As the
16727 value of grub_pxe_blksize can be changed after the file is opened.
16728
16729 2008-08-06 Bean <bean123ch@gmail.com>
16730
16731 * fs/i386/pc/pxe.c (curr_file): new variable.
16732 (grub_pxefs_open): Simply the handling of pxe file system. Don't
16733 require the dummy internal file system anymore.
16734 (grub_pxefs_read): Removed.
16735 (grub_pxefs_close): Likewise.
16736 (grub_pxefs_fs_int): Likewise.
16737 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
16738 connection when we switch file.
16739 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
16740
16741 2008-08-06 Robert Millan <rmh@aybabtu.com>
16742
16743 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
16744 `halt.mod'.
16745 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
16746 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
16747
16748 * kern/i386/halt.c: New file.
16749 * kern/i386/reboot.c: Likewise.
16750 * include/grub/i386/reboot.h: Likewise.
16751 * include/grub/i386/halt.h: Likewise.
16752
16753 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
16754 Include `<grub/cpu/halt.h>'.
16755 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
16756 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
16757
16758 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
16759 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
16760 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
16761 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
16762 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
16763 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
16764 from here ...
16765 * include/grub/i386/at_keyboard.h: ... to here.
16766
16767 2008-08-05 Robert Millan <rmh@aybabtu.com>
16768
16769 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
16770 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
16771 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
16772 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16773 `kern/generic/millisleep.c'.
16774
16775 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
16776 instead of grub_get_rtc().
16777 (grub_tsc_init): Initialize `tsc_boot_time'.
16778
16779 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
16780 (grub_machine_init): Use grub_tsc_init() rather than
16781 installing an RTC-based handler via grub_install_get_time_ms().
16782
16783 * kern/i386/pit.c: New file.
16784 * include/grub/i386/pit.h: Likewise.
16785
16786 2008-08-05 Bean <bean123ch@gmail.com>
16787
16788 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
16789
16790 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
16791 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
16792 (pxe_mod_SOURCES): New macro.
16793 (pxe_mod_CFLAGS): Likewise.
16794 (pxe_mod_LDFLAGS): Likewise.
16795 (pxecmd_mod_SOURCES): Likewise.
16796 (pxecmd_mod_CFLAGS): Likewise.
16797 (pxecmd_mod_LDFLAGS): Likewise.
16798
16799 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
16800 (grub_pxe_call): Likewise.
16801
16802 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
16803
16804 * commands/i386/pc/pxecmd.c: New file.
16805
16806 * fs/i386/pc/pxe.c: Likewise.
16807
16808 * include/grub/i386/pc/pxe.h: Likewise.
16809
16810 2008-08-05 Bean <bean123ch@gmail.com>
16811
16812 * util/console.c (grub_console_cur_color): New variable.
16813 (grub_console_standard_color): Likewise.
16814 (grub_console_normal_color): Likewise.
16815 (grub_console_highlight_color): Likewise.
16816 (color_map): Likewise.
16817 (use_color): Likewise.
16818 (NUM_COLORS): New macro.
16819 (grub_ncurses_setcolorstate): Handle color properly.
16820 (grub_ncurses_setcolor): Don't change color here, just remember the
16821 settings, color will be set in grub_ncurses_setcolorstate.
16822 (grub_ncurses_getcolor): New function.
16823 (grub_ncurses_init): Initialize color pairs.
16824 (grub_ncurses_term): New member grub_ncurses_getcolor.
16825
16826 2008-08-05 Colin D Bennett <colin@gibibit.com>
16827
16828 High resolution timer support. Implemented for x86 CPUs using TSC.
16829 Extracted generic grub_millisleep() so it's linked in only as needed.
16830 This requires a Pentium compatible CPU; if the RDTSC instruction is
16831 not supported, then it falls back on the generic grub_get_time_ms()
16832 implementation that uses the machine's RTC.
16833
16834 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
16835 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
16836 `kern/generic/millisleep.c'.
16837
16838 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
16839 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
16840
16841 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
16842 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
16843
16844 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16845
16846 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16847 `kern/generic/millisleep.c'.
16848
16849 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16850
16851 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
16852
16853 * kern/generic/rtc_get_time_ms.c: New file.
16854
16855 * kern/generic/millisleep.c: New file.
16856
16857 * kern/misc.c: Don't include
16858 <kern/time.h> anymore.
16859 (grub_millisleep_generic): Removed.
16860
16861 * commands/sleep.c (grub_interruptible_millisleep): Uses
16862 grub_get_time_ms() instead of grub_get_rtc().
16863
16864 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
16865 function.
16866 (grub_cpu_is_cpuid_supported): New inline function.
16867 (grub_cpu_is_tsc_supported): New inline function.
16868 (grub_tsc_init): New function prototype.
16869 (grub_tsc_get_time_ms): New function prototype.
16870
16871 * kern/i386/tsc.c (grub_get_time_ms): New file.
16872
16873 * include/grub/time.h: Include <grub/types.h.
16874 (grub_millisleep_generic): Removed.
16875 (grub_get_time_ms): New prototype.
16876 (grub_install_get_time_ms): New prototype.
16877 (grub_rtc_get_time_ms): New prototype.
16878
16879 * kern/time.c (grub_get_time_ms): New function.
16880 (grub_install_get_time_ms): New function.
16881
16882 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
16883 <grub/time.h> anymore.
16884 (grub_millisleep): Removed.
16885 (grub_machine_init): Call grub_tsc_init.
16886
16887 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
16888 get_time_ms() implementation.
16889
16890 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
16891 (ieee1275_get_time_ms): New function.
16892 (grub_machine_init): Install get_time_ms() implementation.
16893
16894 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
16895 (grub_machine_init): Call grub_tsc_init().
16896 (grub_millisleep): Removed.
16897
16898 * kern/ieee1275/init.c (grub_millisleep): Removed.
16899 (grub_machine_init): Install ieee1275_get_time_ms()
16900 implementation.
16901 (ieee1275_get_time_ms): New function.
16902 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
16903 real work.
16904
16905 2008-08-05 Marco Gerards <marco@gnu.org>
16906
16907 * disk/ata.c: Include <grub/pci.h>.
16908 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
16909 (grub_ata_initialize): Rewritten.
16910 (grub_ata_device_initialize): New function.
16911
16912 2008-08-04 Pavel Roskin <proski@gnu.org>
16913
16914 * kern/main.c: Include grub/mm.h.
16915
16916 2008-08-04 Robert Millan <rmh@aybabtu.com>
16917
16918 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16919 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16920 corruption problem).
16921
16922 2008-08-04 Robert Millan <rmh@aybabtu.com>
16923
16924 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16925 warnings introduced in my last commit.
16926
16927 2008-08-03 Robert Millan <rmh@aybabtu.com>
16928
16929 Make PCI available on all i386 architectures.
16930
16931 * include/grub/i386/pc/pci.h: Move from here ...
16932 * include/grub/i386/pci.h: ... to here.
16933
16934 * include/grub/i386/pc/pci.h: Remove.
16935 * include/grub/i386/efi/pci.h: Remove.
16936 * include/grub/x86_64/efi/pci.h: Remove.
16937
16938 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16939 `<grub/cpu/pci.h>'.
16940
16941 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16942 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16943 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16944
16945 * conf/i386-ieee1275.rmk: Likewise.
16946
16947 2008-08-03 Robert Millan <rmh@aybabtu.com>
16948
16949 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16950 (grub_console_setcursor): Make it possible to set cursor off.
16951
16952 2008-08-03 Robert Millan <rmh@aybabtu.com>
16953
16954 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16955 of modules instead of assuming which platform provides what.
16956 * util/update-grub.in: Likewise.
16957
16958 2008-08-03 Robert Millan <rmh@aybabtu.com>
16959
16960 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16961 instead of `grub_install_dos_part' to determine whether a drive needs
16962 to be prepended to prefix (`grub_install_dos_part' is not reliable,
16963 because it can be overridden when loading GRUB via Multiboot).
16964
16965 2008-08-02 Robert Millan <rmh@aybabtu.com>
16966
16967 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16968
16969 2008-08-02 Robert Millan <rmh@aybabtu.com>
16970
16971 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16972 of informational grub_dprintf() calls.
16973
16974 2008-08-02 Robert Millan <rmh@aybabtu.com>
16975
16976 * disk/memdisk.c (memdisk_size): Don't initialize.
16977 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16978
16979 * include/grub/i386/pc/kernel.h
16980 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16981 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16982 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16983 (grub_arch_memdisk_size): Remove.
16984
16985 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16986 field (was only used to transfer a constant). Add `type' field to
16987 support multiple module types.
16988 (grub_module_iterate): New function.
16989
16990 * kern/device.c (grub_device_open): Do not hide error messages
16991 when grub_disk_open() fails. Use grub_print_error() instead.
16992
16993 * kern/i386/pc/init.c (grub_arch_modules_addr)
16994 (grub_arch_memdisk_size): Remove functions.
16995 (grub_arch_modules_addr): Return the module address in high memory
16996 (now that it isn't copied anymore).
16997
16998 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16999 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17000 decompression routine (grub_total_module_size already includes that
17001 now). Don't copy modules back to low memory.
17002
17003 * kern/main.c: Include `<grub/mm.h>'.
17004 (grub_load_modules): Split out (and use) ...
17005 (grub_module_iterate): ... this function, which iterates through
17006 module objects and runs a hook.
17007 Comment out grub_mm_init_region() call, as it would cause non-ELF
17008 modules to be overwritten.
17009
17010 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17011 the memdisk image in its own region, make it part of the module list.
17012 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17013 (main): Parse --memdisk|-m option, and pass user-provided path as
17014 parameter to generate_image().
17015 (add_segments): Pass `memdisk_path' down to load_modules().
17016 (load_modules): Embed memdisk image in module section when requested.
17017 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17018 `header.type' instead of `header.offset'.
17019
17020 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17021 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17022 (memdisk_mod_LDFLAGS): New variables.
17023 * conf/i386-coreboot.rmk: Likewise.
17024 * conf/i386-ieee1275.rmk: Likewise.
17025
17026 2008-08-02 Robert Millan <rmh@aybabtu.com>
17027
17028 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17029 (backward_relocator): New variables. Used to allocate and relocate
17030 the payload, respectively.
17031 (grub_multiboot_load_elf32): Load into heap instead of requested
17032 address, install the appropriate relocator code in each bound of
17033 the payload, and set the entry point such that
17034 grub_multiboot_real_boot() will jump to one of them.
17035
17036 * kern/i386/loader.S (grub_multiboot_payload_size)
17037 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17038 (grub_multiboot_payload_entry_offset): New variables.
17039 (grub_multiboot_real_boot): Set cpu context to what the relocator
17040 expects, and jump to the relocator instead of the payload.
17041
17042 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17043 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17044 (grub_multiboot_payload_entry_offset): Export.
17045
17046 2008-08-01 Bean <bean123ch@gmail.com>
17047
17048 * normal/menu_entry.c (editor_getline): Don't return the original
17049 string as result, as it will be released by lexer once it has done
17050 using it.
17051
17052 2008-08-01 Robert Millan <rmh@aybabtu.com>
17053
17054 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17055 within menuentries, not before them.
17056 util/grub.d/10_hurd.in: Likewise.
17057
17058 2008-08-01 Bean <bean123ch@gmail.com>
17059
17060 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17061 (bufio_mod_SOURCES): New macro.
17062 (bufio_mod_CFLAGS): Likewise.
17063 (bufio_mod_LDFLAGS): Likewise.
17064
17065 * include/grub/bufio.h: New file.
17066
17067 * io/bufio.c: Likewise.
17068
17069 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17070 (grub_video_reader_png): Use grub_buffile_open to open file.
17071
17072 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17073 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17074
17075 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17076 (grub_video_reader_tga): Use grub_buffile_open to open file.
17077
17078 * font/manager.c: Include <grub/bufio.h>.
17079 (add_font): Use grub_buffile_open to open file.
17080
17081 2008-07-31 Robert Millan <rmh@aybabtu.com>
17082
17083 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17084 ELF segments, use a macro for arbitrarily accessing any of them instead
17085 of preparing a pointer that allows access to one at a time.
17086 (grub_multiboot_load_elf64): Likewise.
17087
17088 2008-07-31 Bean <bean123ch@gmail.com>
17089
17090 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17091 GRUB_KERNEL_MACHINE_DATA_END.
17092
17093 2008-07-30 Robert Millan <rmh@aybabtu.com>
17094
17095 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17096 Increase from 0x50 to 0x60.
17097 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17098 use UUIDs to identify the root drive for them. If that's not
17099 possible, abort.
17100 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
17101 check, for cross-disk installs.
17102
17103 2008-07-30 Robert Millan <rmh@aybabtu.com>
17104
17105 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
17106 is non-empty, use it to set the `prefix' environment variable instead
17107 of the usual approach.
17108 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
17109 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
17110 environment variable instead of dummy make_install_device().
17111
17112 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
17113 (start): Insert a data section, with `grub_prefix' variable.
17114 * kern/i386/linuxbios/startup.S: Likewise.
17115
17116 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
17117 New variable reference.
17118 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
17119 New macro. Defines offset of `grub_prefix' within startup.S (relative
17120 to `start').
17121 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
17122 section within startup.S (relative to `start').
17123 * include/grub/i386/coreboot/kernel.h: Likewise.
17124
17125 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
17126 Overwrite grub_prefix with its contents, at the beginning of the
17127 first segment.
17128 (main): Understand -p|--prefix.
17129
17130 2008-07-30 Robert Millan <rmh@aybabtu.com>
17131
17132 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
17133
17134 2008-07-30 Robert Millan <rmh@aybabtu.com>
17135
17136 * term/i386/pc/vga_text.c (grub_console_cls): Use
17137 grub_console_gotoxy() to go back to beginning of the screen.
17138 Found by Patrick Georgi <patrick.georgi@coresystems.de>
17139
17140 2008-07-29 Christian Franke <franke@computer.org>
17141
17142 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17143 Add conversion of emulated mount points on Cygwin.
17144
17145 2008-07-29 Christian Franke <franke@computer.org>
17146
17147 * util/update-grub.in: Add a check for admin
17148 group on Cygwin.
17149 Remove old `grub.cfg.new' before creation.
17150 Add `-f' to `mv' to handle the different filesystem
17151 semantics of Windows.
17152
17153 2008-07-29 Bean <bean123ch@gmail.com>
17154
17155 * normal/main.c (get_line): Fix buffer overflow bug.
17156
17157 2008-07-28 Robert Millan <rmh@aybabtu.com>
17158
17159 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
17160 (struct grub_apple_header): New struct. Describes the layout of
17161 the partmap header.
17162 (apple_partition_map_iterate): Check the header magic as well as the
17163 partition magic (which was already being checked).
17164
17165 2008-07-28 Pavel Roskin <proski@gnu.org>
17166
17167 * genmk.rb: Add a warning to the beginning of the output that
17168 it's a generated file and should not be edited.
17169
17170 2008-07-28 Robert Millan <rmh@aybabtu.com>
17171
17172 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17173 with the same number are found, just use issue a warning with
17174 grub_dprintf(), as this error has been reported to be non-fatal.
17175
17176 2008-07-27 Robert Millan <rmh@aybabtu.com>
17177
17178 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
17179 information.
17180
17181 2008-07-27 Bean <bean123ch@gmail.com>
17182
17183 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
17184 (grub_fat_find_dir): Ignore case when comparing filename.
17185
17186 2008-07-27 Bean <bean123ch@gmail.com>
17187
17188 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
17189 smallino, as it's more descriptive, and i8count can be confused with
17190 the other field count.
17191 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
17192 inode type.
17193
17194 2008-07-27 Bean <bean123ch@gmail.com>
17195
17196 * commands/crc.c: New file.
17197
17198 * lib/crc.c: Likewise.
17199
17200 * include/grub/lib/crc.h: Likewise.
17201
17202 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
17203
17204 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
17205 (hexdump): Move this function to ...
17206
17207 * lib/hexdump.c: ... here.
17208
17209 * include/grub/hexdump.h: Renamed to ...
17210
17211 * include/grub/lib/hexdump.h: ... this.
17212
17213 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
17214
17215 * util/grub-editenv.c: Likewise.
17216
17217 * include/envblk.h: Renamed to ...
17218
17219 * include/lib/envblk.h: ... this.
17220
17221 * util/envblk.c: Renamed to ...
17222
17223 * lib/envblk.c: ... this.
17224
17225 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
17226 lib/hexdump.c.
17227 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
17228 (pkglib_MODULES): Add crc.mod.
17229 (hexdump_mod_SOURCES): Add lib/hexdump.c.
17230 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
17231 (crc_mod_SOURCES): New macro.
17232 (crc_mod_CFLAGS): Likewise.
17233 (crc_mod_LDFLAGS): Likewise.
17234
17235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
17236
17237 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17238
17239 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17240
17241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17242
17243 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17244
17245 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
17246
17247 * commands/help.c: Include <grub/term.h>.
17248 (TERM_WIDTH): Removed. Updated all users.
17249
17250 2008-07-27 Pavel Roskin <proski@gnu.org>
17251
17252 * util/getroot.c (find_root_device): Rephrase a comment to avoid
17253 spurious warnings about a comment within a comment.
17254
17255 2008-07-25 Robert Millan <rmh@aybabtu.com>
17256
17257 * util/getroot.c (find_root_device): Skip devices that match
17258 /dev/dm-[0-9]. This lets the real device be found for any type of
17259 abstraction (LVM, EVMS, RAID..).
17260 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
17261 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
17262 device is found first, find_root_device() will now skip it.
17263
17264 2008-07-24 Pavel Roskin <proski@gnu.org>
17265
17266 * include/grub/types.h: Use __builtin_bswap32() and
17267 __builtin_bswap64() with gcc 4.3 and newer.
17268
17269 2008-07-24 Christian Franke <franke@computer.org>
17270
17271 * util/i386/pc/grub-install.in: If `--debug' is specified,
17272 pass `--verbose' to grub-setup.
17273 Abort script if make_system_path_relative_to_its_root() fails.
17274
17275 2008-07-24 Bean <bean123ch@gmail.com>
17276
17277 * configure.ac: Fixed a bug caused by the previous cygwin patch,
17278 variable `target_platform' should be `platform'.
17279
17280 2008-07-24 Bean <bean123ch@gmail.com>
17281
17282 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
17283 (grub_png_init_fixed_block): New function.
17284 (grub_png_decode_image_data): Handle fixed huffman code compression.
17285
17286 2008-07-24 Bean <bean123ch@gmail.com>
17287
17288 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
17289 (grub_pe2elf_SOURCES): New macro.
17290 (CLEANFILES): Add grub-pe2elf.
17291
17292 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
17293 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
17294 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
17295 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
17296 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
17297 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
17298 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
17299 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
17300 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
17301 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
17302 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
17303 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
17304 (GRUB_PE32_DT_FUNCTION): Likewise.
17305 (GRUB_PE32_REL_I386_DIR32): Likewise.
17306 (GRUB_PE32_REL_I386_REL32): Likewise.
17307 (grub_pe32_symbol): New structure.
17308 (grub_pe32_reloc): Likewise.
17309
17310 * util/grub-pe2elf.c: New file.
17311
17312 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
17313 start symbol in non pc platform.
17314
17315 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
17316
17317 The following patches are from Christian Franke.
17318
17319 * include/grub/dl.h: Remove .previous, gas supports this only
17320 for ELF format.
17321
17322 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
17323 Remove .type, gas supports this only for ELF format.
17324
17325 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
17326 nullbytes in symbol table. This fixes an infinite loop if table is
17327 zero filled.
17328
17329 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
17330 TARGET_IMG_LDFLAGS and EXEEXT.
17331
17332 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
17333 TARGET_IMG_LDFLAGS_AC.
17334 (grub_CHECK_STACK_ARG_PROBE): New function.
17335
17336 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
17337
17338 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
17339
17340 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
17341 to set TARGET_IMG_LD* accordingly.
17342 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
17343 Add call to grub_CHECK_STACK_ARG_PROBE.
17344 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
17345
17346 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
17347
17348 * genmk.rb: Add EXEEXT to CLEANFILES.
17349
17350 2008-07-23 Robert Millan <rmh@aybabtu.com>
17351
17352 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
17353 define the codes for arrows and lines used for the menu).
17354 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
17355 as well.
17356
17357 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
17358 fonts, because the latter are too slow.
17359
17360 2008-07-21 Bean <bean123ch@gmail.com>
17361
17362 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
17363 a20. Run keyboard test last, as it will cause macbook to halt.
17364
17365 2008-07-18 Pavel Roskin <proski@gnu.org>
17366
17367 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
17368 load foreign architecture modules correctly anyway. Keep
17369 support for loading host architecture modules, whether we
17370 compile them or not.
17371
17372 2008-07-17 Pavel Roskin <proski@gnu.org>
17373
17374 * configure.ac: Use -m32 or -m64 regardless of whether we had to
17375 change target_cpu. The compiler default can mismatch target_cpu
17376 in any case.
17377
17378 * disk/efi/efidisk.c: Fix format warnings on x86_64.
17379 * kern/efi/efi.c: Likewise.
17380
17381 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
17382 target compiler is functional.
17383 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
17384 are set up.
17385
17386 * configure.ac: Default to efi platform for x86_64-apple. Allow
17387 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
17388 adjustments from the rest, only do them if target is not
17389 explicitly given. Merge other adjustments with the final sanity
17390 check. Remove an extraneous check for supported CPU. Be
17391 specific which CPU and which platform is not supported.
17392
17393 * configure.ac: Default to pc platform for x86_64.
17394
17395 2008-07-17 Robert Millan <rmh@aybabtu.com>
17396
17397 Partial LinuxBIOS -> Coreboot rename.
17398
17399 * conf/i386-linuxbios.rmk: Renamed to ...
17400 * conf/i386-coreboot.rmk: ... this.
17401 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
17402 * configure.ac: Accept "coreboot" as input platform (but maintain
17403 compatibility with "linuxbios").
17404 * include/grub/i386/linuxbios: Renamed to ...
17405 * include/grub/i386/coreboot: ... this.
17406
17407 2008-07-17 Bean <bean123ch@gmail.com>
17408
17409 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
17410 (appleldr_mod_SOURCE): New variable.
17411 (appleldr_mod_CFLAGS): Likewise.
17412 (appleldr_mod_LDFLAGS): Likewise.
17413 (pci_mod_SOURCES): Likewise.
17414 (pci_mod_CFLAGS): Likewise.
17415 (pci_mod_LDFLAGS): Likewise.
17416 (lspci_mod_SOURCES): Likewise.
17417 (lspci_mod_CFLAGS): Likewise.
17418 (lspci_mod_LDFLAGS): Likewise.
17419
17420 * conf/x86_64-efi.rmk: New file.
17421
17422 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
17423 macro.
17424 (grub_efidisk_write): Likewise.
17425
17426 * include/efi/api.h (efi_call_0): New macro.
17427 (efi_call_1): Likewise.
17428 (efi_call_2): Likewise.
17429 (efi_call_3): Likewise.
17430 (efi_call_4): Likewise.
17431 (efi_call_5): Likewise.
17432 (efi_call_6): Likewise.
17433
17434 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
17435 grub_rescue_cmd_chainloader.
17436
17437 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
17438 (grub_pe32_optional_header): Change some fields based on i386 or
17439 x86_64 platform.
17440 (GRUB_PE32_PE32_MAGIC): Likewise.
17441
17442 * include/grub/efi/uga_draw.h: New file.
17443
17444 * include/grub/elf.h (STN_ABS): New constant.
17445 (R_X86_64_NONE): Relocation constant for x86_64.
17446 (R_X86_64_64): Likewise.
17447 (R_X86_64_PC32): Likewise.
17448 (R_X86_64_GOT32): Likewise.
17449 (R_X86_64_PLT32): Likewise.
17450 (R_X86_64_COPY): Likewise.
17451 (R_X86_64_GLOB_DAT): Likewise.
17452 (R_X86_64_JUMP_SLOT): Likewise.
17453 (R_X86_64_RELATIVE): Likewise.
17454 (R_X86_64_GOTPCREL): Likewise.
17455 (R_X86_64_32): Likewise.
17456 (R_X86_64_32S): Likewise.
17457 (R_X86_64_16): Likewise.
17458 (R_X86_64_PC16): Likewise.
17459 (R_X86_64_8): Likewise.
17460 (R_X86_64_PC8): Likewise.
17461
17462 * include/grub/i386/efi/pci.h: New file.
17463
17464 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
17465 Change it value based on platform.
17466 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
17467 (GRUB_E820_RAM): Likewise.
17468 (GRUB_E820_RESERVED): Likewise.
17469 (GRUB_E820_ACPI): Likewise.
17470 (GRUB_E820_NVS): Likewise.
17471 (GRUB_E820_EXEC_CODE): Likewise.
17472 (GRUB_E820_MAX_ENTRY): Likewise.
17473 (grub_e820_mmap): New structure.
17474 (linux_kernel_header): Change the efi field according to different
17475 kernel version, also field from linux_kernel_header.
17476
17477 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
17478
17479 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
17480 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
17481 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
17482 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
17483 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
17484 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
17485 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
17486 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
17487 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
17488 (GRUB_PCI_ADDR_IO_MASK): Likewise.
17489
17490 * include/grub/x86_64/efi/kernel.h: New file.
17491
17492 * include/grub/x86_64/efi/loader.h: Likewise.
17493
17494 * include/grub/x86_64/efi/machine.h: Likewise.
17495
17496 * include/grub/x86_64/efi/pci.h: Likewise.
17497
17498 * include/grub/x86_64/efi/time.h: Likewise.
17499
17500 * include/grub/x86_64/linux.h: Likewise.
17501
17502 * include/grub/x86_64/setjmp.h: Likewise.
17503
17504 * include/grub/x86_64/time.h: Likewise.
17505
17506 * include/grub/x86_64/types.h: Likewise.
17507
17508 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
17509 GRUB_TARGET_SIZEOF_VOID_P.
17510
17511 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
17512 (grub_efi_locate_handle): Likewise.
17513 (grub_efi_open_protocol): Likewise.
17514 (grub_efi_set_text_mode): Likewise.
17515 (grub_efi_stall): Likewise.
17516 (grub_exit): Likewise.
17517 (grub_reboot): Likewise.
17518 (grub_halt): Likewise.
17519 (grub_efi_exit_boot_services): Likewise.
17520 (grub_get_rtc): Likewise.
17521
17522 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
17523 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
17524 (grub_efi_allocate_pages): Wrap efi calls.
17525 (grub_efi_free_pages): Wrap efi calls.
17526 (grub_efi_get_memory_map): Wrap efi calls.
17527
17528 * kern/x86_64/dl.c: New file.
17529
17530 * kern/x86_64/efi/callwrap.S: Likewise.
17531
17532 * kern/x86_64/efi/startup.S: Likewise.
17533
17534 * loader/efi/appleloader.c: Likewise.
17535
17536 * loader/efi/chainloader.c (cmdline): New variable.
17537 (grub_chainloader_unload): Wrap efi calls.
17538 (grub_chainloader_boot): Likewise.
17539 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
17540 command line.
17541
17542 * loader/efi/chainloader_normal.c (chainloader_command):
17543 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
17544 command line.
17545
17546 * loader/i386/efi/linux.c (allocate_pages): Change allocation
17547 method.
17548 (grub_e820_add_region): New function.
17549 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
17550 booting.
17551 (grub_find_video_card): New function.
17552 (grub_linux_setup_video): New function.
17553 (grub_rescue_cmd_linux): Probe for video information.
17554
17555 * normal/x86_64/setjmp.S: New file.
17556
17557 * term/efi/console.c (map_char): New function.
17558 (grub_console_putchar): Map unicode char.
17559 (grub_console_checkkey): Wrap efi calls.
17560 (grub_console_getkey): Likewise.
17561 (grub_console_getwh): Likewise.
17562 (grub_console_gotoxy): Likewise.
17563 (grub_console_cls): Likewise.
17564 (grub_console_setcolorstate): Likewise.
17565 (grub_console_setcursor): Likewise.
17566
17567 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
17568
17569 2008-07-16 Pavel Roskin <proski@gnu.org>
17570
17571 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
17572 format strings.
17573
17574 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
17575 pointer, not an integer. This fixes a warning and prevents
17576 precision loss on 64-bit systems.
17577 (relocate_addresses): Remove unneeded cast.
17578
17579 2008-07-15 Pavel Roskin <proski@gnu.org>
17580
17581 * kern/i386/ieee1275/init.c: Include grub/cache.h.
17582
17583 * term/ieee1275/ofconsole.c: Disable code unused on i386.
17584
17585 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
17586 Fix comparison between signed and unsigned.
17587
17588 * include/grub/i386/ieee1275/console.h: Declare
17589 grub_console_init() and grub_console_fini().
17590
17591 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
17592 It's empty and unused.
17593
17594 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
17595 beginning to avoid warnings with some compilers.
17596
17597 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
17598 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
17599
17600 2008-07-14 Pavel Roskin <proski@gnu.org>
17601
17602 * kern/env.c (grub_register_variable_hook): Don't copy empty
17603 string, it leaks memory. Pass "" to grub_env_set(), it should
17604 handle constant strings.
17605
17606 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
17607 * commands/cmp.c (grub_cmd_cmp): Likewise.
17608 * kern/dl.c (grub_dl_flush_cache): Likewise.
17609 (grub_dl_load_core): Likewise.
17610 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
17611 (grub_elf64_load_phdrs): Likewise.
17612
17613 2008-07-13 Pavel Roskin <proski@gnu.org>
17614
17615 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
17616 between signed and unsigned.
17617 (LzmaEnc_Finish): Fix warning about an unused parameter.
17618
17619 2008-07-13 Bean <bean123ch@gmail.com>
17620
17621 * Makefile.in (enable_lzo): New rule.
17622
17623 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
17624
17625 * configure.ac (ENABLE_LZO): New option --enable-lzo.
17626
17627 * boot/i386/pc/lnxboot.S: #include <config.h>.
17628
17629 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
17630 its value according to the compression algorithm used, lzo or lzma.
17631
17632 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
17633 compression algorithm according to configure macro.
17634
17635 * kern/i386/pc/startup.S (codestart): Likewise.
17636
17637 * kern/i386/pc/lzma_decode.S: New file.
17638
17639 * include/grub/lib/LzFind.h: Likewise.
17640
17641 * include/grub/lib/LzHash.h: Likewise.
17642
17643 * include/grub/lib/LzmaDec.h: Likewise.
17644
17645 * include/grub/lib/LzmaEnc.h: Likewise.
17646
17647 * include/grub/lib/LzmaTypes.h: Likewise.
17648
17649 * lib/LzFind.c: Likewise.
17650
17651 * lib/LzmaDec.c: Likewise.
17652
17653 * lib/LzmaEnc.c: Likewise.
17654
17655 2008-07-13 Bean <bean123ch@gmail.com>
17656
17657 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
17658 (grub_ext4_extent_header): New structure.
17659 (grub_ext4_extent): Likewise.
17660 (grub_ext4_extent_idx): Likewise.
17661 (grub_ext4_find_leaf): New function.
17662 (grub_ext2_read_block): Handle extents.
17663
17664 2008-07-12 Robert Millan <rmh@aybabtu.com>
17665
17666 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
17667
17668 2008-07-11 Robert Millan <rmh@aybabtu.com>
17669
17670 * util/grub.d/40_custom.in: New file. Example on how to add custom
17671 entries to /etc/grub.d.
17672 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
17673 40_custom (implicitly, by merging all the grub.d rules).
17674
17675 2008-07-11 Pavel Roskin <proski@gnu.org>
17676
17677 * commands/read.c (grub_getline): Fix invalid memory access.
17678 Don't add newline to the variable value.
17679
17680 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
17681 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
17682 (serial_hw_get_port): Check validity of the port number.
17683 (grub_cmd_serial): Check return value of serial_hw_get_port().
17684
17685 2008-07-07 Pavel Roskin <proski@gnu.org>
17686
17687 * boot/i386/pc/diskboot.S (notification_string): Replace
17688 "Loading kernel" with just "loading". This is shorter, less
17689 confusing and saves a few bytes for possible future changes.
17690
17691 2008-07-05 Pavel Roskin <proski@gnu.org>
17692
17693 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
17694 size for ATAPI devices, they are undefined. Output sector
17695 number in decimal form.
17696
17697 * disk/ata.c: Use named constants for status bits.
17698
17699 2008-07-04 Pavel Roskin <proski@gnu.org>
17700
17701 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
17702 grub_addr_t before casting it to the void pointer to fix a
17703 warning. Non-addressable regions are discarded earlier.
17704 (grub_arch_modules_addr): Cast _end to grub_addr_t.
17705 * kern/i386/linuxbios/table.c: Include grub/misc.h.
17706 (check_signature): Don't shadow table_header.
17707 (grub_linuxbios_table_iterate): Cast numeric constants to
17708 grub_linuxbios_table_header_t.
17709 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
17710 grub_stop().
17711
17712 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
17713 prevent warnings.
17714
17715 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
17716 pointer, which can cause warnings. Support 64-bit addresses.
17717
17718 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
17719 of sizeof(long). This fixes PowerPC image generation on x86_64.
17720
17721 2008-07-04 Robert Millan <rmh@aybabtu.com>
17722
17723 This fixes a performance issue when pc & gpt partmap iterators
17724 didn't abort iteration even after our hook found what it was
17725 looking for (often causing expensive probes of non-existent drives).
17726
17727 Some callers relied on previous buggy behaviour, since they would
17728 raise an error when their own hooks caused early abortion of its
17729 iteration.
17730
17731 * kern/device.c (grub_device_open): Improve error message.
17732 * disk/lvm.c (grub_lvm_open): Likewise.
17733 * disk/raid.c (grub_raid_open): Likewise.
17734
17735 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
17736 when hook requests it, independently of grub_errno.
17737 (pc_partition_map_probe): Do not fail when find_func() caused
17738 early abortion of pc_partition_map_iterate().
17739
17740 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
17741 when hook requests it, independently of grub_errno.
17742 (gpt_partition_map_probe): Do not fail when find_func() caused
17743 early abortion of gpt_partition_map_iterate().
17744
17745 * kern/partition.c (grub_partition_iterate): Abort parent iteration
17746 when hook requests it, independently of grub_errno. Do not fail when
17747 part_map_iterate_hook() caused early abortion of p->iterate().
17748
17749 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
17750 when grub_partition_iterate() returned with non-zero.
17751
17752 2008-07-03 Pavel Roskin <proski@gnu.org>
17753
17754 * disk/ata.c (grub_ata_pio_write): Check status before writing,
17755 like we do in grub_ata_pio_read().
17756 (grub_ata_readwrite): Always write individual sectors. Fix the
17757 sector count for the remainder.
17758 (grub_ata_write): Enable writing to ATA devices. Correctly
17759 report error for ATAPI devices.
17760
17761 2008-07-02 Pavel Roskin <proski@gnu.org>
17762
17763 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
17764 warning.
17765
17766 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
17767 for every read sector, we already increment it for the whole
17768 batch. This fixes reading more than 256 sectors at once.
17769
17770 * util/grub-editenv.c (cmd_info): Cast argument to long
17771 explicitly. ptrdiff_t reduces to int on i386.
17772
17773 * util/grub-editenv.c (main): Be specific which parameter is
17774 missing.
17775
17776 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
17777 (memdisk): Make memdisk_orig_addr a pointer.
17778
17779 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
17780 for file offsets, use grub_off_t instead. Fix printf format
17781 warnings.
17782
17783 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
17784 there. Real unexpected warnings should not drown in the noise
17785 about known problems.
17786
17787 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
17788 grub_disk_addr_t for memory addresses.
17789
17790 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
17791 explicitly to fix a warning.
17792
17793 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
17794
17795 * Makefile.in (MODULE_LDFLAGS): New variable.
17796 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
17797 the linker accepts --build-id=none.
17798 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
17799 MODULE_LDFLAGS.
17800 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
17801
17802 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
17803 those in Linux XFS code. Provide a way to access 64-bit parent
17804 inode.
17805 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
17806 the end of struct grub_xfs_dir_header.
17807
17808 2008-07-02 Bean <bean123ch@gmail.com>
17809
17810 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
17811 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17812 and GRUB_IEEE1275_FLAG_NO_ANSI.
17813
17814 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
17815 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
17816 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
17817
17818 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
17819 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
17820
17821 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
17822 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
17823
17824 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
17825 esc sequence on non ANSI terminal.
17826 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
17827
17828 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
17829 beginning of file.
17830
17831 2008-07-02 Bean <bean123ch@gmail.com>
17832
17833 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
17834 (grub_editenv_SOURCES): New variable.
17835 (pkglib_MODULES): Add loadenv.mod.
17836 (loadenv_mod_SOURCES): New variable.
17837 (loadenv_mod_CFLAGS): Likewise.
17838 (loadenv_mod_LDFLAGS): Likewise.
17839
17840 * include/grub/envblk.h: New file.
17841
17842 * util/envblk.c: New file.
17843
17844 * util/grub-editenv.c: New file.
17845
17846 * commands/loadenv.c: New file.
17847
17848 2008-07-01 Pavel Roskin <proski@gnu.org>
17849
17850 * include/multiboot2.h (struct multiboot_tag_module): Use char,
17851 not unsigned char. This fixes warnings and is consistent with
17852 other tags.
17853
17854 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
17855
17856 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
17857
17858 * term/tparm.c (analyze): Always set *popcount.
17859
17860 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
17861 cast to fix a warning.
17862
17863 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
17864 cast to suppress a warning.
17865
17866 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
17867 grub_fshelp_read_file() expects.
17868
17869 * fs/fat.c: Fix UUID calculation on big-endian systems. We
17870 write uuid as a 32-bit value in CPU byte order, so declare and
17871 use it as such.
17872
17873 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
17874 long if the format specifier expects it.
17875 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
17876 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17877 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
17878 long to fix a warning.
17879 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
17880 grub_dprintf() arguments to fix warnings.
17881
17882 2008-06-30 Pavel Roskin <proski@gnu.org>
17883
17884 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
17885 install_bsd_part immediately before core.img is embedded or
17886 modified on disk. This fixes core.img verification if core.img
17887 cannot be embedded.
17888
17889 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
17890 core_path to calculate the blocklist.
17891 Patch from Javier Martín <lordhabbit@gmail.com>
17892
17893 2008-06-29 Robert Millan <rmh@aybabtu.com>
17894
17895 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
17896 block to disk block.
17897 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
17898 Patch from Niels Böhm <bitbucket@arcor.de>
17899
17900 2008-06-29 Robert Millan <rmh@aybabtu.com>
17901
17902 * util/update-grub_lib.in (font_path): Search for fonts in
17903 /boot/grub first, which is more likely to be readable (we aren't
17904 deciding where fonts live, just looking for them).
17905
17906 2008-06-26 Pavel Roskin <proski@gnu.org>
17907
17908 * util/biosdisk.c (read_device_map): Don't leave dead map
17909 entries for devices failing stat() check.
17910
17911 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17912 core_path_dev for the core.img path on the target device.
17913
17914 2008-06-26 Robert Millan <rmh@aybabtu.com>
17915
17916 * disk/fs_uuid.c: New file.
17917 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17918 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17919 (fs_uuid_mod_LDFLAGS): New variables.
17920 * include/grub/disk.h (grub_disk_dev_id): Add
17921 `GRUB_DISK_DEVICE_UUID_ID'.
17922 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17923 implement iterate().
17924
17925 2008-06-26 Robert Millan <rmh@aybabtu.com>
17926
17927 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17928 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17929 Linux image includes no initrd.
17930
17931 2008-06-21 Javier Martín <lordhabbit@gmail.com>
17932
17933 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17934 call to resolve the core image location that effectively appended the
17935 name twice.
17936
17937 2008-06-21 Robert Millan <rmh@aybabtu.com>
17938
17939 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17940 call from here ...
17941
17942 * util/grub.d/10_hurd.in: ... to here ...
17943 * util/grub.d/10_linux.in: ... and here.
17944
17945 2008-06-19 Robert Millan <rmh@aybabtu.com>
17946
17947 * kern/main.c (grub_main): Export `prefix' variable immediately
17948 after it has been set by grub_machine_set_prefix().
17949
17950 2008-06-19 Robert Millan <rmh@aybabtu.com>
17951
17952 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17953 search result when not saving to variable, not the other way around.
17954 When saving to variable, abort iteration as soon as a match is found.
17955
17956 2008-06-19 Robert Millan <rmh@aybabtu.com>
17957
17958 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17959 check for partition that provides /boot/grub. Its logic is flawed,
17960 as it prevents prepare_grub_to_access_device() from being called
17961 multiple times.
17962
17963 2008-06-19 Robert Millan <rmh@aybabtu.com>
17964
17965 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17966 "insmod" command directly when abstraction modules are needed,
17967 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
17968 since it had already been processed).
17969
17970 2008-06-19 Pavel Roskin <proski@gnu.org>
17971
17972 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17973 changed. This is needed in case GRUB_LIBDIR changes.
17974 * conf/i386-ieee1275.rmk: Likewise.
17975 * conf/i386-linuxbios.rmk: Likewise.
17976 * conf/i386-pc.rmk: Likewise.
17977 * conf/powerpc-ieee1275.rmk: Likewise.
17978
17979 2008-06-18 Pavel Roskin <proski@gnu.org>
17980
17981 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17982 kernel_elf_symlist.c to symlist.c for consistency with other
17983 architectures. Update all users.
17984 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17985
17986 2008-06-18 Robert Millan <rmh@aybabtu.com>
17987
17988 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17989 it in prefix.
17990
17991 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17992 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17993 a RAID device, run setup() for all members independently on whether
17994 LVM abstraction is being used.
17995 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17996 If grub-mkimage has set `*install_dos_part == -2', don't override this
17997 value.
17998 Perform *install_dos_part adjustments independently on whether
17999 we're embedding or not.
18000 Clarify error message when image is too big for embedding.
18001 Remove duplicate *install_dos_part stanza.
18002
18003 2008-06-17 Robert Millan <rmh@aybabtu.com>
18004
18005 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18006 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18007 variables.
18008 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18009 values in grub_ofconsole_normal_color and
18010 grub_ofconsole_highlight_color (they're not directly related to
18011 background and foreground).
18012 (grub_ofconsole_setcolorstate): Extract background and foreground
18013 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18014
18015 2008-06-17 Robert Millan <rmh@aybabtu.com>
18016
18017 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18018 /boot/grub for the check in last commit, not /boot (they could be
18019 different partitions).
18020
18021 2008-06-16 Robert Millan <rmh@aybabtu.com>
18022
18023 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18024 asked to setup access for the same partition that provides /boot,
18025 don't bother using UUIDs since our root already has the value we
18026 want.
18027
18028 2008-06-16 Robert Millan <rmh@aybabtu.com>
18029
18030 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18031 I2O devices.
18032 Patch from Sven Mueller <sven@debian.org>.
18033
18034 2008-06-16 Robert Millan <rmh@aybabtu.com>
18035
18036 * util/update-grub.in: Check for $EUID instead of $UID.
18037 Reported by Vincent Zweije.
18038
18039 2008-06-16 Bean <bean123ch@gmail.com>
18040
18041 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18042 (grub_ext2_read_block): Likewise.
18043 (grub_ext2_read_inode): Likewise.
18044 (grub_ext2_mount): Likewise.
18045 (grub_ext2_close): Likewise.
18046 (grub_ext3_get_journal): Removed.
18047
18048 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18049 (grub_reiserfs_read_symlink): Likewise.
18050 (grub_reiserfs_mount): Likewise.
18051 (grub_reiserfs_open): Likewise.
18052 (grub_reiserfs_read): Likewise.
18053 (grub_reiserfs_close): Likewise.
18054 (grub_reiserfs_get_journal): Removed.
18055
18056 * fs/fshelp.c (grub_fshelp_read): Removed.
18057 (grub_fshelp_map_block): Likewise.
18058
18059 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18060 (grub_fshelp_journal): Likewise.
18061 (grub_fshelp_read): Likewise.
18062 (grub_fshelp_map_block): Likewise.
18063
18064 2008-06-16 Pavel Roskin <proski@gnu.org>
18065
18066 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18067 floating point anymore.
18068 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18069
18070 2008-06-15 Pavel Roskin <proski@gnu.org>
18071
18072 * commands/ls.c (grub_ls_list_files): Use integer calculations
18073 for human readable format, avoid floating point use.
18074 * kern/misc.c (grub_ftoa): Remove.
18075 (grub_vsprintf): Remove floating point support.
18076
18077 2008-06-15 Robert Millan <rmh@aybabtu.com>
18078
18079 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18080 devices.
18081 Reported by Max Vozeler.
18082
18083 2008-06-15 Robert Millan <rmh@aybabtu.com>
18084
18085 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18086 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18087 skipped later.
18088 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18089 the beginning of the prefix.
18090
18091 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18092 It is assumed that if we have a memdisk, grub-mkimage has set
18093 grub_prefix to include the "(memdisk)" drive in it.
18094
18095 2008-06-15 Robert Millan <rmh@aybabtu.com>
18096
18097 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18098 Initialize keyboard controller after registering the terminal, so that
18099 grub_printf() can be called from grub_keyboard_controller_init().
18100
18101 2008-06-15 Robert Millan <rmh@aybabtu.com>
18102
18103 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
18104 extent-btree which is written as big endian on disk.
18105 Reported by Alain Greppin <al@chilibi.org>.
18106
18107 2008-06-14 Robert Millan <rmh@aybabtu.com>
18108
18109 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
18110 * util/i386/pc/grub-install.in (modules): Likewise.
18111
18112 2008-06-13 Pavel Roskin <proski@gnu.org>
18113
18114 * commands/ls.c (grub_ls_list_files): Fix format warnings.
18115
18116 2008-06-13 Bean <bean123ch@gmail.com>
18117
18118 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
18119
18120 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
18121
18122 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
18123 to indicate sparse block.
18124
18125 2008-06-12 Pavel Roskin <proski@gnu.org>
18126
18127 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
18128 number, grub_fshelp_read() does it for us.
18129
18130 * fs/fshelp.c (grub_fshelp_read): New function. Implement
18131 linear disk read with journal translation.
18132 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
18133 * include/grub/fshelp.h: Declare grub_fshelp_read().
18134
18135 2008-06-09 Pavel Roskin <proski@gnu.org>
18136
18137 * fs/minix.c (grub_minix_mount): Handle error reading
18138 superblock.
18139
18140 2008-06-08 Robert Millan <rmh@aybabtu.com>
18141
18142 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
18143 don't append the RAID prefix afterwards.
18144 Reported by Clint Adams.
18145
18146 2008-06-08 Robert Millan <rmh@aybabtu.com>
18147
18148 Based on description from Pavel:
18149 * kern/disk.c (grub_disk_check_range): Rename to ...
18150 (grub_disk_adjust_range): ... this. Add a comment explaining the
18151 tasks performed by this function.
18152
18153 2008-06-08 Robert Millan <rmh@aybabtu.com>
18154
18155 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
18156 `num_serial' (for consistency with other variables).
18157 (struct grub_ntfs_data): Add `uuid' member.
18158 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
18159 (grub_ntfs_uuid): New function.
18160 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
18161
18162 2008-06-07 Pavel Roskin <proski@gnu.org>
18163
18164 * util/biosdisk.c (open_device): Revert last change to the
18165 function, it broke installation. The sector needs to be
18166 different dependent on which device is opened.
18167
18168 2008-06-06 Robert Millan <rmh@aybabtu.com>
18169
18170 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
18171 rest of GRUB, and breakage doesn't happen if its value were modified.
18172
18173 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18174 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
18175 a constant (same value).
18176 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
18177 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
18178
18179 2008-06-06 Robert Millan <rmh@aybabtu.com>
18180
18181 * util/biosdisk.c (open_device): Do not modify sector offset when
18182 accessing a partition. kern/disk.c already handles this for us.
18183
18184 2008-06-06 Robert Millan <rmh@aybabtu.com>
18185
18186 * util/grub-emu.c (grub_machine_init): Move code in this function from
18187 here ...
18188 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
18189 segfault in case grub_printf() is called).
18190
18191 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
18192 grub_probe. Update all users not to explicitly add it again.
18193 (grub_device): New variable; contains corresponding device for grubdir.
18194 (fs_module, partmap_module, devabstraction_module): Pass
18195 `--device ${grub_device}' to grub_probe to avoid traversing /dev
18196 every time.
18197
18198 2008-06-05 Robert Millan <rmh@aybabtu.com>
18199
18200 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
18201 is found, print it (same layout as with labels).
18202
18203 2008-06-04 Robert Millan <rmh@aybabtu.com>
18204
18205 * util/biosdisk.c (get_drive): Rename to ...
18206 (find_grub_drive): ... this. Update all users.
18207
18208 (get_os_disk): Rename to ...
18209 (convert_system_partition_to_system_disk): ... this. Update all users.
18210
18211 (find_drive): Rename to ...
18212 (find_system_device): ... this. Update all users.
18213
18214 2008-06-04 Robert Millan <rmh@aybabtu.com>
18215
18216 * util/biosdisk.c (get_os_disk): Handle IDA devices.
18217 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18218 (make_device_map): Likewise.
18219
18220 2008-06-01 Robert Millan <rmh@aybabtu.com>
18221
18222 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
18223 before dereferencing it.
18224
18225 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
18226 union with fat12/fat16-specific ones. Add some new fields, including
18227 `num_serial' for both versions.
18228 (struct grub_fat_data): Add `uuid' member.
18229 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
18230 names. Initialize `data->uuid' using `num_serial'.
18231 (grub_fat_uuid): New function.
18232 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
18233
18234 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
18235 (grub_reiserfs_uuid): New function.
18236 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
18237 member.
18238
18239 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
18240 (grub_xfs_uuid): New function.
18241 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
18242
18243 2008-06-01 Robert Millan <rmh@aybabtu.com>
18244
18245 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
18246 code that is backward compatible with pre-uuid search command.
18247
18248 2008-05-31 Robert Millan <rmh@aybabtu.com>
18249
18250 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
18251 floppies after everything else, to ensure floppy drive isn't accessed
18252 unnecessarily (patch from Bean).
18253
18254 2008-05-31 Robert Millan <rmh@aybabtu.com>
18255
18256 * commands/search.c (search_label, search_fs_uuid, search_file): Do
18257 not print device names when we were asked to set a variable.
18258
18259 2008-05-31 Robert Millan <rmh@aybabtu.com>
18260
18261 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
18262 using "cursor-on" and "cursor-off" commands (understood at least by
18263 the Open Firmware flavour on OLPC).
18264
18265 2008-05-31 Michael Gorven <michael@gorven.za.net>
18266
18267 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
18268 on and off sequences.
18269
18270 2008-05-31 Robert Millan <rmh@aybabtu.com>
18271
18272 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
18273 * util/update-grub.in: Likewise.
18274
18275 2008-05-30 Pavel Roskin <proski@gnu.org>
18276
18277 * util/biosdisk.c (linux_find_partition): Simplify logic and
18278 make the code more universal. Keep special processing for
18279 devfs, but use a simple rule for all other devices. If the
18280 device ends with a number, append 'p' and the partition number.
18281 Otherwise, append only the partition number.
18282
18283 2008-05-30 Robert Millan <rmh@aybabtu.com>
18284
18285 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
18286 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
18287 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
18288 the `root' parameter to Linux.
18289
18290 2008-05-30 Robert Millan <rmh@aybabtu.com>
18291
18292 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
18293 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
18294 --fs_uuid with --fs-uuid.
18295 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
18296 all filesystems support them).
18297
18298 2008-05-30 Robert Millan <rmh@aybabtu.com>
18299
18300 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
18301 grub_printf() flags, since we're printing in units of 2 bytes.
18302
18303 2008-05-30 Robert Millan <rmh@aybabtu.com>
18304
18305 * util/grub.d/00_header.in: Remove obsolete comment referencing
18306 convert_system_path_to_grub_path().
18307 * util/update-grub.in: Likewise.
18308 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
18309 (convert_system_path_to_grub_path): Add a warning message explaining
18310 that this function is deprecated. Rely on is_path_readable_by_grub()
18311 for the readability checks.
18312 (font_path): Use is_path_readable_by_grub() for the readability
18313 check rather than convert_system_path_to_grub_path().
18314
18315 2008-05-30 Robert Millan <rmh@aybabtu.com>
18316
18317 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
18318 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
18319 converting it first.
18320 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
18321 grub.cfg for access to font file, and afterwards call it again to set
18322 the root device.
18323
18324 2008-05-30 Robert Millan <rmh@aybabtu.com>
18325
18326 * commands/search.c (options): Add --fs_uuid option.
18327 (search_fs_uuid): New function.
18328 (grub_cmd_search): Fix --set argument passing.
18329 Use search_fs_uuid() when requested via --fs_uuid.
18330 (grub_search_init): Update help message.
18331 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
18332 and redeclare it as an array of 16-bit words.
18333 (grub_ext2_uuid): New function.
18334 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
18335 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
18336 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
18337 (GRUB_DEVICE_BOOT_UUID): New variables.
18338 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
18339 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
18340 whenever possible.
18341 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
18342 just assume `root' variable has the right value.
18343 * util/grub.d/10_linux.in: Likewise.
18344 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
18345 via PRINT_FS_UUID.
18346 (main): Recognise `-t fs_uuid' argument.
18347
18348 2008-05-30 Robert Millan <rmh@aybabtu.com>
18349
18350 * util/biosdisk.c (map): Redefine structure to hold information
18351 about GRUB drive name.
18352 (get_drive): Reimplement without assuming (and verifying) BIOS-like
18353 drive names.
18354 (call_hook): Remove.
18355 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
18356 member. Assume drive has partitions.
18357 (grub_util_biosdisk_open): Access device names via `.device' struct
18358 member.
18359 (open_device): Likewise.
18360 (find_drive): Likewise.
18361 (read_device_map): Adjust map[] usage to match the new struct
18362 definition. Don't check for duplicates (still possible, but not cheap
18363 anymore).
18364 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
18365 (make_device_name): Remove assumption of BIOS-like drive names.
18366
18367 2008-05-30 Pavel Roskin <proski@gnu.org>
18368
18369 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
18370 compiling execute.c doesn't need grub_script.tab.h anymore.
18371 (normal/command.c_DEPENDENCIES): Likewise.
18372 (normal/function.c_DEPENDENCIES): Likewise.
18373 * conf/i386-ieee1275.rmk: Likewise.
18374 * conf/i386-linuxbios.rmk: Likewise.
18375 * conf/i386-pc.rmk: Likewise.
18376 * conf/powerpc-ieee1275.rmk: Likewise.
18377 * conf/sparc64-ieee1275.rmk: Likewise.
18378
18379 2008-05-29 Pavel Roskin <proski@gnu.org>
18380
18381 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
18382 when scanning metadata for volume group name.
18383
18384 * include/grub/script.h: Don't include grub_script.tab.h. It's
18385 a generated file, which may only be included from the files with
18386 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
18387 use union YYSTYPE, as the later allows forward declaration.
18388 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
18389
18390 2008-05-29 Robert Millan <rmh@aybabtu.com>
18391
18392 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
18393 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
18394 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
18395 (grub_console_checkkey): Add grub_dprintf() call to report unknown
18396 scan codes.
18397
18398 2008-05-29 Robert Millan <rmh@aybabtu.com>
18399
18400 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
18401 control key combinations.
18402
18403 2008-05-29 Robert Millan <rmh@aybabtu.com>
18404
18405 * util/powerpc/ieee1275/grub-install.in: Move from here ...
18406 * util/ieee1275/grub-install.in: ... to here.
18407 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
18408 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
18409 (grub_install_SOURCES): Likewise.
18410
18411 2008-05-29 Robert Millan <rmh@aybabtu.com>
18412
18413 * fs/affs.c: Update copyright year.
18414 * fs/ext2.c: Likewise.
18415 * fs/fshelp.c: Likewise.
18416 * fs/hfsplus.c: Likewise.
18417 * fs/ntfs.c: Likewise.
18418 * fs/xfs.c: Likewise.
18419 * include/grub/fshelp.h: Likewise.
18420 * util/grub-mkdevicemap.c: Likewise.
18421
18422 2008-05-28 Robert Millan <rmh@aybabtu.com>
18423
18424 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
18425 might need to be fatfs to support some firmware implementations
18426 (e.g. OFW or EFI).
18427
18428 2008-05-28 Robert Millan <rmh@aybabtu.com>
18429
18430 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
18431 devices.
18432 * util/grub-mkdevicemap.c (get_mmc_disk_name)
18433 (make_device_map): Likewise.
18434
18435 2008-05-20 Bean <bean123ch@gmail.com>
18436
18437 * fs/fshelp.c (grub_fshelp_map_block): New function.
18438 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
18439 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
18440
18441 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
18442 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
18443 (grub_fshelp_journal): New structure.
18444 (grub_fshelp_map_block): New function prototype.
18445 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
18446 (grub_fshelp_map_block): Likewise.
18447
18448 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
18449 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
18450 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
18451 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
18452 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
18453 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
18454 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
18455 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
18456 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
18457 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
18458 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
18459 (grub_ext2_sblock): New members for journal support.
18460 (grub_ext3_journal_header): New structure.
18461 (grub_ext3_journal_revoke_header): Likewise.
18462 (grub_ext3_journal_block_tag): Likewise.
18463 (grub_ext3_journal_sblock): Likewise.
18464 (grub_fshelp_node): New members logfile and journal.
18465 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
18466 grub_fshelp_map_block to get real block number.
18467 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
18468 number.
18469 (grub_ext2_read_inode): Likewise.
18470 (grub_ext3_get_journal): New function.
18471 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
18472 (grub_ext2_close): Release memory used by journal.
18473
18474 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
18475 (REISERFS_MAGIC_DESC_BLOCK): New macro.
18476 (grub_reiserfs_transaction_header): Renamed to
18477 grub_reiserfs_description_block, replace field data with real_blocks.
18478 (grub_reiserfs_commit_block): New structure.
18479 (grub_reiserfs_data): New member journal.
18480 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
18481 number.
18482 (grub_reiserfs_read_symlink): Likewise.
18483 (grub_reiserfs_iterate_dir): Likewise.
18484 (grub_reiserfs_open): Likewise.
18485 (grub_reiserfs_read): Likewise.
18486 (grub_reiserfs_get_journal): New function.
18487 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
18488 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
18489 using grub_reiserfs_get_journal.
18490 (grub_reiserfs_close): Release memory used by journal.
18491
18492 * fs/affs.c (grub_affs_read_block): Change block type to
18493 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
18494
18495 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
18496
18497 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
18498
18499 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
18500
18501 * fs/udf.c (grub_udf_read_block): Change block type to
18502 grub_disk_addr_t. Use type cast to avoid warning.
18503
18504 * fs/xfs.c (grub_xfs_read_block): Likewise.
18505
18506 2008-05-16 Christian Franke <franke@computer.org>
18507
18508 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
18509 to ensure that break with ESC will always work.
18510 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
18511 Remove ESC from keyboard queue.
18512
18513 2008-05-16 Christian Franke <franke@computer.org>
18514
18515 * util/biosdisk.c: [__CYGWIN__] Add includes.
18516 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
18517 (get_os_disk): Move variable declarations to OS specific
18518 parts to avoid warning.
18519 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
18520 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
18521 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
18522 Cygwin.
18523 * util/getroot.c: [__CYGWIN__] Add includes.
18524 (strip_extra_slashes): Fix "/" case.
18525 [__CYGWIN__] (get_win32_path): New function.
18526 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
18527 [__CYGWIN__] (find_root_device): Disable.
18528 [__CYGWIN__] (get_bootsec_serial): New function.
18529 [__CYGWIN__] (find_cygwin_root_device): Likewise.
18530 [__linux__] (grub_guess_root_device): Add early returns to simplify
18531 structure.
18532 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
18533 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
18534 check for Linux only.
18535
18536 2008-05-15 Bean <bean123ch@gmail.com>
18537
18538 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
18539 keyboard hang problem in apple's intel mac.
18540
18541 2008-05-09 Robert Millan <rmh@aybabtu.com>
18542
18543 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
18544 devices.
18545 * util/grub-mkdevicemap.c (get_virtio_disk_name)
18546 (make_device_map): Likewise.
18547 Reported by Aurelien Jarno <aurel32@debian.org>
18548
18549 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
18550
18551 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
18552 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
18553 (make_device_map): Output entries for xvd type disks.
18554
18555 2008-05-07 Robert Millan <rmh@aybabtu.com>
18556
18557 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
18558 devices.
18559 * util/grub-mkdevicemap.c (get_cciss_disk_name)
18560 (make_device_map): Likewise.
18561 Reported by Roland Dreier <rdreier@cisco.com>
18562
18563 2008-05-07 Robert Millan <rmh@aybabtu.com>
18564
18565 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
18566 grub_strstr() call. Correct a few mistakes in failure path handling.
18567
18568 2008-05-06 Robert Millan <rmh@aybabtu.com>
18569
18570 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18571 Do not print a trailing slash (therefore, the root directory is an
18572 empty string).
18573 (convert_system_path_to_grub_path): Do not remove trailing slash
18574 from make_system_path_relative_to_its_root() output.
18575
18576 * util/i386/pc/grub-install.in: Add trailing slash to output from
18577 make_system_path_relative_to_its_root().
18578
18579 2008-05-06 Robert Millan <rmh@aybabtu.com>
18580
18581 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
18582 ensures that output lines aren't intermangled with those sent to
18583 stderr (via grub_util_info()).
18584 * util/grub-probe.c (grub_refresh): Likewise.
18585 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
18586
18587 2008-05-05 Christian Franke <franke@computer.org>
18588
18589 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
18590 Add Cygwin device names.
18591 (get_ide_disk_name) [__CYGWIN__]: Likewise.
18592 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
18593 (check_device): Return error instead of success on empty name.
18594 (make_device_map): Move label inside linux specific code to
18595 prevent compiler warning.
18596
18597 2008-04-30 Robert Millan <rmh@aybabtu.com>
18598
18599 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
18600 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
18601 first boot option.
18602 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
18603
18604 2008-04-29 Robert Millan <rmh@aybabtu.com>
18605
18606 * docs/grub.cfg: New file (example GRUB configuration).
18607
18608 2008-04-26 Robert Millan <rmh@aybabtu.com>
18609
18610 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
18611 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
18612 and `disk/ieee1275/nand.c'.
18613
18614 2008-04-25 Bean <bean123ch@gmail.com>
18615
18616 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
18617 i386-linuxbios.
18618
18619 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
18620 change the buffer size to 4096 for cdrom device.
18621
18622 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
18623 and nand.mod.
18624 (_linux_mod_SOURCES): New variable.
18625 (_linux_mod_CFLAGS): Likewise.
18626 (_linux_mod_LDFLAGS): Likewise.
18627 (linux_mod_SOURCES): Likewise.
18628 (linux_mod_CFLAGS): Likewise.
18629 (linux_mod_LDFLAGS): Likewise.
18630 (nand_mod_SOURCES): Likewise.
18631 (nand_mod_CFLAGS): Likewise.
18632 (nand_mod_LDFLAGS): Likewise.
18633
18634 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
18635 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
18636 type property. (nand device in olpc don't have this property)
18637
18638 * include/grub/disk.h (grub_disk_dev_id): New macro
18639 GRUB_DISK_DEVICE_NAND_ID.
18640
18641 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
18642 function prototype.
18643 (grub_rescue_cmd_initrd): Likewise.
18644
18645 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
18646 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
18647 ofw_cif_handler and ofw_idt, adjust padding number.
18648
18649 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
18650 GRUB_MACHINE_IEEE1275 is defined.
18651
18652 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
18653 Use NESTED_FUNC_ATTR attribute on the hook parameter.
18654
18655 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
18656 on nested function heap_init.
18657 (grub_upper_mem): New variable for i386-ieee1275.
18658 (grub_get_extended_memory): New function for i386-ieee1275.
18659 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
18660
18661 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
18662 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
18663 property.
18664
18665 * loader/i386/ieee1275/linux.c: New file.
18666
18667 * loader/i386/ieee1275/linux_normal.c: New file.
18668
18669 * disk/ieee1275/nand.c: New file.
18670
18671 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
18672
18673 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
18674 value.
18675 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
18676
18677 2008-04-18 Robert Millan <rmh@aybabtu.com>
18678
18679 Restructures early code path on ieee1275 to unify grub_main() as
18680 the first C function that is executed in every platform.
18681
18682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
18683 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
18684 cmain().
18685 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
18686 * kern/ieee1275/cmain.c (cmain): Rename to ...
18687 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
18688 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
18689 at the beginning.
18690
18691 2008-04-18 Robert Millan <rmh@aybabtu.com>
18692
18693 * util/update-grub.in: Fix syntax error when setting
18694 `GRUB_PRELOAD_MODULES'.
18695 Reported by Stephane Chazelas <stephane@artesyncp.com>
18696
18697 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
18698
18699 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
18700 section into account, newer toolchains generate unique build ids
18701 * configure.ac: remove the test for --build-id=none acceptance,
18702 we want build ids to be preserved
18703 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
18704 far from other sections don't cause the raw binary images grow
18705 size
18706
18707 2008-04-15 Robert Millan <rmh@aybabtu.com>
18708
18709 * disk/lvm.c: Update copyright year.
18710 * kern/misc.c: Likewise.
18711
18712 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18713
18714 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
18715 there is no memory left for physical volume name.
18716
18717 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
18718
18719 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
18720 volume name mapping to support bigger than 9 character names properly.
18721
18722 2008-04-13 Robert Millan <rmh@aybabtu.com>
18723
18724 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
18725 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
18726
18727 2008-04-13 Christian Franke <franke@computer.org>
18728
18729 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
18730 to create a floppy emulation boot CD when non emulation mode
18731 does not work.
18732 Enable Joliet CD filesystem extension.
18733
18734 2008-04-13 Robert Millan <rmh@aybabtu.com>
18735
18736 * kern/misc.c (grub_strncat): Fix off-by-one error.
18737 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
18738
18739 * kern/env.c (grub_env_context_close): Clear current context, not
18740 previous one.
18741 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
18742
18743 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
18744
18745 2008-04-13 Robert Millan <rmh@aybabtu.com>
18746
18747 Improve robustness when handling LVM.
18748
18749 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
18750 (and leave `*p' unmodified).
18751 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
18752 through it.
18753 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
18754 iterating through it.
18755 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
18756 through it.
18757 (grub_lvm_scan_device): Check the return value (and fail gracefully
18758 when due) on each grub_lvm_getvalue() or grub_strstr() call.
18759 Don't assume `vg->pvs != NULL' when iterating through it.
18760
18761 2008-04-13 Robert Millan <rmh@aybabtu.com>
18762
18763 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
18764 * genmk.rb (partmap): New variable.
18765 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
18766 (#{partmap}): New target rule.
18767 * genpartmaplist.sh: New file.
18768 * Makefile.in (pkglib_DATA): Add partmap.lst.
18769 (partmap.lst): New target rule.
18770 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
18771 modules (including all partition maps), instead of preloading them.
18772
18773 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
18774
18775 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
18776 `linux-boot-prober' (if installed) to detect other operating
18777 systems which are installed on the computer and add them to
18778 the boot menu.
18779 * conf/common.rmk: Build and install 30_os-prober.
18780
18781 2008-04-12 Robert Millan <rmh@aybabtu.com>
18782
18783 * kern/powerpc/ieee1275/init.c: Move from here ...
18784 * kern/ieee1275/init.c: ... to here. Update all users.
18785
18786 * kern/powerpc/ieee1275/cmain.c: Move from here ...
18787 * kern/ieee1275/cmain.c: ... to here. Update all users.
18788
18789 * kern/powerpc/ieee1275/openfw.c: Move from here ...
18790 * kern/ieee1275/openfw.c: ... to here. Update all users.
18791
18792 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
18793 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
18794
18795 2008-04-10 Pavel Roskin <proski@gnu.org>
18796
18797 * configure.ac: Always use "_cv_" in cache variables for
18798 compatibility with Autoconf 2.62.
18799
18800 2008-04-07 Robert Millan <rmh@aybabtu.com>
18801
18802 Revert grub/machine/init.h addition by Pavel (since it breaks on
18803 i386-ieee1275 and others):
18804 * util/i386/pc/misc.c: Remove grub/machine/init.h.
18805 * util/powerpc/ieee1275/misc.c: Likewise.
18806
18807 2008-04-07 Robert Millan <rmh@aybabtu.com>
18808
18809 * util/grub-probe.c (probe): Improve error message.
18810
18811 2008-04-07 Robert Millan <rmh@aybabtu.com>
18812
18813 * util/biosdisk.c (read_device_map): Skip devices that don't exist
18814 (this prevents the presence of a bogus entry from ruining the whole
18815 thing).
18816
18817 2008-04-06 Pavel Roskin <proski@gnu.org>
18818
18819 * util/biosdisk.c: Include grub/util/biosdisk.h.
18820 * util/grub-fstest.c (execute_command): Make static.
18821 * util/grub-mkdevicemap.c (check_device): Likewise.
18822 * util/i386/pc/misc.c: Include grub/machine/init.h.
18823 * util/powerpc/ieee1275/misc.c: Likewise.
18824 * util/lvm.c: Include grub/util/lvm.h.
18825 * util/misc.c: Include grub/kernel.h, grub/misc.h and
18826 grub/cache.h.
18827 * util/raid.c: Include grub/util/raid.h.
18828 (grub_util_getdiskname): Make static.
18829
18830 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
18831 grub_hostfs_fini(), as they are called from grub_init_all() and
18832 grub_fini_all() respectively. This fixes an infinite loop in
18833 grub-fstest due to double registration of hostfs.
18834 Reported by Christian Franke <Christian.Franke@t-online.de>
18835
18836 2008-04-05 Pavel Roskin <proski@gnu.org>
18837
18838 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
18839 all 8 functions. Otherwise, probe function 0 only.
18840
18841 2008-04-04 Pavel Roskin <proski@gnu.org>
18842
18843 * commands/lspci.c (grub_lspci_iter): Print the bus number
18844 correctly.
18845
18846 * commands/lspci.c (grub_pci_classes): Fix typos.
18847 (grub_lspci_iter): Don't print func twice. Print vendor ID
18848 before device ID, as it's normally done.
18849
18850 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18851 Fix signedness warnings.
18852 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
18853 Likewise.
18854 * util/ieee1275/get_disk_name.c: Include config.h so that
18855 _GNU_SOURCE is defined and getline() is declared. Mark an
18856 unused argument as such. Fix a signedness warning.
18857
18858 2008-04-02 Pavel Roskin <proski@gnu.org>
18859
18860 * genkernsyms.sh.in: Use more robust assignments for CC and
18861 srcdir. Quote srcdir.
18862 * gensymlist.sh.in: Likewise. Assert at the compile time that
18863 the symbol table is not empty.
18864
18865 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
18866 * fs/cpio.c (grub_cpio_read): Likewise.
18867
18868 2008-04-01 Pavel Roskin <proski@gnu.org>
18869
18870 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
18871 * disk/host.c (grub_host_open): Likewise.
18872 * disk/loopback.c (grub_loopback_open): Likewise.
18873 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
18874 disk->id as in disk/host.c, not a multi-character constant.
18875
18876 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
18877 later is obsolete, potentially dangerous and sets a bad example.
18878 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
18879 * util/misc.c (grub_util_get_image_size): Likewise.
18880
18881 * disk/loopback.c (options): Improve help for "--partitions".
18882
18883 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
18884 options to align them with the short options, e.g. "echo -e".
18885
18886 2008-03-31 Bean <bean123ch@gmail.com>
18887
18888 * video/reader/png.c (grub_png_data): New member is_16bit and
18889 image_data.
18890 (grub_png_decode_image_header): Detect 16 bit png image.
18891 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
18892 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
18893 (grub_video_reader_png): Release memory occupied by image_data.
18894
18895 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
18896 4096 bytes.
18897 (grub_nfs_mount): Skip the test for sector per cluster.
18898
18899 * include/grub/ntfs.h (MAX_SPC): Removed.
18900
18901 2008-03-31 Bean <bean123ch@gmail.com>
18902
18903 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
18904 (grub_probe_SOURCES): Add fs/afs.c.
18905 (grub_fstest_SOURCES): Likewise.
18906 (afs_mod_SOURCES): New variable.
18907 (afs_mod_CFLAGS): Likewise.
18908 (afs_mod_LDFLAGS): Likewise.
18909
18910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18911 (grub_emu_SOURCES): Likewise.
18912
18913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18914
18915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18916
18917 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18918
18919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18920
18921 * fs/afs.c: New file.
18922
18923 2008-03-30 Pavel Roskin <proski@gnu.org>
18924
18925 * disk/host.c: Include grub/misc.h to fix a warning.
18926 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18927 warnings about implicit declarations.
18928
18929 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18930 variable.
18931 * include/grub/i386/loader.h: Change declaration of
18932 grub_linux_boot() to match what grub_loader_set() expects.
18933 * util/getroot.c (grub_guess_root_device): Return const char* to
18934 fix a warning.
18935 * util/grub-probe.c (probe): Fix a warning about uninitialized
18936 abstraction_name variable.
18937 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18938 second argument as unused to fix a warning.
18939
18940 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18941 missing grub_error() call.
18942
18943 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18944 2.60 and newer uses it to define datadir.
18945
18946 * commands/sleep.c: Fix warning about implicit declaration.
18947 * disk/memdisk.c: Likewise.
18948 * loader/aout.c: Likewise.
18949 * loader/i386/bsd_normal.c: Likewise.
18950 * util/grub-probe.c: Likewise.
18951
18952 * commands/i386/cpuid.c (has_longmode): Make static.
18953 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18954 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18955
18956 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18957 GDT. This is more robust, as %ds can change.
18958 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18959 calling real_to_prot().
18960 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18961
18962 2008-03-28 Pavel Roskin <proski@gnu.org>
18963
18964 * kern/i386/pc/startup.S: Assert that uncompressed functions
18965 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18966 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18967 code, as they push parts of the code (error handlers) beyond
18968 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18969 code as correctness and size.
18970
18971 2008-03-28 Pavel Roskin <proski@gnu.org>
18972
18973 * kern/i386/pc/startup.S
18974 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18975 data block address to the real mode, keep offset minimal. This
18976 works around a bug in AWARD BIOS on old Athlon systems, which
18977 makes CD detection hang.
18978
18979 2008-03-26 Pavel Roskin <proski@gnu.org>
18980
18981 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18982 const.
18983 * include/grub/normal.h: Add grub_parse_color_name_pair()
18984 declaration.
18985
18986 2008-03-24 Bean <bean123ch@gmail.com>
18987
18988 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18989 (cd_count): Removed.
18990 (cd_drive): New variable.
18991 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18992 (grub_biosdisk_call_hook): Likewise.
18993 (grub_biosdisk_iterate): Change cdrom detection method.
18994 (grub_biosdisk_open): Replace cd_start with cd_drive.
18995 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18996 detect cdrom device.
18997
18998 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18999 Removed.
19000 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19001 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19002 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19003 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19004 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19005 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19006 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19007 (grub_biosdisk_cdrp): New structure.
19008 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19009
19010 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19011
19012 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19013 device.
19014
19015 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19016 New function.
19017
19018 2008-03-20 Robert Millan <rmh@aybabtu.com>
19019
19020 Remove 2 TiB limit in ata.mod.
19021 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19022 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19023 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19024 grub_uint64_t instead of grub_uint32_t.
19025
19026 2008-03-05 Bean <bean123ch@gmail.com>
19027
19028 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19029 (grub_multiboot): Set boot device.
19030
19031 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19032
19033 2008-03-02 Bean <bean123ch@gmail.com>
19034
19035 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19036 symlink_buffer.
19037
19038 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19039
19040 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19041 texinfo.tex.
19042
19043 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19044 modified.
19045
19046 * docs/fdl.texi: New file.
19047
19048 * docs/mdate-sh: New file. Copied from gnulib.
19049 * docs/texinfo.tex: Likewise.
19050
19051 * config.guess: Updated from gnulib.
19052 * install-sh: Likewise.
19053
19054 2008-02-28 Robert Millan <rmh@aybabtu.com>
19055
19056 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19057 (aout_mod_SOURCES): New variable.
19058 (aout_mod_CFLAGS): Likewise.
19059 (aout_mod_LDFLAGS): Likewise.
19060
19061 * conf/i386-ieee1275.rmk: Likewise.
19062
19063 2008-02-28 Robert Millan <rmh@aybabtu.com>
19064
19065 * util/update-grub.in: Reorganise terminal validity check. Accept
19066 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19067 Based on suggestion by Franklin PIAT.
19068
19069 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19070
19071 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19072 function.
19073 * util/getroot.c (grub_util_check_block_device): New function that
19074 returns the given argument if it is a block device and returns NULL else.
19075 * util/grub-probe.c (argument_is_device): New variable.
19076 (probe): Promote device_name from a variable to an argument. Receive
19077 device_name from grub_util_check_block_device() if path is NULL and from
19078 grub_guess_root_device() else. Do not free() device_name anymore.
19079 (options): Introduce new parameter '-d, --device'.
19080 (main): Add description of the new parameter to the help screen.
19081 Rename path variable to argument. Set argument_is_device if the '-d'
19082 option is given. Pass argument to probe() depending on
19083 argument_is_device.
19084
19085 2008-02-24 Bean <bean123ch@gmail.com>
19086
19087 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19088 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19089 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19090 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19091 (GRUB_ISO9660_VOLDESC_END): Likewise.
19092 (grub_iso9660_primary_voldesc): New member escape.
19093 (grub_iso9660_data): New member joliet.
19094 (grub_iso9660_convert_string): New function.
19095 (grub_iso9660_mount): Detect joliet extension.
19096 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19097 (grub_iso9660_iso9660_label): Likewise.
19098
19099 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
19100 (grub_setup_SOURCES): Add fs/udf.c.
19101 (grub_fstest_SOURCES): Likewise.
19102 (udf_mod_SOURCES): New variable.
19103 (udf_mod_CFLAGS): Likewise.
19104 (udf_mod_LDFLAGS): Likewise.
19105
19106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
19107 (grub_emu_SOURCES): Likewise.
19108
19109 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19110
19111 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19112
19113 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19114
19115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19116
19117 * fs/udf.c: New file.
19118
19119 2008-02-24 Robert Millan <rmh@aybabtu.com>
19120
19121 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
19122 (normal/lexer.c_DEPENDENCIES): New variables.
19123 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19124 (normal/lexer.c_DEPENDENCIES): Likewise.
19125 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
19126 (normal/lexer.c_DEPENDENCIES): Likewise.
19127 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
19128 (normal/lexer.c_DEPENDENCIES): Likewise.
19129 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19130 (normal/lexer.c_DEPENDENCIES): Likewise.
19131 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
19132 (normal/lexer.c_DEPENDENCIES): Likewise.
19133
19134 2008-02-23 Robert Millan <rmh@aybabtu.com>
19135
19136 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
19137 since they were intended to be in hex. This didn't break previously
19138 because of a bug in gpt_partition_map_iterate() (see below).
19139
19140 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
19141 when checking the validity of GPT header.
19142 Remove `partno', since it always provides the same information as `i'.
19143
19144 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
19145
19146 * include/grub/efi/time.h: Fix a wrong comment.
19147
19148 2008-02-19 Pavel Roskin <proski@gnu.org>
19149
19150 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
19151 message.
19152
19153 2008-02-19 Bean <bean123ch@gmail.com>
19154
19155 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
19156 (aout_mod_SOURCES): New variable.
19157 (aout_mod_CFLAGS): Likewise.
19158 (aout_mod_LDFLAGS): Likewise.
19159 (_bsd_mod_SOURCES): New variable.
19160 (_bsd_mod_CFLAGS): Likewise.
19161 (_bsd_mod_LDFLAGS): Likewise.
19162 (bsd_mod_SOURCES): New variable.
19163 (bsd_mod_CFLAGS): Likewise.
19164 (bsd_mod_LDFLAGS): Likewise.
19165
19166 * include/grub/aout.h: New file.
19167
19168 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
19169
19170 * include/grub/i386/bsd.h: New file.
19171
19172 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
19173 to make it public.
19174
19175 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
19176 function is called, so that it's possible to change it inside the hook.
19177 (grub_elf64_load): Likewise.
19178 (grub_elf_file): Don't close the file if elf header is not found.
19179 (grub_elf_close): Close the file if grub_elf_file fails (The new
19180 grub_elf_file won't close it).
19181 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
19182 (grub_elf64_size): Likewise.
19183
19184 * kern/i386/loader.S (grub_unix_real_boot): New function.
19185
19186 * loader/aout.c: New file.
19187
19188 * loader/i386/bsd.c: New file.
19189
19190 * loader/i386/bsd_normal.c: New file.
19191
19192 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
19193
19194 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
19195 can test other formats.
19196
19197 2008-02-19 Robert Millan <rmh@aybabtu.com>
19198
19199 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
19200 (grub_gpt_partition_type_empty): Redefine with macro from
19201 `<grub/gpt_partition.h>'.
19202 (gpt_partition_map_iterate): Adjust partition type comparison.
19203
19204 Export `entry' as partmap-specific `part.data' struct.
19205 (grub_gpt_header, grub_gpt_partentry): Move from here ...
19206
19207 * include/grub/gpt_partition.h (grub_gpt_header)
19208 (grub_gpt_partentry): ... to here (new file).
19209
19210 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
19211
19212 (grub_gpt_partition_type_bios_boot): New const variable, defined
19213 with macro from `<grub/gpt_partition.h>'.
19214
19215 (setup): Replace `first_start' with `embed_region', which keeps
19216 track of the embed region (and is partmap-agnostic).
19217
19218 Replace find_first_partition_start() with find_usable_region(),
19219 which finds a usable region for embedding using partmap-specific
19220 knowledge (supports PC/MSDOS and GPT).
19221
19222 Fix all assumptions that the embed region start at sector 1, using
19223 `embed_region.start' from now on. Similarly, use `embed_region.end'
19224 rather than `first_start' to calculate available size.
19225
19226 In grub_util_info() message, replace "into after the MBR" with an
19227 indication of the specific sector our embed region starts at.
19228
19229 2008-02-19 Robert Millan <rmh@aybabtu.com>
19230
19231 * DISTLIST: Replace `commands/ieee1275/halt.c' and
19232 `commands/ieee1275/reboot.c' with `commands/halt.c' and
19233 `commands/reboot.c'.
19234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19235 (halt_mod_SOURCES): Likewise.
19236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
19237 (halt_mod_SOURCES): Likewise.
19238
19239 2008-02-17 Christian Franke <franke@computer.org>
19240
19241 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
19242
19243 2008-02-17 Robert Millan <rmh@aybabtu.com>
19244
19245 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19246 set `first_start' to 0 for non-PC/MSDOS partition maps.
19247
19248 2008-02-16 Robert Millan <rmh@aybabtu.com>
19249
19250 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
19251 do not assume partition map is PC/MSDOS before performing checks that
19252 are specific to that layout.
19253
19254 2008-02-13 Robert Millan <rmh@aybabtu.com>
19255
19256 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
19257 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
19258 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
19259
19260 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
19261
19262 * configure.ac: Only a cosmetic change on the handling of
19263 -fno-stack-protector.
19264
19265 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
19266
19267 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
19268 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
19269 reboot.c.
19270 (grub_install_SOURCES): Add halt.mod and reboot.mod.
19271 (halt_mod_SOURCES): New variable.
19272 (halt_mod_CFLAGS): Likewise.
19273 (halt_mod_LDFLAGS): Likewise.
19274 (reboot_mod_SOURCES): Likewise.
19275 (reboot_mod_CFLAGS): Likewise.
19276 (reboot_mod_LDFLAGS): Likewise.
19277
19278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
19279 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
19280 reboot.c.
19281 (halt_mod_SOURCES): Likewise.
19282 (reboot_mod_SOURCES): Likewise.
19283
19284 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
19285 commands/i386/pc/reboot.c by commands/reboot.c.
19286 (reboot_mod_SOURCES): Likewise.
19287
19288 * commands/i386/pc/reboot.c: merge this file ...
19289
19290 * commands/ieee1275/reboot.c: ... and this file ...
19291
19292 * commands/reboot.c: ... to this file.
19293 Add some precompiler directive to include the correct header for
19294 each machine.
19295
19296 * commands/ieee1275/halt.c: move this file ...
19297
19298 * commands/halt.c: ... to here.
19299 Add some precompiler directive to include the correct header for
19300 each machine.
19301
19302 * include/grub/efi/efi.h (grub_reboot): New function declaration.
19303 (grub_halt): Likewise.
19304
19305 * kern/efi/efi.c (grub_reboot): New function.
19306 (grub_halt): Likewise.
19307
19308 2008-02-12 Robert Millan <rmh@aybabtu.com>
19309
19310 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
19311 /dev (like it is done for /dev/mapper). This doesn't provide support
19312 for EVMS, but at least it is now easy to identify the problem when it
19313 arises.
19314
19315 2008-02-11 Robert Millan <rmh@aybabtu.com>
19316
19317 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
19318 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
19319 comparing it with -1, not 0.
19320
19321 2008-02-10 Robert Millan <rmh@aybabtu.com>
19322
19323 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
19324 `disk/lvm.c'.
19325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19326 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19327
19328 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
19329 `disk/lvm.c' to the end of the list.
19330 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19331 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19332
19333 2008-02-10 Robert Millan <rmh@aybabtu.com>
19334
19335 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
19336 grub_print_error() instead. This will let user know why we're entering
19337 rescue mode.
19338 Based on suggestions from Sam Morris.
19339
19340 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
19341
19342 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
19343 on remaining N args, instead of "--" arg N times.
19344
19345 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
19346
19347 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
19348 (fill_with_default_glyph): Changed to use unknown_glyph for fill
19349 pattern for unknown glyphs.
19350
19351 2008-02-09 Robert Millan <rmh@aybabtu.com>
19352
19353 * configure.ac: Probe for `help2man'.
19354 * Makefile.in (builddir): New variable.
19355 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
19356 or otherwise add a few flags/options to it.
19357 (install-local): For every executable utility or script that is
19358 installed, invoke $(HELP2MAN) to install a manpage based on --help
19359 output.
19360
19361 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
19362 that it doesn't prevent --help from working in build tree.
19363
19364 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
19365 with `bug-grub@gnu.org'.
19366 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
19367 * util/update-grub.in (usage): New function.
19368 Implement proper argument check, with support for --help and --version
19369 (as well as existing -y).
19370
19371 2008-02-09 Christian Franke <franke@computer.org>
19372
19373 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
19374 avoid overwriting previous output.
19375 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
19376
19377 2008-02-09 Robert Millan <rmh@aybabtu.com>
19378
19379 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
19380 drawing the menu.
19381
19382 2008-02-09 Robert Millan <rmh@aybabtu.com>
19383
19384 * commands/sleep.c: New file.
19385 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
19386 (sleep_mod_SOURCES): New variable.
19387 (sleep_mod_CFLAGS): Likewise.
19388 (sleep_mod_LDFLAGS): Likewise.
19389
19390 2008-02-09 Robert Millan <rmh@aybabtu.com>
19391
19392 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
19393 situations in which we can deduce the RAID size and the superblock
19394 doesn't match it.
19395
19396 2008-02-09 Robert Millan <rmh@aybabtu.com>
19397
19398 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
19399 and return a grub_diskmemberlist_t composed of LVM physical volumes.
19400 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
19401
19402 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
19403 and return a grub_diskmemberlist_t composed of physical array members.
19404 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
19405
19406 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
19407 prototype.
19408 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
19409 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
19410 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
19411
19412 * util/grub-probe.c (probe): Move partmap probing code from here ...
19413 (probe_partmap): ... to here.
19414 (probe): Use probe_partmap() once for the disk we're probing, and
19415 additionally, when such disk contains a memberlist() struct member,
19416 once for each disk that is contained in the structure returned by
19417 memberlist().
19418
19419 2008-02-09 Robert Millan <rmh@aybabtu.com>
19420
19421 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
19422 environment variable to 'all' in order to obtain debug output from
19423 non-util/ code.
19424 * util/i386/pc/grub-setup.c (main): Likewise.
19425
19426 2008-02-08 Robert Millan <rmh@aybabtu.com>
19427
19428 * disk/raid.c (grub_raid_scan_device): Check for
19429 `array->device[sb.this_disk.number]' rather than for
19430 `array->device[sb.this_disk.number]->name', since the latter is not
19431 guaranteed to be accessible.
19432
19433 2008-02-08 Robert Millan <rmh@aybabtu.com>
19434
19435 * disk/raid.c: Update copyright.
19436 * fs/cpio.c: Likewise.
19437 * include/grub/raid.h: Likewise.
19438 * loader/i386/pc/multiboot.c: Likewise.
19439 * util/hostfs.c: Likewise.
19440
19441 2008-02-08 Robert Millan <rmh@aybabtu.com>
19442
19443 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
19444 to a grub_disk_t array.
19445 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
19446 `device[x]'.
19447 (grub_raid_scan_device): Replace `device[x].name' accesses with
19448 `device[x]->name'. Simplify initialization of `array->device[x]'.
19449
19450 2008-02-08 Robert Millan <rmh@aybabtu.com>
19451
19452 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
19453 grub_dprintf() calls.
19454 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
19455 error message.
19456
19457 2008-02-07 Christian Franke <franke@computer.org>
19458
19459 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
19460 instead of fseek and ftell to support large files.
19461 (grub_hostfs_read): Likewise.
19462
19463 2008-02-07 Robert Millan <rmh@aybabtu.com>
19464
19465 Patch from Jeroen Dekkers.
19466 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
19467 failure, since successfully reading all array members might not be
19468 required.
19469
19470 2008-02-06 Robert Millan <rmh@aybabtu.com>
19471
19472 * util/grub-probe.c (probe): Simplify partmap probing (with the
19473 assumption that the first word up to the underscore equals to
19474 the module name).
19475
19476 2008-02-06 Christian Franke <franke@computer.org>
19477
19478 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
19479 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
19480 last block of a cpio or tar stream.
19481 Check for "TRAILER!!!" instead of any empty data
19482 block to detect last block of a cpio stream.
19483 (grub_cpio_dir): Fix constness of variable np.
19484 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
19485 cpio or tar trailer is detected. This fixes a crash
19486 on open of a non existing file.
19487
19488 2008-02-05 Bean <bean123ch@gmail.com>
19489
19490 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
19491 address of entry.
19492 (grub_multiboot_load_elf64): Likewise.
19493 (grub_multiboot): Initialize mbi structure.
19494
19495 * util/grub-fstest.c: Don't include unused header file script.h.
19496
19497 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
19498 of file.
19499 (grub_fstest_SOURCES): Likewise.
19500
19501 2008-02-05 Robert Millan <rmh@aybabtu.com>
19502
19503 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
19504 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
19505 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
19506 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
19507
19508 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
19509 (translation_table): Replace hardcoded values with macros
19510 provided by `<grub/term.h>'.
19511
19512 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
19513 (keyboard_map): Correct/add a few values, with macros provided
19514 by `<grub/term.h>'.
19515 (keyboard_map_shift): Zero values that don't differ from their
19516 `keyboard_map' equivalents.
19517 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
19518 Discard the second scan code that is always sent by Caps lock.
19519 Only use `keyboard_map_shift' when it provides a non-zero value,
19520 otherwise fallback to `keyboard_map'.
19521
19522 2008-02-04 Bean <bean123ch@gmail.com>
19523
19524 * Makefile.in (enable_grub_fstest): New variable.
19525
19526 * conf/common.rmk (grub_fstest_init.lst): New rule.
19527 (grub_fstest_init.h): Likewise.
19528 (grub_fstest_init.c): Likewise.
19529 (util/grub-fstest.c_DEPENDENCIES): New variable.
19530 (grub_fstest_SOURCES): Likewise.
19531
19532 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
19533
19534 * util/grub-fstest.c: New file.
19535
19536 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19537
19538 Make grub-setup handle a separate root device.
19539
19540 * util/i386/pc/grub-setup.c (setup): Always open the root device,
19541 so that the root device can be compared with the destination
19542 device.
19543 When embedding the core image, if the root and destination devices
19544 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
19545 0xFF.
19546 When not embedding, set ROOT_DRIVE to 0xFF.
19547
19548 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19549
19550 Add support for having a grub directory in a different drive. This
19551 is still only the data handling part.
19552
19553 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
19554 (codestart): Save %dh in GRUB_ROOT_DRIVE.
19555 (grub_root_drive): New variable.
19556
19557 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
19558 instead of GRUB_BOOT_DRIVE to construct a device name. Set
19559 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
19560 as it was.
19561
19562 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
19563
19564 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
19565 macro.
19566 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
19567
19568 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
19569 is bogus, because PXE booting does not specify any drive
19570 correctly.
19571
19572 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
19573 am not sure if this is really correct.
19574
19575 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
19576 is always identical to the boot drive when booting from a CD.
19577
19578 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
19579 longer.
19580 (root_drive): New variable.
19581 (real_start): Unconditionally set %dh to ROOT_DRIVE.
19582 (setup_sectors): Push %dx right after popping it, because %dh will
19583 be modified later.
19584 (copy_buffer): Restore %dx.
19585
19586 2008-02-03 Robert Millan <rmh@aybabtu.com>
19587
19588 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
19589 use `cdboot.img' for cdrom images.
19590
19591 2008-02-03 Robert Millan <rmh@aybabtu.com>
19592
19593 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
19594 only setup gfxterm when `font' command has succeeded.
19595
19596 2008-02-03 Robert Millan <rmh@aybabtu.com>
19597
19598 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
19599 (grub_rescue_cmd_multiboot_loader)
19600 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
19601
19602 2008-02-03 Pavel Roskin <proski@gnu.org>
19603
19604 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
19605 %edx and %esi from stack only after grub_gate_a20() is called.
19606 grub_gate_a20() clobbers %edx.
19607
19608 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
19609
19610 * configure.ac (AC_INIT): Bumped to 1.96.
19611
19612 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
19613 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
19614 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
19615 video/readers/png.c.
19616
19617 2008-02-03 Bean <bean123ch@gmail.com>
19618
19619 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
19620 (cdboot_img_SOURCES): New variable.
19621 (cdboot_img_ASFLAGS): New variable.
19622 (cdboot_img_LDFLAGS): New variable.
19623
19624 * boot/i386/pc/cdboot.S: New file.
19625
19626 * disk/i386/pc/biosdisk.c (cd_start): New variable.
19627 (cd_count): Likewise.
19628 (grub_biosdisk_get_drive): Add support for cd device.
19629 (grub_biosdisk_call_hook): Likewise.
19630 (grub_biosdisk_iterate): Likewise.
19631 (grub_biosdisk_open): Likewise.
19632 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
19633 (grub_biosdisk_rw): Support reading from cd device.
19634 (GRUB_MOD_INIT): Iterate cd devices.
19635
19636 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
19637 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
19638 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
19639
19640 * kern/i386/pc/init.c (make_install_device): Check for cd device.
19641
19642 2008-02-02 Robert Millan <rmh@aybabtu.com>
19643
19644 * commands/read.c: New file.
19645 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
19646 (read_mod_SOURCES): New variable.
19647 (read_mod_CFLAGS): Likewise.
19648 (read_mod_LDFLAGS): Likewise.
19649
19650 2008-02-02 Robert Millan <rmh@aybabtu.com>
19651
19652 * normal/main.c (grub_normal_execute): Check for `menu->size' when
19653 determining whether menu has to be displayed.
19654
19655 2008-02-02 Marco Gerards <marco@gnu.org>
19656
19657 * bus/pci.c: New file.
19658
19659 * include/grub/pci.h: Likewise.
19660
19661 * include/grub/i386/pc/pci.h: Likewise.
19662
19663 * commands/lspci.c: Likewise.
19664
19665 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
19666 `lspci.mod'.
19667 (pci_mod_SOURCES): New variable.
19668 (pci_mod_CFLAGS): Likewise.
19669 (pci_mod_LDFLAGS): Likewise.
19670 (lspci_mod_SOURCES): Likewise.
19671 (lspci_mod_CFLAGS): Likewise.
19672 (lspci_mod_LDFLAGS): Likewise.
19673
19674 2008-02-02 Bean <bean123ch@gmail.com>
19675
19676 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
19677 (grub_ufs_get_file_block): Fix indirect block calculation problem.
19678
19679 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
19680 (grub_xfs_btree_node): New structure.
19681 (grub_xfs_btree_root): New structure.
19682 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
19683 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
19684 (GRUB_XFS_EXTENT_BLOCK): Likewise.
19685 (GRUB_XFS_EXTENT_SIZE): Likewise.
19686 (grub_xfs_read_block): Support btree format type.
19687 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
19688 Use directory block as basic unit.
19689
19690 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
19691
19692 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
19693 __attribute__ ((__regparm__ (1))).
19694
19695 2008-02-01 Robert Millan <rmh@aybabtu.com>
19696
19697 Correct a mistake in previous commit.
19698
19699 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
19700 top.
19701 (normal/command.c_DEPENDENCIES): New variable.
19702
19703 2008-02-01 Robert Millan <rmh@aybabtu.com>
19704
19705 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
19706 top.
19707 (normal/command.c_DEPENDENCIES): New variable.
19708 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
19709 * conf/i386-ieee1275.rmk: Likewise.
19710 * conf/i386-linuxbios.rmk: Likewise.
19711 * conf/i386-pc.rmk: Likewise.
19712 * conf/sparc64-ieee1275.rmk: Likewise.
19713 * conf/powerpc-ieee1275.rmk: Likewise.
19714 (grub_emu_SOURCES): Add `fs/fshelp.c'.
19715
19716 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
19717
19718 2008-02-01 Robert Millan <rmh@aybabtu.com>
19719
19720 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
19721 call at beginning of function.
19722
19723 2008-01-31 Pavel Roskin <proski@gnu.org>
19724
19725 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
19726 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
19727 (grub_mkrescue_SOURCES): Likewise.
19728 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
19729
19730 2008-01-30 Robert Millan <rmh@aybabtu.com>
19731
19732 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
19733 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
19734 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
19735 (grub_probe_SOURCES): ... to here.
19736
19737 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
19738 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
19739 * conf/i386-ieee1275.rmk: Likewise.
19740 * conf/i386-linuxbios.rmk: Likewise.
19741 * conf/powerpc-ieee1275.rmk: Likewise.
19742
19743 2008-01-30 Tristan Gingold <gingold@free.fr>
19744
19745 * kern/rescue.c: Silently accept empty lines.
19746
19747 2008-01-29 Bean <bean123ch@gmail.com>
19748
19749 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
19750 (real_code_2): Code cleanup and change comment style.
19751 (move_memory): Avoid using 32-bit address mode.
19752
19753 2008-01-29 Bean <bean123ch@gmail.com>
19754
19755 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
19756 (png_mod_SOURCES): New variable.
19757 (png_mod_CFLAGS): Likewise.
19758 (png_mod_LDFLAGS): Likewise.
19759
19760 * video/readers/png.c: New file.
19761
19762 2008-01-28 Robert Millan <rmh@aybabtu.com>
19763
19764 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
19765 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
19766 `ifndef GRUB_MOD_GAP' hack.
19767 * util/elf/grub-mkimage.c (add_segments): Likewise.
19768
19769 2008-01-27 Robert Millan <rmh@aybabtu.com>
19770
19771 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
19772 `GRUB_MOD_GAP' for platforms in which it's not defined.
19773 * util/elf/grub-mkimage.c (add_segments): Likewise.
19774
19775 2008-01-27 Robert Millan <rmh@aybabtu.com>
19776
19777 Get grub-emu to build again (including parallel builds).
19778
19779 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
19780 Split into ...
19781 (util/grub-emu.c_DEPENDENCIES): ... this, ...
19782 (normal/execute.c_DEPENDENCIES): ... this, ...
19783 (grub-emu_DEPENDENCIES): ... and this.
19784
19785 * conf/i386-efi.rmk: Likewise.
19786 * conf/i386-linuxbios.rmk: Likewise.
19787 * conf/i386-ieee1275.rmk: Likewise.
19788 * conf/powerpc-ieee1275.rmk: Likewise.
19789 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
19790
19791 2008-01-27 Robert Millan <rmh@aybabtu.com>
19792
19793 * NEWS: Add a few items.
19794
19795 2008-01-27 Robert Millan <rmh@aybabtu.com>
19796
19797 Fix parallel builds with grub-emu. Based on earlier commit for
19798 grub-probe and grub-setup.
19799
19800 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19801 (util/grub-emu.c_DEPENDENCIES): ... this.
19802 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19803 (util/grub-emu.c_DEPENDENCIES): ... this.
19804 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19805 (util/grub-emu.c_DEPENDENCIES): ... this.
19806 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19807 (util/grub-emu.c_DEPENDENCIES): ... this.
19808 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
19809 (util/grub-emu.c_DEPENDENCIES): ... this.
19810
19811 2008-01-27 Pavel Roskin <proski@gnu.org>
19812
19813 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
19814 to create a gap between _end and the modules added to the image
19815 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
19816 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
19817 * util/elf/grub-mkimage.c (add_segments): Likewise.
19818
19819 2008-01-26 Pavel Roskin <proski@gnu.org>
19820
19821 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
19822 just return an error.
19823
19824 2008-01-26 Bean <bean123ch@gmail.com>
19825
19826 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
19827 (grub_reiserfs_get_item): Save offset of the next item.
19828 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
19829
19830 2008-01-25 Robert Millan <rmh@aybabtu.com>
19831
19832 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
19833 make all filesystem sources appear together (possibly fixing omissions
19834 while at it).
19835 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19837 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19839
19840 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
19841 add `kern/file.c'.
19842 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
19843 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19844 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
19845 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
19846
19847 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
19848 (probe): Add a sanity check to make sure of our ability to read
19849 requested files when probing for filesystem type.
19850
19851 * genmk.rb: Update copyright year (2007).
19852
19853 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
19854 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
19855 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
19856 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
19857 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
19858 : Remove function prototypes.
19859
19860 2008-01-25 Robert Millan <rmh@aybabtu.com>
19861
19862 Revert my previous commits (based on wrong assumption of how grub_errno
19863 works).
19864
19865 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
19866 * kern/file.c (grub_file_open): Likewise.
19867
19868 2008-01-24 Pavel Roskin <proski@gnu.org>
19869
19870 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
19871 that hang if GRUB tries to setup colors.
19872 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
19873 colors for firmwares that don't support it.
19874 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
19875 Recognize Open Hack'Ware, set flags to work around its
19876 limitations.
19877
19878 2008-01-24 Robert Millan <rmh@aybabtu.com>
19879
19880 * kern/file.c (grub_file_open): Do not account previous failures of
19881 unrelated functions when grub_errno is checked for.
19882 Reported by Oleg Strikov.
19883
19884 2008-01-24 Bean <bean123ch@gmail.com>
19885
19886 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
19887 (grub_ufs_sblock): New member volume name.
19888 (grub_ufs_find_file): Fix string copy bug.
19889 (grub_ufs_label): Implement this function properly.
19890
19891 * fs/hfs.c (grub_hfs_cnid_type): New enum.
19892 (grub_hfs_iterate_records): Use the correct file number for extents
19893 and catalog file. Fix problem in next index calculation.
19894 (grub_hfs_find_node): Replace recursive function call with loop.
19895 (grub_hfs_iterate_dir): Replace recursive function call with loop.
19896
19897 2008-01-23 Robert Millan <rmh@aybabtu.com>
19898
19899 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
19900 `<grub/symbol.h>' and `<grub/multiboot.h>'.
19901 (grub_multiboot2_real_boot): New function prototype.
19902
19903 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
19904 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
19905
19906 * kern/i386/ieee1275/init.c (grub_os_area_addr)
19907 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
19908
19909 2008-01-23 Robert Millan <rmh@aybabtu.com>
19910
19911 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19912 #ifdef'ed out grub_printf().
19913
19914 2008-01-23 Robert Millan <rmh@aybabtu.com>
19915
19916 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19917 grub_dprintf calls, since they make "debug=all" mode unusable.
19918 (grub_console_checkkey): Likewise.
19919
19920 2008-01-23 Robert Millan <rmh@aybabtu.com>
19921
19922 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19923 `term/i386/pc/at_keyboard.c'.
19924 (pkglib_MODULES): Add `serial.mod'.
19925 (serial_mod_SOURCES): New variable.
19926 (serial_mod_CFLAGS): Likewise.
19927 (serial_mod_LDFLAGS): Likewise.
19928
19929 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19930 `<grub/powerpc/ieee1275/console.h>'.
19931 (grub_keyboard_controller_init): New function prototype.
19932 (grub_console_checkkey): Likewise.
19933 (grub_console_getkey): Likewise.
19934
19935 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19936 keyboard on i386.
19937
19938 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19939 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19940
19941 2008-01-23 Robert Millan <rmh@aybabtu.com>
19942
19943 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19944 present, "(memdisk)/boot/grub" becomes the default prefix.
19945
19946 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19947 a memdisk tarball with all the modules. Add --overlay=DIR option that
19948 allows users to overlay additional files into the image.
19949
19950 2008-01-23 Robert Millan <rmh@aybabtu.com>
19951
19952 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19953 and `machine/memory.h'.
19954 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19955 (_multiboot_mod_SOURCES): New variable.
19956 (_multiboot_mod_CFLAGS): Likewise.
19957 (_multiboot_mod_LDFLAGS): Likewise.
19958 (multiboot_mod_SOURCES): Likewise.
19959 (multiboot_mod_CFLAGS): Likewise.
19960 (multiboot_mod_LDFLAGS): Likewise.
19961
19962 * include/grub/i386/ieee1275/loader.h: New file.
19963
19964 * include/grub/i386/ieee1275/machine.h: Likewise.
19965
19966 * include/grub/i386/ieee1275/memory.h: Likewise.
19967
19968 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19969 variable declaration.
19970 (grub_os_area_size): Likewise.
19971
19972 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19973 (grub_lower_mem, grub_upper_mem): New variables.
19974 (grub_stop_floppy): New function (just to make
19975 grub_multiboot2_real_boot() happy).
19976
19977 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19978 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19979 (grub_stop): New function.
19980 Include `"../realmode.S"' and `"../loader.S"'.
19981
19982 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19983 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19984
19985 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19986 rely on grub_multiboot2_real_boot() for final boot.
19987
19988 2008-01-22 Robert Millan <rmh@aybabtu.com>
19989
19990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19991 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19992 device that doesn't look like an SD card.
19993 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19994 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19995 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19996 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19997 found.
19998
19999 2008-01-22 Robert Millan <rmh@aybabtu.com>
20000
20001 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20002 avoid claiming over our own code.
20003
20004 2008-01-22 Bean <bean123ch@gmail.com>
20005
20006 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20007 (jpeg_mod_SOURCES): New variable.
20008 (jpeg_mod_CFLAGS): Likewise.
20009 (jpeg_mod_LDFLAGS): Likewise.
20010
20011 * video/readers/jpeg.c : New file.
20012
20013 2008-01-22 Bean <bean123ch@gmail.com>
20014
20015 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20016 there are no more items.
20017
20018 2008-01-21 Robert Millan <rmh@aybabtu.com>
20019
20020 * kern/mm.c (grub_mm_init_region): Improve debug message.
20021
20022 2008-01-21 Robert Millan <rmh@aybabtu.com>
20023
20024 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20025 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20026 address.
20027 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20028 a C macro.
20029 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20030 Indicates start of upper memory.
20031 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20032 (generate_image): Abort when image size is big enough to corrupt
20033 upper memory.
20034
20035 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20036 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20037 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20038 instead of hardcoding 0xA0000.
20039 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20040 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20041 instead of hardcoding 0xA0000.
20042
20043 2008-01-21 Robert Millan <rmh@aybabtu.com>
20044
20045 * disk/memdisk.c (memdisk_size): New variable.
20046 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20047 `memdisk_size'.
20048 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20049 image to dynamic memory.
20050 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20051 `memdisk_size'. Free memdisk block.
20052
20053 2008-01-21 Robert Millan <rmh@aybabtu.com>
20054
20055 Fix detection of very small filesystems (like tar).
20056
20057 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20058 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20059 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20060 a problem with this disk).
20061
20062 2008-01-21 Robert Millan <rmh@aybabtu.com>
20063
20064 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20065 on grub_biosdisk_rw_standard() error.
20066
20067 2008-01-21 Robert Millan <rmh@aybabtu.com>
20068
20069 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20070 recent changes.
20071 * kern/elf.c: Likewise.
20072 * kern/ieee1275/ieee1275.c: Likewise.
20073 * kern/powerpc/ieee1275/openfw.c: Likewise.
20074 * term/ieee1275/ofconsole.c: Likewise.
20075
20076 2008-01-21 Robert Millan <rmh@aybabtu.com>
20077
20078 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20079
20080 * include/grub/kernel.h (grub_arch_memdisk_addr)
20081 (grub_arch_memdisk_size): Moved from here ...
20082
20083 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20084 (grub_arch_memdisk_size): ... to here.
20085
20086 2008-01-21 Robert Millan <rmh@aybabtu.com>
20087
20088 Mostly based on bugfix from Bean.
20089
20090 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20091 attribute with hook() parameter.
20092 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20093 declaration.
20094 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20095 attribute with hook() parameter.
20096 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20097 declaration.
20098
20099 2008-01-21 Robert Millan <rmh@aybabtu.com>
20100
20101 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
20102 (pkglib_MODULES): Add `memdisk.mod'.
20103 (memdisk_mod_SOURCES): New variable.
20104 (memdisk_mod_CFLAGS): Likewise.
20105 (memdisk_mod_LDFLAGS): Likewise.
20106
20107 * disk/memdisk.c: New file.
20108
20109 * include/grub/disk.h (grub_disk_dev_id): Add
20110 `GRUB_DISK_DEVICE_MEMDISK_ID'.
20111
20112 * include/grub/i386/pc/kernel.h
20113 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
20114 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
20115 (grub_kernel_image_size): New variable declaration.
20116 (grub_total_module_size): Likewise.
20117 (grub_memdisk_image_size): Likewise.
20118
20119 * include/grub/i386/pc/memory.h
20120 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
20121
20122 * include/grub/kernel.h: Include `<grub/symbol.h>'.
20123 (grub_arch_memdisk_addr): New variable declaration.
20124 (grub_arch_memdisk_size): Likewise.
20125
20126 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
20127 (grub_arch_memdisk_size): Likewise.
20128
20129 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
20130 (codestart): Replace hardcoded `0x100000' with
20131 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
20132
20133 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
20134 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
20135 not NULL, append the contents of the file it refers to, at the end of
20136 the compressed kernel image. Initialize `grub_memdisk_image_size'
20137 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
20138 (options): Add "memdisk"|'m' option.
20139 (main): Parse --memdisk|-m option, and pass user-provided path as
20140 parameter to generate_image().
20141
20142 2008-01-20 Robert Millan <rmh@aybabtu.com>
20143
20144 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
20145 grub_dprintf() calls from here ...
20146 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
20147
20148 2008-01-20 Robert Millan <rmh@aybabtu.com>
20149
20150 Fix detection of "real mode" when /options/real-mode? doesn't exist.
20151
20152 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
20153 declaration.
20154 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
20155 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
20156 `GRUB_IEEE1275_FLAG_REAL_MODE'.
20157 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
20158 property).
20159 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
20160 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
20161
20162 2008-01-19 Robert Millan <rmh@aybabtu.com>
20163
20164 Get rid of confusing function (superseded by
20165 `grub_ieee1275_get_integer_property')
20166 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
20167 prototype.
20168 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
20169 function.
20170 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
20171 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
20172 in native endianness from grub_ieee1275_get_integer_property().
20173
20174 2008-01-19 Robert Millan <rmh@aybabtu.com>
20175
20176 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
20177 command after "shut-down", since implementations differ on which
20178 the command for halt is.
20179
20180 2008-01-19 Robert Millan <rmh@aybabtu.com>
20181
20182 * include/grub/i386/linuxbios/console.h: Add header protection.
20183 (grub_keyboard_controller_init): New function prototype.
20184 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
20185 (KEYBOARD_COMMAND_READ): Likewise.
20186 (KEYBOARD_COMMAND_WRITE): Likewise.
20187 (KEYBOARD_SCANCODE_SET1): Likewise.
20188 (grub_keyboard_controller_write): New function.
20189 (grub_keyboard_controller_read): Likewise.
20190 (grub_keyboard_controller_init): Likewise.
20191
20192 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
20193 (grub_console_init): On coreboot/LinuxBIOS, call
20194 grub_keyboard_controller_init().
20195
20196 2008-01-19 Robert Millan <rmh@aybabtu.com>
20197
20198 PowerPC changes provided by Pavel Roskin.
20199
20200 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
20201 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
20202 don't rely on cmain() doing it.
20203 * kern/i386/ieee1275/startup.S (_start): Store %eax in
20204 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
20205
20206 2008-01-16 Robert Millan <rmh@aybabtu.com>
20207
20208 * include/grub/i386/linuxbios/memory.h
20209 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
20210 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
20211 receive `table_header' as argument. Instead, probe for it in the
20212 known memory ranges where it can be present.
20213 (grub_available_iterate): Do not pass a fixed `table_header' address
20214 to grub_linuxbios_table_iterate().
20215
20216 2008-01-15 Robert Millan <rmh@aybabtu.com>
20217
20218 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
20219 * conf/i386-ieee1275.rmk: New file.
20220 * include/grub/i386/ieee1275/console.h: Likewise.
20221 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
20222 * include/grub/i386/ieee1275/kernel.h: Likewise.
20223 * include/grub/i386/ieee1275/time.h: Likewise.
20224 * kern/i386/ieee1275/init.c: Likewise.
20225 * kern/i386/ieee1275/startup.S: Likewise.
20226
20227 2008-01-15 Robert Millan <rmh@aybabtu.com>
20228
20229 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
20230 when pointers are 32-bit (but still do set it to one when they are
20231 64-bit).
20232
20233 2008-01-15 Robert Millan <rmh@aybabtu.com>
20234
20235 * include/grub/ieee1275/ieee1275.h
20236 (grub_ieee1275_get_integer_property): New function prototype.
20237
20238 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
20239 (grub_ieee1275_get_integer_property): New function. Wraps around
20240 grub_ieee1275_get_property() to handle endianness.
20241
20242 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
20243 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
20244 where appropriate.
20245 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
20246 (grub_map): Likewise.
20247 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
20248
20249 2008-01-15 Bean <bean123ch@gmail.com>
20250
20251 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
20252 (grub_script_execute_cmdline): Reset grub_errno.
20253
20254 * normal/main.c (read_config_file): Reset grub_errno.
20255
20256 * normal/parse.y (script_init): New.
20257 (script): Move function and menuentry here.
20258 (delimiter): New.
20259 (command): Add delimiter at the end of command.
20260 (commands): Adjust to match the new command.
20261 (commandblock): Remove grub_script_lexer_record_start.
20262 (menuentry): Add grub_script_lexer_record_start, use the new commands.
20263 (if): Use the new commands.
20264
20265 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
20266
20267 2008-01-15 Robert Millan <rmh@aybabtu.com>
20268
20269 * normal/menu.c (run_menu): Move timeout message from here ...
20270 (print_timeout): ... to here.
20271 (run_menu): Use print_timeout() once during initial draw to print
20272 the whole message, and again in every clock tick to update only
20273 the number of seconds.
20274
20275 2008-01-15 Robert Millan <rmh@aybabtu.com>
20276
20277 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
20278 actual size of `available' from grub_ieee1275_get_property(), and
20279 restrict parsing to that bound.
20280
20281 2008-01-15 Christian Franke <franke@computer.org>
20282
20283 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
20284 (argp_program_version): Remove variable.
20285 (argp_program_bug_address): Likewise.
20286 (options): Convert from struct argp_option to struct option.
20287 (struct arguments): Remove.
20288 (parse_opt): Remove.
20289 (usage): New function.
20290 (main): Replace struct args members by simple variables.
20291 Replace argp_parse() by getopt_long().
20292 Add switch to evaluate options.
20293 Add missing "(...)" around root_dev in prefix string.
20294
20295 2008-01-14 Robert Millan <rmh@aybabtu.com>
20296
20297 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
20298 for grub_ieee1275_exit(), in order to improve portability.
20299
20300 2008-01-14 Robert Millan <rmh@aybabtu.com>
20301
20302 * util/grub.d/10_linux.in (prefix): Define.
20303 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
20304
20305 2008-01-13 Pavel Roskin <proski@gnu.org>
20306
20307 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
20308 grub_errno if no errors have been detected.
20309
20310 2008-01-12 Robert Millan <rmh@aybabtu.com>
20311
20312 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
20313 (grub_util_get_dev_abstraction): New function prototype.
20314
20315 * util/getroot.c: Include `<grub/util/getroot.h>'
20316 (grub_util_get_grub_dev): Move detection of abstraction type to ...
20317 (grub_util_get_dev_abstraction): ... here (new function).
20318
20319 * util/grub-probe.c: Convert PRINT_* to an enum. Add
20320 `PRINT_ABSTRACTION'.
20321 (probe): Probe for abstraction type when requested.
20322 (main): Understand `--target=abstraction'.
20323
20324 * util/i386/efi/grub-install.in: Add abstraction module to core
20325 image when it is found to be necessary.
20326 * util/i386/pc/grub-install.in: Likewise.
20327 * util/powerpc/ieee1275/grub-install.in: Likewise.
20328
20329 * util/update-grub_lib.in (font_path): Return system path without
20330 converting to GRUB path.
20331 * util/update-grub.in: Convert system path returned by font_path()
20332 to a GRUB path. Use `grub-probe -t abstraction' to determine what
20333 abstraction module is needed for loading fonts (if any). Export
20334 that as `GRUB_PRELOAD_MODULES'.
20335 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
20336 insmod commands).
20337
20338 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
20339
20340 Remove some unused code from reiserfs.
20341
20342 * fs/reiserfs.c (struct grub_reiserfs_key)
20343 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
20344 (struct grub_reiserfs_node_body): Removed.
20345 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20346 Likewise.
20347 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20348 Likewise.
20349 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20350 Likewise.
20351 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
20352 Likewise.
20353 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
20354 Likewise.
20355 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
20356 Likewise.
20357 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20358 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20359 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
20360
20361 2008-01-10 Robert Millan <rmh@aybabtu.com>
20362
20363 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
20364 Determines if a file is garbage left by packaging systems, etc.
20365 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
20366 for processing /etc/grub.d scripts.
20367 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
20368 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
20369 as a condition for processing Linux images.
20370
20371 2008-01-10 Pavel Roskin <proski@gnu.org>
20372
20373 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
20374 to compile reiserfs.c on PowerPC.
20375
20376 2008-01-10 Robert Millan <rmh@aybabtu.com>
20377
20378 * kern/device.c (grub_device_iterate): Do not abort device iteration
20379 when one of the devices cannot be opened.
20380 * kern/disk.c (grub_disk_open): Do not account previous failures of
20381 unrelated functions when grub_errno is checked for.
20382
20383 2008-01-08 Robert Millan <rmh@aybabtu.com>
20384
20385 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
20386 `! grub_linux_is_bzimage', change order of address comparison to make
20387 it more intuitive, and improve "too big zImage" error message.
20388
20389 2008-01-08 Robert Millan <rmh@aybabtu.com>
20390
20391 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
20392 `$(update-grub_DATA)'.
20393 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
20394 targets.
20395
20396 2008-01-07 Robert Millan <rmh@aybabtu.com>
20397
20398 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
20399 which instruction is modified by grub-setup during installation
20400 (since it wasn't obvious by only looking at this file).
20401
20402 2008-01-07 Robert Millan <rmh@aybabtu.com>
20403
20404 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
20405 listing actual TODO items.
20406
20407 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20408
20409 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
20410 correctly.
20411 (grub_reiserfs_get_key_offset): Likewise.
20412 (grub_reiserfs_set_key_offset): Likewise.
20413 (grub_reiserfs_set_key_type): Likewise.
20414 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
20415
20416 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
20417 better to remove the bitfield version completely.
20418
20419 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20420
20421 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
20422 allocated from the heap, due to the fshelp implementation.
20423 (grub_reiserfs_dir): Free NODE, due to the same reason.
20424
20425 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20426
20427 Mostly from Vincent Pelletier:
20428
20429 * fs/reiserfs.c: New file.
20430
20431 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
20432 (reiserfs_mod_SOURCES): New variable.
20433 (reiserfs_mod_CFLAGS): Likewise.
20434 (reiserfs_mod_LDFLAGS): Likewise.
20435
20436 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
20437 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
20438 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
20439 normal/color.c.
20440
20441 2008-01-06 Robert Millan <rmh@aybabtu.com>
20442
20443 * normal/color.c: Remove `<grub/env.h>'.
20444
20445 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
20446
20447 * include/grub/normal.h: Include <grub/env.h>.
20448
20449 2008-01-05 Robert Millan <rmh@aybabtu.com>
20450
20451 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
20452 usage example with `(hd0,1)'.
20453 Reported by Samuel Thibault.
20454
20455 2008-01-05 Robert Millan <rmh@aybabtu.com>
20456
20457 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
20458 (grub_linux_boot_zimage): Rename to ...
20459 (grub_linux_boot): ... this.
20460 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
20461 (grub_linux_boot_zimage): Conditionalize zImage copy.
20462
20463 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
20464 (grub_linux_boot_bzimage): Remove prototype.
20465 (grub_linux_boot_zimage): Rename to ...
20466 (grub_linux_boot): ... this.
20467
20468 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
20469 (grub_linux_boot): Remove function.
20470
20471 2008-01-05 Robert Millan <rmh@aybabtu.com>
20472
20473 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
20474 (grub_env_write_color_highlight): Likewise.
20475 (grub_wait_after_message): Likewise.
20476
20477 * normal/color.c: New file.
20478
20479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20480 (normal_mod_DEPENDENCIES): Likewise.
20481
20482 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20483 (normal_mod_DEPENDENCIES): Likewise.
20484
20485 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20486 (normal_mod_DEPENDENCIES): Likewise.
20487
20488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
20489 (normal_mod_DEPENDENCIES): Likewise.
20490
20491 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
20492 for waiting after a message is printed.
20493 * normal/main.c (read_config_file): Likewise.
20494 (grub_normal_init): Register grub_env_write_color_normal() and
20495 grub_env_write_color_highlight() hooks. Mark `color_normal' and
20496 `color_highlight' variables as global.
20497
20498 * normal/menu.c (grub_wait_after_message): New function.
20499 (grub_color_menu_normal): New variable. Replaces ...
20500 (GRUB_COLOR_MENU_NORMAL): ... this macro.
20501 (grub_color_menu_highlight): New variable. Replaces ...
20502 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
20503 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
20504 `GRUB_TERM_COLOR_STANDARD'.
20505 (print_message): Use `grub_setcolorstate' to reload colors. Rename
20506 `normal_code' and `highlight_code' to `old_color_normal' and
20507 `old_color_highlight', respectively.
20508 (grub_menu_init_page): Update colors when drawing the menu, based on
20509 `menu_color_normal' and `menu_color_highlight' variables.
20510 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
20511 a message is printed.
20512
20513 2008-01-05 Robert Millan <rmh@aybabtu.com>
20514
20515 * kern/env.c (grub_env_context_open): Propagate hooks for global
20516 variables to new context.
20517
20518 * kern/main.c (grub_set_root_dev): Export `root' variable.
20519
20520 2008-01-05 Robert Millan <rmh@aybabtu.com>
20521
20522 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
20523 discs unconditionally, since udev and others have options to provide
20524 them.
20525
20526 2008-01-05 Robert Millan <rmh@aybabtu.com>
20527
20528 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
20529
20530 2008-01-04 Christian Franke <franke@computer.org>
20531
20532 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
20533 of eisa_mmap.
20534
20535 2008-01-03 Pavel Roskin <proski@gnu.org>
20536
20537 * kern/i386/linuxbios/init.c: Put "void" to all function
20538 declarations with no arguments.
20539 * kern/powerpc/ieee1275/init.c: Likewise.
20540 * term/i386/pc/at_keyboard.c: Likewise.
20541 * term/i386/pc/vga_text.c: Likewise.
20542 * util/grub-mkdevicemap.c: Likewise.
20543
20544 2008-01-02 Robert Millan <rmh@aybabtu.com>
20545
20546 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
20547 message when loaded image is out of bounds.
20548 (grub_multiboot_load_elf64): Likewise.
20549
20550 2008-01-02 Pavel Roskin <proski@gnu.org>
20551
20552 * util/grub.d/10_linux.in: Try version without ".old" when
20553 looking for initrd. It's better to use initrd from the newer
20554 kernel of the same version than no initrd at all.
20555
20556 2008-01-01 Robert Millan <rmh@aybabtu.com>
20557
20558 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
20559
20560 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
20561
20562 * include/grub/video.h: Added grub_video_unmap_color and
20563 grub_video_get_active_render_target.
20564 (grub_video_adapter): Added unmap_color and get_active_render_target.
20565
20566 * video/video.c: Added grub_video_unmap_color and
20567 grub_video_get_active_render_target.
20568 (grub_video_get_info): Changed method to accept NULL pointer as an
20569 argument to allow detection of active video adapter.
20570
20571 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
20572 grub_video_vbe_unmap_color_int.
20573 Added grub_video_vbe_unmap_color and
20574 grub_video_vbe_get_active_render_target.
20575 (grub_video_vbe_adapter): Added unmap_color and
20576 get_active_render_target.
20577
20578 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
20579 with grub_video_vbe_unmap_color_int.
20580
20581 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
20582 (DEFAULT_NORMAL_COLOR): Likewise.
20583 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
20584 (DEFAULT_FG_COLOR): Removed.
20585 (DEFAULT_BG_COLOR): Likewise.
20586 (DEFAULT_CURSOR_COLOR): Changed value.
20587 (grub_virtual_screen): Added standard_color_setting,
20588 normal_color_setting, highlight_color_setting and term_color.
20589 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
20590 (bitmap_width): Added.
20591 (bitmap_height): Likewise.
20592 (bitmap): Likewise.
20593 (set_term_color): Likewise.
20594 (grub_virtual_screen_setup): Changed to use new terminal coloring
20595 settings.
20596 (grub_gfxterm_init): Added init for bitmap.
20597 (grub_gfxterm_fini): Added destroy for bitmap.
20598 (redraw_screen_rect): Updated to use background bitmap and new
20599 terminal coloring.
20600 (scroll_up): Added optimization for case when there is no bitmap.
20601 (grub_gfxterm_cls): Fixed to use correct background color.
20602 (grub_virtual_screen_setcolorstate): Changed to use new terminal
20603 coloring.
20604 (grub_virtual_screen_setcolor): Likewise.
20605 (grub_virtual_screen_getcolor): Added.
20606 (grub_gfxterm_background_image_cmd): Likewise.
20607 (grub_video_term): Added setcolor and getcolor.
20608 (MOD_INIT): Added registration of background_image command.
20609 (MOD_TERM): Added unregistration for background_image command.
20610
20611 2007-12-30 Pavel Roskin <proski@gnu.org>
20612
20613 * loader/multiboot_loader.c: Fix multiboot command
20614 unregistration. Fix all typos in the word "multiboot".
20615
20616 2007-12-29 Pavel Roskin <proski@gnu.org>
20617
20618 * util/grub.d/10_linux.in: Refactor search for initrd. Add
20619 support for initrd names used in Fedora.
20620
20621 2007-12-26 Bean <bean123ch@gmail.com>
20622
20623 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
20624 (cpio_mod_SOURCES): New variable.
20625 (cpio_mod_CFLAGS): Likewise.
20626 (cpio_mod_LDFLAGS): Likewise.
20627
20628 * fs/cpio.c: New file.
20629
20630 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
20631
20632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20633
20634 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20635
20636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20637
20638 2007-12-25 Robert Millan <rmh@aybabtu.com>
20639
20640 * include/grub/term.h (struct grub_term): Add `getcolor' function.
20641 (grub_getcolor): New function.
20642
20643 * kern/term.c (grub_getcolor): New function.
20644 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
20645 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
20646 (print_entry): Set normal and highlight colors to
20647 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
20648 respectively, before printing and restore them to old
20649 values afterwards.
20650 (grub_menu_init_page): Likewise. Fill an additional colored space
20651 that would otherwise be left blank.
20652
20653 * term/efi/console.c (grub_console_getcolor): New function.
20654 (struct grub_console_term.getcolor): New variable.
20655 * term/i386/pc/console.c (grub_console_getcolor): New function.
20656 (struct grub_console_term.getcolor): New variable.
20657 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
20658 (struct grub_console_term.getcolor): New variable.
20659
20660 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
20661 (struct grub_console_term.setcolor): Remove variable.
20662 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
20663 (struct grub_console_term.setcolor): Remove variable.
20664 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
20665 (struct grub_console_term.setcolor): Remove variable.
20666 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
20667 (struct grub_console_term.setcolor): Remove variable.
20668
20669 2007-12-25 Robert Millan <rmh@aybabtu.com>
20670
20671 * configure.ac: Search for possible unifont.hex locations, and
20672 define UNIFONT_HEX if found.
20673
20674 * Makefile.in (UNIFONT_HEX): Define variable.
20675 (DATA): Rename to ...
20676 (PKGLIB): ... this. Update all users.
20677 (PKGDATA): New variable.
20678 (pkgdata_IMAGES): Rename to ...
20679 (pkglib_IMAGES): ... this. Update all users.
20680 (pkgdata_MODULES): Rename to ...
20681 (pkglib_MODULES): ... this. Update all users.
20682 (pkgdata_PROGRAMS): Rename to ...
20683 (pkglib_PROGRAMS): ... this. Update all users.
20684 (pkgdata_DATA): Rename to ...
20685 (pkglib_DATA): ... this. Update all users.
20686 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
20687 (unicode.pff, ascii.pff): New rules.
20688 (all-local): Add `$(PKGDATA)' dependency.
20689 (install-local): Process `$(PKGDATA)'.
20690
20691 * util/update-grub_lib.in (font_path): Search for *.pff files in
20692 a few more locations, including `${pkgdata}'.
20693
20694 2007-12-23 Robert Millan <rmh@aybabtu.com>
20695
20696 Patch from Bean <bean123ch@gmail.com>:
20697 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
20698 `size'.
20699
20700 2007-12-21 Bean <bean123ch@gmail.com>
20701
20702 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
20703 (ntfscomp_mod_SOURCES): New variable.
20704 (ntfscomp_mod_CFLAGS): Likewise.
20705 (ntfscomp_mod_LDFLAGS): Likewise.
20706
20707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
20708 (grub_probe_SOURCES): Likewise.
20709 (grub_emu_SOURCES): Likewise.
20710
20711 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20712 (grub_emu_SOURCES): Likewise.
20713
20714 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20715 (grub_emu_SOURCES): Likewise.
20716
20717 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
20718 (grub_emu_SOURCES): Likewise.
20719
20720 * fs/ntfs.c (grub_ntfscomp_func): New variable.
20721 (read_run_list): Renamed to grub_ntfs_read_run_list.
20722 (decomp_nextvcn): Moved to ntfscomp.c.
20723 (decomp_getch): Likewise.
20724 (decomp_get16): Likewise.
20725 (decomp_block): Likewise.
20726 (read_block): Likewise.
20727 (read_data): Partially moved to ntfscomp.c.
20728 (fixup): Change unsigned to grub_uint16_t.
20729 (read_mft): Change unsigned long to grub_uint32_t.
20730 (read_attr): Likewise.
20731 (read_data): Likewise.
20732 (read_run_data): Likewise.
20733 (read_run_list): Likewise.
20734 (read_mft): Likewise.
20735
20736 * fs/ntfscomp.c: New file.
20737
20738 * include/grub/ntfs.h: New file.
20739
20740 2007-12-16 Robert Millan <rmh@aybabtu.com>
20741
20742 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
20743 IDE disk check, since Linux is known to support 20 IDE disks.
20744 Reported by Colin Watson.
20745
20746 2007-12-15 Bean <bean123ch@gmail.com>
20747
20748 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
20749 (lnxboot_img_SOURCES): New variable.
20750 (lnxboot_img_ASFLAGS): Likewise.
20751 (lnxboot_img_LDFLAGS): Likewise.
20752
20753 * boot/i386/pc/lnxboot.S: New file.
20754
20755 2007-11-24 Pavel Roskin <proski@gnu.org>
20756
20757 * configure.ac: Test if '--build-id=none' is supported by the
20758 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
20759 objcopy to generate incorrect binary files (binutils
20760 2.17.50.0.18-1 as shipped by Fedora 8).
20761 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
20762 linking, so that build ID doesn't break the test.
20763
20764 2007-11-24 Pavel Roskin <proski@gnu.org>
20765
20766 * include/grub/i386/time.h: use "void" in the argument list
20767 of grub_cpu_idle().
20768 * include/grub/powerpc/time.h: Likewise.
20769 * include/grub/sparc64/time.h: Likewise.
20770
20771 2007-11-18 Christian Franke <franke@computer.org>
20772
20773 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
20774 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
20775 This fixes the problem that function keys did not work in grub-emu.
20776
20777 2007-11-18 Christian Franke <franke@computer.org>
20778
20779 * disk/host.c (grub_host_open): Remove attribute unused from
20780 name parameter. Add check for "host". This fixes the problem
20781 that grub-emu does not find partitions.
20782
20783 2007-11-18 Christian Franke <franke@computer.org>
20784
20785 * util/hostfs.c (is_dir): New function.
20786 (grub_hostfs_dir): Handle missing dirent.d_type case.
20787 (grub_hostfs_read): Add missing fseek().
20788 (grub_hostfs_label): Clear label pointer. This fixes a crash
20789 of grub-emu on "ls (host)".
20790
20791 2007-11-18 Christian Franke <franke@computer.org>
20792
20793 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
20794 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
20795 to 64 bit boundary by default.
20796
20797 2007-11-18 Bean <bean123ch@gmail.com>
20798
20799 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
20800 (hexdump_mod_SOURCES): New variable.
20801 (hexdump_mod_CFLAGS): Likewise.
20802 (hexdump_mod_LDFLAGS): Likewise.
20803
20804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20805
20806 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20807
20808 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20809
20810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
20811
20812 * include/grub/hexdump.h: New file.
20813
20814 * commands/hexdump.c: New file.
20815
20816 2007-11-10 Robert Millan <rmh@aybabtu.com>
20817
20818 * commands/i386/pc/play.c (beep_off): Switch order of arguments
20819 in grub_outb() calls.
20820 (beep_on): Likewise.
20821
20822 2007-11-10 Christian Franke <franke@computer.org>
20823
20824 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
20825 (grub_menu_run): Likewise.
20826
20827 2007-11-10 Robert Millan <rmh@aybabtu.com>
20828
20829 * include/grub/i386/efi/machine.h: New file.
20830 * include/grub/i386/linuxbios/machine.h: Likewise.
20831 * include/grub/i386/pc/machine.h: Likewise.
20832 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20833 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20834
20835 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
20836 (serial_hw_io_addr): New variable.
20837 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
20838 instead of `(unsigned short *) 0x400'.
20839
20840 2007-11-10 Bean <bean123ch@gmail.com>
20841
20842 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
20843
20844 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20845
20846 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
20847 (vga_mod_SOURCES): Added.
20848 (vga_mod_CFLAGS): Likewise.
20849 (vga_mod_LDFLAGS): Likewise.
20850
20851 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
20852 grub_outb() calls.
20853 (set_map_mask): Likewise.
20854 (set_read_map): Likewise.
20855 (set_read_address): Likewise.
20856 (vga_font): Removed variable.
20857 (get_vga_glyph): Removed function.
20858 (invalidate_char): Likewise.
20859 (write_char): Changed to use grub_font_get_glyph() for font
20860 information.
20861 (grub_vga_putchar): Likewise.
20862 (grub_vga_getcharwidth): Likewise.
20863
20864 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
20865
20866 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
20867 flags.
20868 (pxeboot_img_LDFLAGS): Likewise.
20869 (diskboot_img_LDFLAGS): Likewise.
20870 (kernel_img_LDFLAGS): Likewise.
20871
20872 2007-11-06 Robert Millan <rmh@aybabtu.com>
20873
20874 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
20875 in grub_outb() calls.
20876 (serial_hw_init): Likewise.
20877
20878 2007-11-05 Robert Millan <rmh@aybabtu.com>
20879
20880 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
20881 spaces. Skip non-regular files.
20882
20883 2007-11-05 Robert Millan <rmh@aybabtu.com>
20884
20885 * kern/disk.c (grub_disk_firmware_fini)
20886 (grub_disk_firmware_is_tainted): New variables.
20887
20888 * include/grub/disk.h (grub_disk_firmware_fini)
20889 (grub_disk_firmware_is_tainted): Likewise.
20890
20891 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
20892 (grub_disk_biosdisk_fini): ... to here.
20893 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
20894 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
20895 is set. Register grub_disk_biosdisk_fini() in
20896 `grub_disk_firmware_fini'.
20897
20898 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
20899 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
20900 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
20901 to finish existing firmware disk interface.
20902
20903 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
20904 (ata_mod_SOURCES): New variable.
20905 (ata_mod_CFLAGS): Likewise.
20906 (ata_mod_LDFLAGS): Likewise.
20907
20908 2007-11-05 Robert Millan <rmh@aybabtu.com>
20909
20910 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20911 (grub_ata_wait): Reimplement using grub_millisleep().
20912
20913 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20914 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20915
20916 2007-11-03 Marco Gerards <marco@gnu.org>
20917
20918 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20919 (CRTC_ADDR_PORT): New macro.
20920 (CRTC_DATA_PORT): Likewise.
20921 (CRTC_CURSOR): Likewise.
20922 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20923 (CRTC_CURSOR_ADDR_LOW): Likewise.
20924 (update_cursor): New function.
20925 (grub_console_real_putchar): Call `update_cursor'.
20926 (grub_console_gotoxy): Likewise.
20927 (grub_console_cls): Set the default color when clearing the
20928 screen.
20929 (grub_console_setcursor): Implemented.
20930
20931 2007-11-03 Marco Gerards <marco@gnu.org>
20932
20933 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20934 become activate.
20935 (grub_ata_pio_write): Likewise.
20936
20937 (grub_atapi_identify): Wait after issuing an ATA command.
20938 (grub_atapi_packet): Likewise.
20939 (grub_ata_identify): Likewise.
20940 (grub_ata_readwrite): Likewise.
20941
20942 2007-11-03 Marco Gerards <marco@gnu.org>
20943
20944 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20945 (grub_ata_pio_write): Likewise.
20946 (grub_ata_readwrite): Use `grub_error', instead of
20947 returning `grub_errno'.
20948
20949 2007-11-03 Marco Gerards <marco@gnu.org>
20950
20951 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20952 grub_ata_pio_write once for every single sector, instead of for
20953 multiple sectors.
20954
20955 2007-10-31 Robert Millan <rmh@aybabtu.com>
20956
20957 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20958
20959 * conf/i386-linuxbios.rmk: New file.
20960
20961 * kern/i386/pc/hardware.c: Likewise.
20962 * term/i386/pc/at_keyboard.c: Likewise.
20963 * term/i386/pc/vga_text.c: Likewise.
20964
20965 * include/grub/i386/linuxbios/boot.h: Likewise.
20966 * include/grub/i386/linuxbios/console.h: Likewise.
20967 * include/grub/i386/linuxbios/init.h: Likewise.
20968 * include/grub/i386/linuxbios/kernel.h: Likewise.
20969 * include/grub/i386/linuxbios/loader.h: Likewise.
20970 * include/grub/i386/linuxbios/memory.h: Likewise.
20971 * include/grub/i386/linuxbios/serial.h: Likewise.
20972 * include/grub/i386/linuxbios/time.h: Likewise.
20973
20974 * kern/i386/linuxbios/init.c: Likewise.
20975 * kern/i386/linuxbios/startup.S: Likewise.
20976 * kern/i386/linuxbios/table.c: Likewise.
20977
20978 2007-10-31 Marco Gerards <marco@gnu.org>
20979
20980 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20981 (ata_mod_SOURCES): New variable.
20982 (ata_mod_CFLAGS): Likewise.
20983 (ata_mod_LDFLAGS): Likewise.
20984
20985 * disk/ata.c: New file.
20986
20987 * include/grub/disk.h (grub_disk_dev_id): Add
20988 `GRUB_DISK_DEV_ATA_ID'.
20989
20990 2007-10-31 Robert Millan <rmh@aybabtu.com>
20991
20992 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20993 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20994
20995 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20996 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20997
20998 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20999 `<grub/types.h>'.
21000
21001 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21002
21003 2007-10-27 Robert Millan <rmh@aybabtu.com>
21004
21005 * include/grub/types.h (ULONG_MAX): Define macro.
21006
21007 2007-10-22 Robert Millan <rmh@aybabtu.com>
21008
21009 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21010 `"../realmode.S"'.
21011 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21012
21013 2007-10-22 Robert Millan <rmh@aybabtu.com>
21014
21015 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21016 (pkgdata_MODULES): Add `biosdisk.mod'.
21017 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21018 variables.
21019
21020 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21021 (grub_biosdisk_init): Replace with ...
21022 (GRUB_MOD_INIT(biosdisk)): ... this.
21023 (grub_biosdisk_fini): Replace with ...
21024 (GRUB_MOD_FINI(biosdisk)): ... this.
21025
21026 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21027 (grub_machine_init): Remove call to grub_biosdisk_init().
21028 (grub_machine_fini): Remove call to grub_machine_fini().
21029
21030 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21031
21032 2007-10-22 Robert Millan <rmh@aybabtu.com>
21033
21034 * include/grub/time.h: New file.
21035 * include/grub/i386/time.h: Likewise.
21036 * include/grub/powerpc/time.h: Likewise.
21037 * include/grub/sparc64/time.h: Likewise.
21038
21039 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21040 instances to ...
21041 (KERNEL_MACHINE_TIME_HEADER): ... this.
21042 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21043 instances to ...
21044 (KERNEL_MACHINE_TIME_HEADER): ... this.
21045 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21046 instances to ...
21047 (KERNEL_MACHINE_TIME_HEADER): ... this.
21048
21049 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21050 (grub_millisleep): New function.
21051 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21052 (grub_millisleep): New function.
21053 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21054 Remove `grub/machine/time.h' include.
21055 (grub_millisleep): New function.
21056 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21057 Remove `grub/machine/time.h' include.
21058 (grub_millisleep): New function.
21059
21060 * include/grub/misc.h (grub_div_roundup): New function.
21061
21062 * kern/misc.c: Include `<grub/time.h>'.
21063 (grub_millisleep_generic): New function.
21064
21065 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21066 Add `time.h'.
21067 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21068 Add `time.h'.
21069 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21070 `machine/time.h'. Add `time.h'.
21071 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21072
21073 2007-10-21 Robert Millan <rmh@aybabtu.com>
21074
21075 * include/grub/misc.h (grub_max): New function.
21076
21077 2007-10-21 Robert Millan <rmh@aybabtu.com>
21078
21079 * util/misc.c (grub_util_info): Call fflush() before returning.
21080
21081 2007-10-20 Robert Millan <rmh@aybabtu.com>
21082
21083 * genmk.rb (Image): Copy `extra_flags' from here ...
21084 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21085
21086 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21087 to `argc' and `args' arguments.
21088
21089 2007-10-17 Robert Millan <rmh@aybabtu.com>
21090
21091 * kern/i386/loader.S: New file.
21092
21093 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21094 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21095 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21096 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21097 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21098 * kern/i386/loader.S (grub_linux_real_addr)... to here.
21099 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
21100 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
21101 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
21102 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
21103 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
21104 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
21105 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
21106 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
21107
21108 * kern/i386/realmode.S: New file.
21109
21110 * kern/i386/pc/startup.S (protstack): Moved from here ...
21111 * kern/i386/realmode.S (protstack)... to here.
21112 * kern/i386/pc/startup.S (gdt): Moved from here ...
21113 * kern/i386/realmode.S (gdt)... to here.
21114 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
21115 * kern/i386/realmode.S (prot_to_real)... to here.
21116
21117 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
21118 `kern/i386/realmode.S'.
21119
21120 2007-10-17 Robert Millan <rmh@aybabtu.com>
21121
21122 * include/grub/i386/loader.h: New file.
21123
21124 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
21125 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21126 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21127 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21128 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
21129 * include/grub/i386/loader.h (grub_linux_prot_size)
21130 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
21131 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
21132 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
21133 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
21134
21135 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
21136
21137 2007-10-15 Robert Millan <rmh@aybabtu.com>
21138
21139 * normal/misc.c (grub_normal_print_device_info): Do not probe for
21140 filesystem when dev->disk is unset.
21141 Do probe for filesystem even when dev->disk->has_partitions is set.
21142 In case a filesystem is found, always report it.
21143 In case it isn't, if dev->disk->has_partitions is set, report that
21144 a partition table was found instead of reporting that no filesystem
21145 could be identified.
21146
21147 2007-10-12 Robert Millan <rmh@aybabtu.com>
21148
21149 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
21150 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
21151
21152 * include/grub/types.h (grub_host_to_target16): New macro.
21153 (grub_host_to_target32): Likewise.
21154 (grub_host_to_target64): Likewise.
21155 (grub_target_to_host16): Likewise.
21156 (grub_target_to_host32): Likewise.
21157 (grub_target_to_host64): Likewise.
21158
21159 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21160 Renamed from to ...
21161 (GRUB_MOD_ALIGN): ...this. Update all users.
21162
21163 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
21164 grub_host_to_target32.
21165 Replace grub_be_to_cpu32 with grub_target_to_host32.
21166 (load_modules): Likewise.
21167 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
21168 Replace grub_be_to_cpu32 with grub_target_to_host32.
21169 Replace grub_cpu_to_be16 with grub_host_to_target16.
21170 Replace grub_cpu_to_be32 grub_host_to_target32.
21171
21172 2007-10-12 Robert Millan <rmh@aybabtu.com>
21173
21174 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
21175 * util/elf/grub-mkimage.c: ... here.
21176
21177 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
21178 `util/powerpc/ieee1275/grub-mkimage.c'.
21179
21180 2007-10-07 Robert Millan <rmh@aybabtu.com>
21181
21182 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
21183 and make it easier to figure out.
21184 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
21185 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
21186 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
21187 leave us with less than HEAP_MIN_SIZE total heap.
21188 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
21189
21190 2007-10-03 Robert Millan <rmh@aybabtu.com>
21191
21192 * include/grub/i386/io.h: New file.
21193 * commands/i386/pc/play.c (inb): Removed.
21194 (outb): Removed.
21195 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21196 with grub_outb().
21197 * term/i386/pc/serial.c (inb): Removed.
21198 (outb): Removed.
21199 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21200 with grub_outb().
21201 * term/i386/pc/vga.c (inb): Removed.
21202 (outb): Removed.
21203 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
21204 with grub_outb().
21205
21206 2007-10-02 Robert Millan <rmh@aybabtu.com>
21207
21208 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
21209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21210 Reported by Marcin Kurek.
21211
21212 2007-09-07 Robert Millan <rmh@aybabtu.com>
21213
21214 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
21215 SmartFirmware version updates (as released by Sven Luther), and avoid
21216 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
21217 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
21218 known broken.
21219
21220 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21221
21222 From Hitoshi Ozeki:
21223 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
21224 when merging two regions.
21225
21226 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21227
21228 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
21229 * normal/completion.c (grub_normal_do_completion): Likewise.
21230 Reported by Hitoshi Ozeki.
21231
21232 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21233
21234 Do not use devices at boot in chainloading.
21235
21236 * loader/i386/pc/chainloader.c (boot_drive): New variable.
21237 (boot_part_addr): Likewise.
21238 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
21239 with BOOT_DRIVE and BOOT_PART_ADDR.
21240 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
21241 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
21242
21243 2007-08-29 Robert Millan <rmh@aybabtu.com>
21244
21245 Patch from Simon Peter <dn.tlp@gmx.net>:
21246 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
21247 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
21248 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
21249 util/i386/pc/grub-setup.c_DEPENDENCIES.
21250 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
21251 util/grub-probe.c_DEPENDENCIES.
21252 * conf/powerpc-ieee1275.rmk: Likewise.
21253
21254 2007-08-28 Robert Millan <rmh@aybabtu.com>
21255
21256 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
21257 to tell grub-mkdevicemap how to name devices.
21258 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
21259 feature).
21260
21261 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
21262 util/i386/get_disk_name.c.
21263 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
21264 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
21265 util/ieee1275/get_disk_name.c.
21266
21267 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
21268
21269 * DISTLIST: Add util/i386/get_disk_name.c and
21270 util/ieee1275/get_disk_name.c.
21271
21272 * util/grub-mkdevicemap.c: Replace device naming logic with
21273 grub_util_get_disk_name() calls.
21274
21275 2007-08-20 Robert Millan <rmh@aybabtu.com>
21276
21277 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
21278 (so that it works for both plural and singular quantities).
21279
21280 2007-08-05 Robert Millan <rmh@aybabtu.com>
21281
21282 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
21283 so that [xz] isn't taken into account when determining order.
21284
21285 2007-08-02 Marco Gerards <marco@gnu.org>
21286
21287 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
21288 `include/multiboot2.h', `include/grub/elfload.h',
21289 `include/multiboot.h', `include/grub/multiboot.h',
21290 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
21291 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
21292 `kern/elf.c', `loader/multiboot_loader.c',
21293 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
21294 `loader/i386/pc/multiboot2.c',
21295 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
21296 `util/i386/pc/grub-mkrescue.in'. Remove
21297 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
21298 `include/grub/i386/pc/util/biosdisk.h' and
21299 `include/grub/powerpc/ieee1275/multiboot.h'.
21300
21301 2007-08-02 Bean <bean123ch@gmail.com>
21302
21303 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
21304 (ntfs_mod_SOURCES): New variable.
21305 (ntfs_mod_CFLAGS): Likewise.
21306 (ntfs_mod_LDFLAGS): Likewise.
21307
21308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
21309 (grub_probe_SOURCES): Likewise.
21310 (grub_emu_SOURCES): Likewise.
21311
21312 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21313 (grub_emu_SOURCES): Likewise.
21314
21315 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
21316 (grub_emu_SOURCES): Likewise.
21317
21318 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
21319
21320 * fs/ntfs.c: New file.
21321
21322 2007-08-02 Bean <bean123ch@gmail.com>
21323
21324 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
21325
21326 * file.h (grub_file): Likewise.
21327
21328 * fshelp.h (grub_fshelp_read_file): Likewise.
21329
21330 * util/i386/pc/grub-setup.c (setup): Likewise.
21331 (save_first_sector): Likewise.
21332 (save_blocklists): Likewise.
21333
21334 * fs/affs.c (grub_affs_read_file): Likewise.
21335
21336 * fs/ext2.c (grub_ext2_read_file): Likewise.
21337
21338 * fs/fat.c (grub_fat_read_data): Likewise.
21339
21340 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
21341
21342 * fs/hfs.c (grub_hfs_read_file): Likewise.
21343
21344 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21345
21346 * fs/jfs.c (grub_jfs_read_file): Likewise.
21347
21348 * fs/minix.c (grub_minix_read_file): Likewise.
21349
21350 * fs/sfs.c (grub_sfs_read_file): Likewise.
21351
21352 * fs/ufs.c (grub_ufs_read_file): Likewise.
21353
21354 * fs/xfs.c (grub_xfs_read_file): Likewise.
21355
21356 * command/blocklist.c (read_blocklist): Likewise.
21357 (print_blocklist): Likewise.
21358
21359 2007-08-02 Marco Gerards <marco@gnu.org>
21360
21361 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
21362 `util/hostfs.c'.
21363
21364 * disk/host.c: New file.
21365
21366 * util/hostfs.c: Likewise.
21367
21368 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
21369 return `GRUB_ERR_BAD_FS'.
21370 * fs/sfs.c (grub_sfs_mount): Likewise.
21371 * fs/xfs.c (grub_xfs_mount): Likewise.
21372
21373 * include/grub/disk.h (enum grub_disk_dev_id): Add
21374 `GRUB_DISK_DEVICE_HOST_ID'.
21375
21376 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
21377
21378 2007-07-24 Jerone Young <jerone@gmail.com>
21379
21380 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
21381 modules for compilation.
21382 * conf/powerpc-ieee1275.rmk: Likewise.
21383
21384 * include/multiboot.h: Move multiboot definitions to one file. Rename
21385 many definitions to not get grub specific.
21386 * include/multiboot2.h: Create header with multiboot 2 definitions.
21387 * include/grub/multiboot.h: Header for grub specific function
21388 prototypes and definitions.
21389 * include/grub/multiboot2.h: Likewise.
21390 * include/grub/multiboot_loader.h: Likewise.
21391 * include/grub/i386/pc/multiboot.h: Removed.
21392 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
21393
21394 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
21395 and 2 to allow for one multiboot and module commands.
21396 * loader/multiboot2.c: Add multiboot2 functionality.
21397 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
21398 and definition names.
21399 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
21400 2 functions.
21401 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
21402 ieee1275 specific multiboot2 code.
21403
21404 * kern/i386/pc/startup.S: Change headers and definition names for
21405 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
21406
21407 2007-07-22 Robert Millan <rmh@aybabtu.com>
21408
21409 * geninitheader.sh: Process file specified in first parameter rather
21410 than hardcoding grub_modules_init.lst.
21411 * geninit.sh: Likewise. Also, construct header name dynamically rather
21412 than hardcoding grub_modules_init.h.
21413
21414 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
21415 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
21416 grub_probe_init.[ch] and grub_setup_init.[ch].
21417
21418 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
21419 grub_modules_init.h with grub_emu_init.h.
21420 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
21421 grub_probe_init.[ch] files.
21422 * conf/i386-efi.rmk: Likewise.
21423 * conf/i386-pc.rmk: Likewise.
21424 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
21425 grub_setup_init.[ch] files.
21426
21427 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
21428 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
21429 to initialize modules rather than a list of hardcoded functions.
21430 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
21431 grub_init_all() to initialize modules rather than a list of hardcoded
21432 functions.
21433
21434 2007-07-22 Robert Millan <rmh@aybabtu.com>
21435
21436 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21437 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
21438
21439 2007-07-22 Robert Millan <rmh@aybabtu.com>
21440
21441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21442 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
21443 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
21444 flag when running on SmartFirmware.
21445 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
21446 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
21447 was set.
21448
21449 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21450 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
21451 rather than decreasing it.
21452
21453 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
21454 there's not enough space to do it, fail in the same way as when it
21455 can't be done because there are no partitions.
21456
21457 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
21458 when nvsetenv failed.
21459
21460 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21461
21462 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
21463 because this rule is automatically generated.
21464 (grub-mkrescue): Removed for the same reason as above.
21465
21466 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
21467
21468 Migrate to GNU General Public License Version 3.
21469
21470 * COPYING: Replaced with the plain text version of GPLv3.
21471
21472 * config.guess: Updated from gnulib.
21473 * config.sub: Likewise.
21474
21475 * geninit.sh: Output a GPLv3 copyright notice.
21476 * geninitheader.sh: Likewise.
21477 * genmodsrc.sh: Likewise.
21478 * gensymlist.sh.in: Likewise.
21479
21480 * boot/i386/pc/boot.S: Upgraded to GPLv3.
21481 * boot/i386/pc/diskboot.S: Likewise.
21482 * boot/i386/pc/pxeboot.S: Likewise.
21483 * commands/blocklist.c: Likewise.
21484 * commands/boot.c: Likewise.
21485 * commands/cat.c: Likewise.
21486 * commands/cmp.c: Likewise.
21487 * commands/configfile.c: Likewise.
21488 * commands/echo.c: Likewise.
21489 * commands/help.c: Likewise.
21490 * commands/ls.c: Likewise.
21491 * commands/search.c: Likewise.
21492 * commands/terminal.c: Likewise.
21493 * commands/test.c: Likewise.
21494 * commands/videotest.c: Likewise.
21495 * commands/i386/cpuid.c: Likewise.
21496 * commands/i386/pc/halt.c: Likewise.
21497 * commands/i386/pc/play.c: Likewise.
21498 * commands/i386/pc/reboot.c: Likewise.
21499 * commands/i386/pc/vbeinfo.c: Likewise.
21500 * commands/i386/pc/vbetest.c: Likewise.
21501 * commands/ieee1275/halt.c: Likewise.
21502 * commands/ieee1275/reboot.c: Likewise.
21503 * commands/ieee1275/suspend.c: Likewise.
21504 * disk/loopback.c: Likewise.
21505 * disk/lvm.c: Likewise.
21506 * disk/raid.c: Likewise.
21507 * disk/efi/efidisk.c: Likewise.
21508 * disk/i386/pc/biosdisk.c: Likewise.
21509 * disk/ieee1275/ofdisk.c: Likewise.
21510 * font/manager.c: Likewise.
21511 * fs/affs.c: Likewise.
21512 * fs/ext2.c: Likewise.
21513 * fs/fat.c: Likewise.
21514 * fs/fshelp.c: Likewise.
21515 * fs/hfs.c: Likewise.
21516 * fs/hfsplus.c: Likewise.
21517 * fs/iso9660.c: Likewise.
21518 * fs/jfs.c: Likewise.
21519 * fs/minix.c: Likewise.
21520 * fs/sfs.c: Likewise.
21521 * fs/ufs.c: Likewise.
21522 * fs/xfs.c: Likewise.
21523 * hello/hello.c: Likewise.
21524 * include/grub/acorn_filecore.h: Likewise.
21525 * include/grub/arg.h: Likewise.
21526 * include/grub/bitmap.h: Likewise.
21527 * include/grub/boot.h: Likewise.
21528 * include/grub/cache.h: Likewise.
21529 * include/grub/device.h: Likewise.
21530 * include/grub/disk.h: Likewise.
21531 * include/grub/dl.h: Likewise.
21532 * include/grub/elfload.h: Likewise.
21533 * include/grub/env.h: Likewise.
21534 * include/grub/err.h: Likewise.
21535 * include/grub/file.h: Likewise.
21536 * include/grub/font.h: Likewise.
21537 * include/grub/fs.h: Likewise.
21538 * include/grub/fshelp.h: Likewise.
21539 * include/grub/gzio.h: Likewise.
21540 * include/grub/hfs.h: Likewise.
21541 * include/grub/kernel.h: Likewise.
21542 * include/grub/loader.h: Likewise.
21543 * include/grub/lvm.h: Likewise.
21544 * include/grub/misc.h: Likewise.
21545 * include/grub/mm.h: Likewise.
21546 * include/grub/net.h: Likewise.
21547 * include/grub/normal.h: Likewise.
21548 * include/grub/parser.h: Likewise.
21549 * include/grub/partition.h: Likewise.
21550 * include/grub/pc_partition.h: Likewise.
21551 * include/grub/raid.h: Likewise.
21552 * include/grub/rescue.h: Likewise.
21553 * include/grub/script.h: Likewise.
21554 * include/grub/setjmp.h: Likewise.
21555 * include/grub/symbol.h: Likewise.
21556 * include/grub/term.h: Likewise.
21557 * include/grub/terminfo.h: Likewise.
21558 * include/grub/tparm.h: Likewise.
21559 * include/grub/types.h: Likewise.
21560 * include/grub/video.h: Likewise.
21561 * include/grub/efi/api.h: Likewise.
21562 * include/grub/efi/chainloader.h: Likewise.
21563 * include/grub/efi/console.h: Likewise.
21564 * include/grub/efi/console_control.h: Likewise.
21565 * include/grub/efi/disk.h: Likewise.
21566 * include/grub/efi/efi.h: Likewise.
21567 * include/grub/efi/pe32.h: Likewise.
21568 * include/grub/efi/time.h: Likewise.
21569 * include/grub/i386/linux.h: Likewise.
21570 * include/grub/i386/setjmp.h: Likewise.
21571 * include/grub/i386/types.h: Likewise.
21572 * include/grub/i386/efi/kernel.h: Likewise.
21573 * include/grub/i386/efi/loader.h: Likewise.
21574 * include/grub/i386/efi/time.h: Likewise.
21575 * include/grub/i386/pc/biosdisk.h: Likewise.
21576 * include/grub/i386/pc/boot.h: Likewise.
21577 * include/grub/i386/pc/chainloader.h: Likewise.
21578 * include/grub/i386/pc/console.h: Likewise.
21579 * include/grub/i386/pc/init.h: Likewise.
21580 * include/grub/i386/pc/kernel.h: Likewise.
21581 * include/grub/i386/pc/loader.h: Likewise.
21582 * include/grub/i386/pc/memory.h: Likewise.
21583 * include/grub/i386/pc/multiboot.h: Likewise.
21584 * include/grub/i386/pc/serial.h: Likewise.
21585 * include/grub/i386/pc/time.h: Likewise.
21586 * include/grub/i386/pc/vbe.h: Likewise.
21587 * include/grub/i386/pc/vbeblit.h: Likewise.
21588 * include/grub/i386/pc/vbefill.h: Likewise.
21589 * include/grub/i386/pc/vbeutil.h: Likewise.
21590 * include/grub/i386/pc/vga.h: Likewise.
21591 * include/grub/ieee1275/ieee1275.h: Likewise.
21592 * include/grub/ieee1275/ofdisk.h: Likewise.
21593 * include/grub/powerpc/libgcc.h: Likewise.
21594 * include/grub/powerpc/setjmp.h: Likewise.
21595 * include/grub/powerpc/types.h: Likewise.
21596 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
21597 * include/grub/powerpc/ieee1275/console.h: Likewise.
21598 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
21599 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21600 * include/grub/powerpc/ieee1275/loader.h: Likewise.
21601 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
21602 * include/grub/powerpc/ieee1275/time.h: Likewise.
21603 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
21604 * include/grub/sparc64/libgcc.h: Likewise.
21605 * include/grub/sparc64/setjmp.h: Likewise.
21606 * include/grub/sparc64/types.h: Likewise.
21607 * include/grub/sparc64/ieee1275/console.h: Likewise.
21608 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21609 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21610 * include/grub/sparc64/ieee1275/time.h: Likewise.
21611 * include/grub/util/biosdisk.h: Likewise.
21612 * include/grub/util/getroot.h: Likewise.
21613 * include/grub/util/lvm.h: Likewise.
21614 * include/grub/util/misc.h: Likewise.
21615 * include/grub/util/raid.h: Likewise.
21616 * include/grub/util/resolve.h: Likewise.
21617 * io/gzio.c: Likewise.
21618 * kern/device.c: Likewise.
21619 * kern/disk.c: Likewise.
21620 * kern/dl.c: Likewise.
21621 * kern/elf.c: Likewise.
21622 * kern/env.c: Likewise.
21623 * kern/err.c: Likewise.
21624 * kern/file.c: Likewise.
21625 * kern/fs.c: Likewise.
21626 * kern/loader.c: Likewise.
21627 * kern/main.c: Likewise.
21628 * kern/misc.c: Likewise.
21629 * kern/mm.c: Likewise.
21630 * kern/parser.c: Likewise.
21631 * kern/partition.c: Likewise.
21632 * kern/rescue.c: Likewise.
21633 * kern/term.c: Likewise.
21634 * kern/efi/efi.c: Likewise.
21635 * kern/efi/init.c: Likewise.
21636 * kern/efi/mm.c: Likewise.
21637 * kern/i386/dl.c: Likewise.
21638 * kern/i386/efi/init.c: Likewise.
21639 * kern/i386/efi/startup.S: Likewise.
21640 * kern/i386/pc/init.c: Likewise.
21641 * kern/i386/pc/lzo1x.S: Likewise.
21642 * kern/i386/pc/startup.S: Likewise.
21643 * kern/ieee1275/ieee1275.c: Likewise.
21644 * kern/powerpc/cache.S: Likewise.
21645 * kern/powerpc/dl.c: Likewise.
21646 * kern/powerpc/ieee1275/cmain.c: Likewise.
21647 * kern/powerpc/ieee1275/crt0.S: Likewise.
21648 * kern/powerpc/ieee1275/init.c: Likewise.
21649 * kern/powerpc/ieee1275/openfw.c: Likewise.
21650 * kern/sparc64/cache.S: Likewise.
21651 * kern/sparc64/dl.c: Likewise.
21652 * kern/sparc64/ieee1275/init.c: Likewise.
21653 * kern/sparc64/ieee1275/openfw.c: Likewise.
21654 * loader/efi/chainloader.c: Likewise.
21655 * loader/efi/chainloader_normal.c: Likewise.
21656 * loader/i386/efi/linux.c: Likewise.
21657 * loader/i386/efi/linux_normal.c: Likewise.
21658 * loader/i386/pc/chainloader.c: Likewise.
21659 * loader/i386/pc/chainloader_normal.c: Likewise.
21660 * loader/i386/pc/linux.c: Likewise.
21661 * loader/i386/pc/linux_normal.c: Likewise.
21662 * loader/i386/pc/multiboot.c: Likewise.
21663 * loader/i386/pc/multiboot_normal.c: Likewise.
21664 * loader/powerpc/ieee1275/linux.c: Likewise.
21665 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21666 * normal/arg.c: Likewise.
21667 * normal/cmdline.c: Likewise.
21668 * normal/command.c: Likewise.
21669 * normal/completion.c: Likewise.
21670 * normal/execute.c: Likewise.
21671 * normal/function.c: Likewise.
21672 * normal/lexer.c: Likewise.
21673 * normal/main.c: Likewise.
21674 * normal/menu.c: Likewise.
21675 * normal/menu_entry.c: Likewise.
21676 * normal/misc.c: Likewise.
21677 * normal/parser.y: Likewise.
21678 * normal/script.c: Likewise.
21679 * normal/i386/setjmp.S: Likewise.
21680 * normal/powerpc/setjmp.S: Likewise.
21681 * normal/sparc64/setjmp.S: Likewise.
21682 * partmap/acorn.c: Likewise.
21683 * partmap/amiga.c: Likewise.
21684 * partmap/apple.c: Likewise.
21685 * partmap/gpt.c: Likewise.
21686 * partmap/pc.c: Likewise.
21687 * partmap/sun.c: Likewise.
21688 * term/gfxterm.c: Likewise.
21689 * term/terminfo.c: Likewise.
21690 * term/efi/console.c: Likewise.
21691 * term/i386/pc/console.c: Likewise.
21692 * term/i386/pc/serial.c: Likewise.
21693 * term/i386/pc/vesafb.c: Likewise.
21694 * term/i386/pc/vga.c: Likewise.
21695 * term/ieee1275/ofconsole.c: Likewise.
21696 * util/biosdisk.c: Likewise.
21697 * util/console.c: Likewise.
21698 * util/genmoddep.c: Likewise.
21699 * util/getroot.c: Likewise.
21700 * util/grub-emu.c: Likewise.
21701 * util/grub-mkdevicemap.c: Likewise.
21702 * util/grub-probe.c: Likewise.
21703 * util/lvm.c: Likewise.
21704 * util/misc.c: Likewise.
21705 * util/raid.c: Likewise.
21706 * util/resolve.c: Likewise.
21707 * util/update-grub.in: Likewise.
21708 * util/update-grub_lib.in: Likewise.
21709 * util/grub.d/00_header.in: Likewise.
21710 * util/grub.d/10_hurd.in: Likewise.
21711 * util/grub.d/10_linux.in: Likewise.
21712 * util/i386/efi/grub-install.in: Likewise.
21713 * util/i386/efi/grub-mkimage.c: Likewise.
21714 * util/i386/pc/grub-install.in: Likewise.
21715 * util/i386/pc/grub-mkimage.c: Likewise.
21716 * util/i386/pc/grub-mkrescue.in: Likewise.
21717 * util/i386/pc/grub-setup.c: Likewise.
21718 * util/i386/pc/misc.c: Likewise.
21719 * util/powerpc/ieee1275/grub-install.in: Likewise.
21720 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
21721 * util/powerpc/ieee1275/misc.c: Likewise.
21722 * video/bitmap.c: Likewise.
21723 * video/video.c: Likewise.
21724 * video/i386/pc/vbe.c: Likewise.
21725 * video/i386/pc/vbeblit.c: Likewise.
21726 * video/i386/pc/vbefill.c: Likewise.
21727 * video/i386/pc/vbeutil.c: Likewise.
21728 * video/readers/tga.c: Likewise.
21729
21730 2007-07-02 Robert Millan <rmh@aybabtu.com>
21731
21732 * conf/i386-efi.rmk: Replace obsolete reference to
21733 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
21734 with util/getroot.c.
21735 * conf/powerpc-ieee1275.rmk: Likewise.
21736 * conf/sparc64-ieee1275.rmk: Likewise.
21737
21738 * util/grub-emu.c (main): Fix unchecked pointer handling.
21739
21740 2007-07-02 Robert Millan <rmh@aybabtu.com>
21741
21742 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
21743 invocation to fail, in order to support partition-less media.
21744
21745 * util/i386/pc/grub-install.in: Likewise.
21746
21747 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
21748 which fs or partmap modules are needed (akin to its sister scripts).
21749
21750 Also use grub-probe to get rid of unportable /proc/mounts check.
21751
21752 Print the same informational message that the other scripts do, before
21753 exiting.
21754
21755 2007-06-23 Robert Millan <rmh@aybabtu.com>
21756
21757 * util/update-grub_lib.in (font_path): New function. Determine whether
21758 a font file can be found and, if so, echo the GRUB path to it.
21759
21760 * util/update-grub.in: Handle multiple terminals depending on user
21761 input, platform availability and font file presence. Propagate
21762 variables of our findings to /etc/grub.d/ children.
21763
21764 * util/grub.d/00_header.in: Handle multiple terminals, based on
21765 environment setup by update-grub.
21766
21767 2007-06-23 Robert Millan <rmh@aybabtu.com>
21768
21769 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
21770
21771 2007-06-21 Robert Millan <rmh@aybabtu.com>
21772
21773 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
21774 indicate end of data section in kernel image.
21775 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
21776 GRUB_KERNEL_MACHINE_DATA_END.
21777
21778 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
21779 space for it.
21780 * kern/i386/efi/startup.S: Likewise.
21781
21782 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
21783 during image generation. Implement --prefix option to override this
21784 patch.
21785 * util/i386/efi/grub-mkimage.c: Likewise.
21786
21787 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
21788 code to make path relative to its root into a separate function.
21789
21790 * util/i386/pc/grub-install.in: Use newly provided
21791 make_system_path_relative_to_its_root() to convert ${grubdir}, then
21792 pass the result to grub-install --prefix.
21793
21794 2007-06-13 Robert Millan <rmh@aybabtu.com>
21795
21796 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
21797 DEFAULT_DEVICE_MAP.
21798 * util/grub-emu.c: Use above definitions from misc.h instead of
21799 defining them.
21800 * util/grub-mkdevicemap.c: Likewise.
21801 * util/i386/pc/grub-setup.c: Likewise.
21802 * util/grub-probe.c: Likewise.
21803 (probe): Abort with grub_util_error() when either
21804 grub_guess_root_device or grub_util_get_grub_dev fails.
21805
21806 2007-06-12 Robert Millan <rmh@aybabtu.com>
21807
21808 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
21809 "pager" assignment.
21810 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
21811 "pcdata".
21812 * util/grub-probe.c (probe): Likewise for "drive_name".
21813
21814 2007-06-11 Robert Millan <rmh@aybabtu.com>
21815
21816 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
21817 not just the cdrom one.
21818
21819 2007-06-11 Robert Millan <rmh@aybabtu.com>
21820
21821 * util/i386/pc/grub-mkrescue.in: Add "set -e".
21822 Add --pkglibdir=DIR option to override pkglibdir.
21823 Mention --image-type=TYPE in help output.
21824 Fix --grub-mkimage (it was a no-op).
21825 Abort gracefully when no parameter is given.
21826
21827 2007-06-11 Robert Millan <rmh@aybabtu.com>
21828
21829 * util/i386/pc/grub-mkrescue.in: New file.
21830 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
21831 * Makefile.in: Handle bin_SCRIPTS.
21832
21833 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
21834
21835 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
21836 list of video modes.
21837
21838 2007-06-06 Robert Millan <rmh@aybabtu.com>
21839
21840 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
21841 file doesn't exist, or if it is in a filesystem grub can't read.
21842
21843 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
21844 not abort if GRUB_DRIVE could not be defined. Rearrange generated
21845 header comment to fit in 80 columns when the variables are resolved.
21846
21847 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
21848 could be identified by update-grub. Remove redundant check for
21849 unifont.pff existence (since convert_system_path_to_grub_path now
21850 handles that).
21851
21852 2007-06-04 Robert Millan <rmh@aybabtu.com>
21853
21854 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
21855
21856 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
21857
21858 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
21859
21860 2007-06-04 Robert Millan <rmh@aybabtu.com>
21861
21862 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
21863
21864 * include/grub/partition.h: Declare grub_apple_partition_map_init and
21865 grub_apple_partition_map_fini.
21866
21867 * util/biosdisk.c
21868 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
21869 to access >2 TiB disks).
21870
21871 Print disk->total_sectors with %llu instead of %lu, since this
21872 variable is always 64-bit (prevents wrong disk size from being displayed
21873 on either >2 TiB disk or big-endian CPU).
21874
21875 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
21876 into a generic case that supports all (sane) partition maps.
21877
21878 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
21879 breaks big-endian.
21880
21881 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
21882 and grub_apple_partition_map_fini() after that.
21883
21884 2007-06-01 Robert Millan <rmh@aybabtu.com>
21885
21886 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
21887
21888 * util/grub.d/00_header.in: Only enable gfxterm when
21889 convert_system_path_to_grub_path() succeeds.
21890
21891 2007-05-20 Robert Millan <rmh@aybabtu.com>
21892
21893 * util/update-grub_lib.in: New file.
21894 * DISTLIST: Add update-grub_lib.in.
21895 * conf/common.rmk: Generate update-grub_lib and install it in
21896 $(lib_DATA).
21897 * Makefile.in: Add install routine for $(lib_DATA).
21898
21899 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
21900 function provided by update-grub_lib to support arbitrary paths of
21901 unifont.pff.
21902 * util/update-grub.in: Use convert_system_path_to_grub_path() to
21903 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
21904
21905 2007-05-19 Robert Millan <rmh@aybabtu.com>
21906
21907 * commands/i386/cpuid.c: New module.
21908 * DISTLIST: Add it.
21909 * conf/i386-efi.rmk: Enable cpuid.mod.
21910 * conf/i386-pc.rmk: Likewise.
21911
21912 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21913
21914 * kern/disk.c (grub_disk_read): Check return value of
21915 grub_realloc().
21916
21917 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21918
21919 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21920 arrays.
21921 * disk/raid.c (grub_raid_open): Likewise.
21922
21923 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21924
21925 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21926 stack instead of on the heap.
21927
21928 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21929 before doing a read on it.
21930
21931 * configure.ac: Only use -fno-stack-protector for the target
21932 environment.
21933
21934 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21935
21936 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21937 __attribute_ ((unused)) to mode_type argument.
21938
21939 * util/getroot.c (grub_guess_root_device): Fix #endif.
21940
21941 * kern/misc.c (memcmp): Fix prototype.
21942
21943 * include/grub/partition.h [GRUB_UTIL]
21944 (grub_gpt_partition_map_init): Add prototype.
21945 (grub_gpt_partition_map_fini): Likewise.
21946
21947 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21948 at the right place.
21949
21950 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21951 (grub_fat_read_data): Likewise.
21952 (grub_fat_find_dir): Likewise.
21953
21954 * font/manager.c (find_glyph): Make table a const.
21955 (grub_font_get_glyph): Remove bitmap from if statement.
21956
21957 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21958
21959 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21960 code, first search for device in /dev/mapper, then in /dev.
21961 (grub_util_get_grub_dev): New function.
21962 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21963 prototype.
21964 * util/grub-probe.c (probe): Remove check for RAID, call
21965 grub_util_get_grub_dev() instead of
21966 grub_util_biosdisk_get_grub_dev().
21967 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21968 grub_util_biosdisk_get_grub_dev().
21969 * util/i386/pc/grub-setup.c (main): Likewise.
21970
21971 2007-05-16 Robert Millan <rmh@aybabtu.com>
21972
21973 * DISTLIST: Update for the latest changes.
21974 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21975 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21976 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21977 grub/util/biosdisk.h.
21978 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21979 grub/util/biosdisk.h.
21980
21981 2007-05-16 Robert Millan <rmh@aybabtu.com>
21982
21983 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21984
21985 2007-05-16 Robert Millan <rmh@aybabtu.com>
21986
21987 * util/i386/efi/grub-install.in: New.
21988 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21989 newly added grub-install.
21990 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21991 include.
21992 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21993 grub/util/biosdisk.h.
21994 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21995 grub/util/biosdisk.h.
21996
21997 2007-05-16 Robert Millan <rmh@aybabtu.com>
21998
21999 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22000 * include/grub/util/biosdisk.h: ... here.
22001 * util/i386/pc/biosdisk.c: Moved to ...
22002 * util/biosdisk.c: ... here.
22003 * util/i386/pc/getroot.c: Moved to ...
22004 * util/getroot.c: ... here.
22005 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22006 * util/grub-mkdevicemap.c: ... here.
22007 * util/i386/pc/grub-probe.c: Moved to ...
22008 * util/grub-probe.c: ... here.
22009
22010 2007-05-15 Robert Millan <rmh@aybabtu.com>
22011
22012 * util/update-grub.in: Remove duplicated line in grub.cfg header
22013 message.
22014
22015 2007-05-13 Robert Millan <rmh@aybabtu.com>
22016
22017 * util/update-grub.in: Fix a few assumptions about the devices holding
22018 /, /boot and /boot/grub being the same.
22019 * util/grub.d/00_header.in: Likewise.
22020 * util/grub.d/10_hurd.in: Likewise.
22021 * util/grub.d/10_linux.in: Likewise.
22022
22023 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22024 patterns. Use that to define the `.old' suffix as older than `'.
22025
22026 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22027
22028 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22029 the grub.cfg header message.
22030
22031 2007-05-11 Robert Millan <rmh@aybabtu.com>
22032
22033 * util/update-grub.in: Create device.map if it doesn't already exist,
22034 before attempting to run grub-probe.
22035 Check for grub-probe and grub-mkdevicemap with the same code
22036 grub-install is using.
22037 Remove test mode.
22038
22039 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22040
22041 * Makefile.in: Add the datarootdir autoconf variable.
22042
22043 2007-05-09 Robert Millan <rmh@aybabtu.com>
22044
22045 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22046 fail gracefully if dev->disk->partition == NULL.
22047
22048 2007-05-07 Robert Millan <rmh@aybabtu.com>
22049
22050 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22051 determine partition map module.
22052 * util/i386/pc/grub-install.in: Use this feature to decide which
22053 partition module to load, instead of hardcoding pc and gpt.
22054
22055 2007-05-07 Robert Millan <rmh@aybabtu.com>
22056
22057 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22058 source directory differs from build directory.
22059
22060 2007-05-05 Robert Millan <rmh@aybabtu.com>
22061
22062 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22063 initialisation.
22064
22065 2007-05-05 Robert Millan <rmh@aybabtu.com>
22066
22067 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22068
22069 2007-05-05 Robert Millan <rmh@aybabtu.com>
22070
22071 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22072 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22073
22074 2007-05-05 Robert Millan <rmh@aybabtu.com>
22075
22076 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22077 (grub_probe_SOURCES): Likewise.
22078 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22079 GPT and initialize dos_part and bsd_part accordingly.
22080 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22081 install_bsd_part.
22082 (main): Activate gpt module for use during partition identification,
22083 and deactivate it afterwards.
22084 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22085 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22086 partition identification, and deactivate it afterwards.
22087
22088 2007-05-05 Robert Millan <rmh@aybabtu.com>
22089
22090 * term/i386/pc/console.c (grub_console_fini): Call
22091 grub_term_set_current() before grub_term_unregister().
22092
22093 2007-05-04 Robert Millan <rmh@aybabtu.com>
22094
22095 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22096 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22097 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22098 and update-grub_DATA.
22099 * conf/common.rmk: Build and install update-grub components.
22100 * conf/common.mk: Regenerate.
22101 * util/update-grub.in: New. Core of update-grub.
22102 * util/grub.d/00_header.in: New. Generates grub.cfg header.
22103 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
22104 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
22105 * util/grub.d/README: New. Document grub.d directory layout.
22106
22107 2007-05-01 Robert Millan <rmh@aybabtu.com>
22108
22109 * util/grub-emu.c: Move initialization functions
22110 grub_util_biosdisk_init() and grub_init_all() before
22111 grub_util_biosdisk_get_grub_dev(), which relies on them.
22112
22113 2007-04-19 Robert Millan <rmh@aybabtu.com>
22114
22115 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
22116 it is used later.
22117
22118 2007-04-18 Jerone Young <jerone@gmail.com>
22119
22120 * kernel/elf.c: Add missing parenthesis for conditional statement
22121 stanza.
22122
22123 2007-04-10 Jerone Young <jerone@gmail.com>
22124
22125 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
22126 continue on and look for device node with real device name.
22127
22128 2007-04-10 Jerone Young <jerone@gmail.com>
22129
22130 * configure.ac: Add argument for autoconf to use transformation
22131 ability.
22132 * Makefile.in: Add autoconf package transformation code.
22133 * util/i386/pc/grub-install.in: Likewise.
22134 * util/powerpc/ieee1275/grub-install.in: Likewise.
22135
22136 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22137
22138 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
22139 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
22140 (EXT2_REVISION): Likewise.
22141 (EXT2_INODE_SIZE): Likewise.
22142 (struct grub_ext2_block_group): Added a missing member
22143 "used_dirs".
22144 (grub_ext2_read_inode): Divide by the inode size in a superblock
22145 instead of 128 to obtain INODES_PER_BLOCK.
22146 Use the macro EXT2_INODE_SIZE instead of directly using
22147 SBLOCK->INODE_SIZE.
22148
22149 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22150
22151 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
22152 superblock instead of the structure size to compute an
22153 offset. This fixes the problem that GRUB could not read a
22154 filesystem when inode size is different from 128-byte.
22155
22156 2007-03-05 Marco Gerards <marco@gnu.org>
22157
22158 * normal/main.c (read_config_file): When "menu" is not set, create
22159 an initial context.
22160
22161 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22162
22163 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
22164 (HEAP_LIMIT): New macro.
22165 (grub_claim_heap): Claim memory up to `heaplimit'.
22166
22167 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
22168
22169 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
22170 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
22171 (_start): Likewise.
22172 (grub_arch_modules_addr): Return address after `_end'.
22173 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
22174 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
22175 (add_segments): Calculate `_end' from phdr size and location.
22176 (ALIGN_UP): Moved to ...
22177 * include/grub/misc.h: here.
22178 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22179 New macro.
22180 (GRUB_IEEE1275_MODULE_BASE): Removed.
22181
22182 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22183
22184 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
22185 loop boundary.
22186
22187 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22188
22189 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
22190 All users updated.
22191 (grub_elf64_load_hook_t): Likewise.
22192 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
22193 debug output.
22194
22195 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
22196
22197 * kern/mm.c: Update copyright.
22198 (grub_mm_debug): Correct syntax error.
22199 (grub_mm_dump_free): New function.
22200 (grub_debug_free): Call `grub_free'.
22201 * include/grub/mm.h: Update copyright.
22202 (grub_mm_dump_free): Add declaration.
22203
22204 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22205
22206 * include/grub/ieee1275/ieee1275.h: Update copyright.
22207 * kern/powerpc/ieee1275/init.c: Likewise.
22208 * kern/powerpc/ieee1275/openfw.c: Likewise.
22209
22210 * loader/powerpc/ieee1275/linux.c: Likewise.
22211 * include/grub/elfload.h: Likewise.
22212 * kern/elf.c: Likewise.
22213 (grub_elf32_load): Pass `base' and `size' parameters. Update all
22214 callers.
22215 (grub_elf64_load): Likewise.
22216 (grub_elf32_load_segment): Move to a nested function.
22217 (grub_elf64_load_segment): Likewise.
22218
22219 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
22220
22221 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
22222 prototype.
22223 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
22224 (grub_heap_len): Likewise.
22225 (HEAP_SIZE): New macro.
22226 (grub_claim_heap): New function.
22227 (grub_machine_init): Don't claim heap directly. Call
22228 `grub_claim_heap'.
22229 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
22230 (grub_available_iterate): New function.
22231
22232 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
22233
22234 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
22235 * configure.ac: Use it for testing the HOST and TARGET compilers.
22236
22237 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
22238
22239 * Makefile.in (enable_grub_emu): New variable.
22240 * configure.ac (--enable-grub-emu): New option.
22241 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
22242 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
22243 * conf/i386-pc.rmk: Likewise.
22244 * conf/powerpc-ieee1275.rmk: Likewise.
22245 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
22246
22247 2006-12-12 Marco Gerards <marco@gnu.org>
22248
22249 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
22250
22251 * kern/env.c (grub_env_unset): Don't free the member `value' when
22252 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
22253 pointer.
22254
22255 * normal/main.c (current_menu): Removed.
22256 (free_menu): Unset the `menu' environment variable.
22257 (grub_normal_menu_addentry): Make use of the environment variable
22258 `menu', instead of using the global `current_menu'. Allocate
22259 memory for the sourcecode of this entry.
22260 (read_config_file): New argument `nested', changed all callers.
22261 Only in the case of a new context, initialize a new menu. Set the
22262 `menu' environment variable.
22263 (grub_normal_execute): Don't set and unset the environment
22264 variable `menu' here anymore. Only free the menu when leaving the
22265 context.
22266
22267 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
22268 leak.
22269
22270 2006-12-11 Marco Gerards <marco@gnu.org>
22271
22272 * normal/menu_entry.c (run): Fix off by one bug so the last line
22273 is executed. Move the loader check to outside the loop.
22274
22275 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
22276
22277 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
22278
22279 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
22280
22281 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
22282 the number of sectors. Reported by Andrey Shuvikov
22283 <mr_hyro@yahoo.com>.
22284
22285 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
22286
22287 * kern/disk.c (grub_disk_read): When there is a read error, always
22288 try to read only the necessary data.
22289
22290 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
22291 disk/raid.c.
22292 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
22293 prototype.
22294 [GRUB_UTIL] (grub_raid_fini): Likewise.
22295 [GRUB_UTIL] (grub_lvm_init): Likewise.
22296 [GRUB_UTIL] (grub_lvm_fini): Likewise.
22297 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
22298 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
22299 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
22300 and grub_raid_fini().
22301
22302 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22303
22304 * include/grub/types.h (__unused): Rename to UNUSED.
22305 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
22306 (grub_elf64_size): Likewise.
22307
22308 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22309
22310 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
22311 grub_error_push and grub_error_pop in the error-handling path.
22312 (grub_elf32_load_segment): Only call grub_file_read with non-zero
22313 length.
22314
22315 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
22316
22317 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
22318 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22320 (kernel_elf_SOURCES): Likewise.
22321 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
22322 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
22323 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22324 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22325 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
22326 (elf_mod_SOURCES): New variable.
22327 (elf_mod_CFLAGS): Likewise.
22328 (elf_mod_LDFLAGS): Likewise.
22329 * include/grub/types.h (__unused): New macro.
22330 * include/grub/elfload.h: New file.
22331 * kern/elf.c: Likewise.
22332 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
22333 (ELF32_LOADMASK): New macro.
22334 (ELF64_LOADMASK): Likewise.
22335 (vmlinux): Removed.
22336 (grub_linux_load32): New function.
22337 (grub_linux_load64): Likewise.
22338 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
22339 Use grub_elf_t instead of grub_file_t.
22340
22341 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
22342
22343 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
22344 `catch_result' to struct set_color_args.
22345
22346 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22347
22348 * normal/menu.c: Include grub/script.h.
22349 * normal/menu_entry.c: Likewise.
22350 * include/grub/normal.h: Do not include grub/script.h.
22351
22352 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22353
22354 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
22355
22356 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22357
22358 * kern/disk.c (grub_disk_open): Print debug messages when opening a
22359 disk.
22360 (grub_disk_close): Print debug messages when closing a disk.
22361 (grub_disk_read): Print debug messages when disk read fails.
22362 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
22363 filesystem type.
22364 * kern/partition.c: Include misc.h.
22365 (grub_partition_iterate): Print debug messages when detecting
22366 partition type.
22367
22368 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
22369
22370 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
22371 is negative.
22372 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
22373
22374 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
22375
22376 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22377 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
22378
22379 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
22380
22381 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
22382 instead of sizeof(lv). Patch by Michael Guntsche.
22383
22384 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
22385
22386 * disk/lvm.c: Rename VGS to VG_LIST.
22387 (grub_lvm_iterate): Change VGS->LV to VG-LV.
22388 (grub_lvm_open): Likewise.
22389 Thanks to Michael Guntsche for finding this bug.
22390
22391 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22392
22393 * configure.ac (AC_INIT): Bumped to 1.95.
22394
22395 2006-10-14 Robert Millan <rmh@aybabtu.com>
22396
22397 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
22398 with "/dev/.static/dev/md".
22399
22400 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22401
22402 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
22403 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
22404 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
22405 DRIVE_NAME are always freed.
22406
22407 * util/i386/pc/biosdisk.c (make_device_name): Add one into
22408 DOS_PART, as a DOS partition is counted from one instead of zero
22409 now. Reported by Robert Millan.
22410
22411 2006-10-14 Robert Millan <rmh@aybabtu.com>
22412
22413 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
22414 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
22415 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
22416 string returned by grub_guess_root_device.
22417 * util/i386/pc/grub-setup.c: Likewise.
22418 * util/i386/pc/grub-probefs.c: Likewise.
22419
22420 * util/i386/pc/grub-probefs.c: Rename to ...
22421 * util/i386/pc/grub-probe.c: ... this.
22422 * DISTLIST: Remove grub-probefs, add grub-probe.
22423 * conf/i386-efi.rmk: Likewise.
22424 * conf/i386-pc.rmk: Likewise.
22425 * util/i386/pc/grub-install.in: Likewise.
22426
22427 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
22428 choose which information we want to print.
22429
22430 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
22431
22432 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
22433 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
22434 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
22435 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
22436 video/readers/tga.c and video/i386/pc/vbeutil.c.
22437
22438 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
22439
22440 Added support for RAID and LVM.
22441
22442 * disk/lvm.c: New file.
22443 * disk/raid.c: Likewise.
22444 * include/grub/lvm.h: Likewise.
22445 * include/grub/raid.h: Likewise.
22446 * include/grub/util/lvm.h: Likewise.
22447 * include/grub/util/raid.h: Likewise.
22448 * util/lvm.c: Likewise.
22449 * util/raid.c: Likewise.
22450
22451 * include/grub/disk.h (grub_disk_dev_id): Add
22452 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
22453 (grub_disk_get_size): New prototype.
22454 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
22455 returns a partition.
22456 (grub_disk_get_size): New function.
22457
22458 * kern/i386/pc/init.c (make_install_device): Copy the prefix
22459 verbatim if grub_install_dos_part is -2.
22460
22461 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
22462 and LVM devices.
22463
22464 * util/i386/pc/grub-setup.c (setup): New argument
22465 MUST_EMBED. Force embedding of GRUB when the argument is
22466 true. Close FILE before returning.
22467 (main): Add support for RAID and LVM.
22468
22469 * conf/common.rmk: Add RAID and LVM modules.
22470 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
22471 util/lvm.c.
22472 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
22473
22474 * kern/misc.c (grub_strstr): New function.
22475 * include/grub/misc.h (grub_strstr): New prototype.
22476
22477 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
22478
22479 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
22480
22481 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
22482
22483 * kern/misc.c (grub_strtoull): Guess the base only if not
22484 specified.
22485
22486 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22487
22488 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
22489 PowerMac support.
22490
22491 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22492
22493 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
22494
22495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
22496 Remove `flags' argument. All callers changed.
22497 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
22498 (IEEE1275_IHANDLE_INVALID): New variable.
22499 (IEEE1275_CELL_INVALID): New variable.
22500 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22501 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
22502 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
22503 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
22504 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
22505 codes from Open Firmware. All callers updated.
22506 (grub_ieee1275_next_property): Directly return Open Firmware return
22507 code.
22508 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22509 Standardize error checking from `grub_ieee1275_get_property'.
22510 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
22511 `devalias' to `aliases'. Correct comments. Consolidate error paths.
22512
22513 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
22514
22515 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
22516 `instance_to_package_args' to `instance_to_path_args'.
22517
22518 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
22519 `grub_ieee1275_chosen'.
22520
22521 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
22522 `grub_ieee1275_interpret'.
22523
22524 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22525
22526 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
22527
22528 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
22529
22530 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
22531 (__cmpdi): Likewise.
22532
22533 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
22534 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
22535 `grub_ssize_t'.
22536
22537 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
22538
22539 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
22540 to type `grub_ssize_t'.
22541 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
22542
22543 2006-09-22 Marco Gerards <marco@gnu.org>
22544
22545 * normal/script.c (grub_script_create_cmdmenu): Skip leading
22546 newlines.
22547
22548 2006-09-22 Marco Gerards <marco@gnu.org>
22549
22550 * commands/echo.c: New file.
22551
22552 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
22553
22554 * conf/common.rmk (echo_mod_SOURCES): New variable.
22555 (echo_mod_CFLAGS): Likewise.
22556 (echo_mod_LDFLAGS): Likewise.
22557
22558 2006-09-22 Marco Gerards <marco@gnu.org>
22559
22560 * normal/main.c (get_line): Malloc memory instead of using
22561 preallocated memory. Removed the arguments `cmdline' and
22562 `max_len'. Updated all callers.
22563
22564 2006-09-22 Marco Gerards <marco@gnu.org>
22565
22566 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
22567 (normal_mod_DEPENDENCIES): Likewise.
22568
22569 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
22570 (normal_mod_DEPENDENCIES): Likewise.
22571
22572 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
22573
22574 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
22575
22576 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
22577 programs.
22578 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
22579 (normal_mod_DEPENDENCIES): Likewise.
22580 * conf/i386-pc.mk: Regenerate.
22581 * conf/i386-efi.mk: Likewise
22582 * conf/common.mk: Likewise.
22583 * conf/powerpc-ieee1275.mk: Likewise.
22584 * conf/sparc64-ieee1275.mk: Likewise.
22585
22586 2006-09-22 Robert Millan <rmh@aybabtu.com>
22587
22588 Sync with i386 version.
22589 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
22590 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
22591
22592 2006-09-21 Robert Millan <rmh@aybabtu.com>
22593
22594 Import from GRUB Legacy (lib/device.c):
22595 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
22596 (init_device_map) [__linux__]: Add support for I2O devices.
22597
22598 2006-09-14 Marco Gerards <marco@gnu.org>
22599
22600 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
22601 `-melf_i386'.
22602
22603 2006-09-14 Robert Millan <rmh@aybabtu.com>
22604
22605 * util/i386/pc/grub-install.in: Skip menu.lst when removing
22606 /boot/grub/*.lst.
22607
22608 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
22609
22610 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
22611 before adding it to device.map.
22612
22613 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
22614
22615 * genmk.rb: Let GCC generate dependencies the first time it
22616 compiles a file; using the -MD option.
22617 * conf/common.mk: Regenerate.
22618 * conf/i386-pc.mk: Likewise.
22619 * conf/i386-efi.mk: Likewise.
22620 * conf/powerpc-ieee1275.mk: Likewise.
22621 * conf/sparc64-ieee1275.mk: Likewise.
22622
22623 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
22624
22625 Move the prototypes of grub_setjmp and grub_longjmp to
22626 cpu/setjmp.h, so that each architecture may specify different
22627 attributes.
22628
22629 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
22630 (grub_longjmp): Likewise.
22631 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
22632 (grub_longjmp): Likewise.
22633 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
22634 (grub_longjmp): Likewise.
22635
22636 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
22637 [!GRUB_UTIL] (grub_longjmp): Removed.
22638
22639 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
22640
22641 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
22642 "color!" method does not return any value.
22643
22644 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22645
22646 * include/grub/bitmap.h: New file.
22647
22648 * include/grub/i386/pc/vbeutil.h: Likewise.
22649
22650 * video/bitmap.c: Likewise.
22651
22652 * video/readers/tga.c: Likewise.
22653
22654 * video/i386/pc/vbeutil.c: Likewise.
22655
22656 * commands/videotest.c: Code cleanup and updated to reflect to new
22657 video API.
22658
22659 * term/gfxterm.c: Likewise.
22660
22661 * video/video.c: Likewise.
22662
22663 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
22664 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
22665 (bitmap_mod_SOURCES): New entry.
22666 (bitmap_mod_CFLAGS): Likewise.
22667 (bitmap_mod_LDFLAGS): Likewise.
22668 (tga_mod_SOURCES): Likewise.
22669 (tga_mod_CFLAGS): Likewise.
22670 (tga_mod_LDFLAGS): Likewise.
22671
22672 * include/grub/video.h (grub_video_blit_operators): New enum type.
22673 (grub_video_render_target): Changed as forward declaration and moved
22674 actual definition to be video driver specific.
22675 (grub_video_adapter.blit_bitmap): Added blitting operator.
22676 (grub_video_adapter.blit_render_target): Likewise.
22677 (grub_video_blit_bitmap): Likewise.
22678 (grub_video_blit_render_target): Likewise.
22679
22680 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
22681 driver specific render target definition.
22682 (grub_video_vbe_map_rgba): Added driver internal helper.
22683 (grub_video_vbe_unmap_color): Updated to use
22684 grub_video_i386_vbeblit_info.
22685 (grub_video_vbe_get_video_ptr): Likewise.
22686
22687 * include/grub/i386/pc/vbeblit.h
22688 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
22689 grub_video_i386_vbeblit_info.
22690 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22691 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22692 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22693 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22694 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22695 (grub_video_i386_vbeblit_index_index): Likewise.
22696 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
22697 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22698 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22699 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
22700 operator.
22701 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
22702 operator.
22703
22704 * video/i386/pc/vbeblit.c: Updated to reflect changes on
22705 include/grub/i386/pc/vbeblit.h.
22706
22707 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
22708 Updated to use grub_video_i386_vbeblit_info.
22709 (grub_video_i386_vbefill_R8G8B8): Likewise.
22710 (grub_video_i386_vbefill_index): Likewise.
22711 (grub_video_i386_vbefill): Added generic filler.
22712
22713 * video/i386/pc/vbefill.c: Updated to reflect changes on
22714 include/grub/i386/pc/vbefill.h.
22715
22716 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
22717 grub_video_i386_vbeblit_info.
22718 (grub_video_vbe_unmap_color): Likewise.
22719 (grub_video_vbe_blit_glyph): Likewise.
22720 (grub_video_vbe_scroll): Likewise.
22721 (grub_video_vbe_draw_pixel): Removed function.
22722 (grub_video_vbe_get_pixel): Likewise.
22723 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
22724 updated code to use it.
22725 (common_blitter): Added common blitter for render target and bitmap.
22726 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
22727 (grub_video_vbe_blit_render_target): Likewise.
22728
22729 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
22730
22731 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
22732 is in text mode if there is no console control protocol instance
22733 available.
22734
22735 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22736
22737 * include/grub/video.h: Code cleanup.
22738
22739 * include/grub/i386/pc/vbe.h: Likewise.
22740
22741 * video/i386/pc/vbe.c: Likewise.
22742
22743 * video/i386/pc/vbeblit.c: Likewise.
22744
22745 * video/i386/pc/vbefill.c: Likewise.
22746
22747 * video/video.c: Likewise. Also added more comments.
22748
22749 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
22750
22751 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
22752 (struct grub_biosdisk_dap): Likewise.
22753
22754 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
22755 linkage settings for all functions.
22756
22757 2006-07-12 Marco Gerards <marco@gnu.org>
22758
22759 * configure.ac (--enable-mm-debug): Fix typo.
22760
22761 * genkernsyms.sh.in: Use proper quoting for `CC'.
22762
22763 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
22764
22765 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
22766 (normal_mod_ASFLAGS): Remove "-m32".
22767
22768 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
22769
22770 * util/misc.c: Include config.h.
22771 [!HAVE_MEMALIGN]: Do not include malloc.h.
22772 (grub_memalign): Use posix_memalign, if present. Then, use
22773 memalign, if present. Otherwise, emit an error.
22774
22775 * util/grub-emu.c: Do not include malloc.h.
22776
22777 * include/grub/util/misc.h: Include unistd.h. This is required for
22778 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
22779 D. Eades III <hde@foobar-qux.org>.
22780
22781 * configure.ac (AC_GNU_SOURCE): Added.
22782 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
22783 type.
22784
22785 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
22786
22787 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
22788 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
22789
22790 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
22791
22792 * include/grub/types.h (grub_host_addr_t): Rename to
22793 grub_target_addr_t.
22794 (grub_host_off_t): Rename to grub_target_off_t.
22795 (grub_host_size_t): Rename to grub_target_size_t.
22796 (grub_host_ssize_t): Rename to grub_target_ssize_t.
22797 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
22798
22799 * include/grub/kernel.h (struct grub_module_header): Change type
22800 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
22801 (grub_module_info): Likewise.
22802
22803 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22804
22805 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
22806 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
22807 Velazquez <jesus.velazquez@gmail.com>.
22808
22809 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
22810
22811 Count partitions from 1 instead of 0 in the string representation
22812 of partitions. Still use 0-based internally.
22813
22814 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
22815 (sun_partition_map_iterate): Use grub_partition_t instead of
22816 struct grub_partition *. Cast DESC->START_CYLINDER to
22817 grub_uint64_t after converting the endian.
22818 (sun_partition_map_probe): Subtract 1 for PARTNUM.
22819 (sun_partition_map_get_name): Add 1 to P->INDEX.
22820
22821 * partmap/pc.c (grub_partition_parse): Subtract 1 for
22822 PCDATA->DOS_PART.
22823 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
22824
22825 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
22826 zero instead of one.
22827 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
22828 (gpt_partition_map_get_name): Add 1 into P->INDEX.
22829
22830 * partmap/apple.c (apple_partition_map_iterate): Change the type
22831 of POS to unsigned.
22832 (apple_partition_map_probe): Subtract 1 for PARTNUM.
22833 (apple_partition_map_get_name): Add 1 into P->INDEX.
22834
22835 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
22836 of POS to unsigned.
22837 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
22838 calculate the offset of a partition.
22839 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
22840 (amiga_partition_map_get_name): Add 1 into P->INDEX.
22841
22842 * partmap/acorn.c (acorn_partition_map_find): Change the type of
22843 SECTOR to grub_disk_addr_t.
22844 (acorn_partition_map_iterate): Likewise.
22845 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
22846 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
22847 top.
22848 (acorn_partition_map_get_name): Add 1 into P->INDEX.
22849
22850 * kern/i386/pc/init.c (make_install_device): Add 1 into
22851 GRUB_INSTALL_DOS_PART.
22852
22853 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
22854 conditional.
22855
22856 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22857
22858 Clean up the code to support 64-bit addressing in disks and
22859 files. This change is not enough for filesystems yet.
22860
22861 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
22862 type of "start" to grub_uint64_t.
22863 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
22864 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
22865 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
22866 convert addresses.
22867
22868 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
22869 to grub_disk_addr_t.
22870
22871 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
22872 string.
22873
22874 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22875
22876 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
22877 to char *.
22878
22879 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
22880
22881 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
22882
22883 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
22884
22885 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
22886 to grub_off_t, to detect an error from grub_file_seek.
22887 (grub_multiboot_load_elf32): Likewise.
22888
22889 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
22890 maximum unsigned long value when an overflow is detected.
22891 (grub_strtoull): New function.
22892 (grub_divmod64): Likewise.
22893 (grub_lltoa): use grub_divmod64.
22894
22895 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
22896 grub_disk_addr_t.
22897 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
22898 the pointer to next character. Use grub_strtoull instead of
22899 grub_strtoul.
22900 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
22901 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
22902 respectively.
22903
22904 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
22905 return value is signed.
22906 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
22907 test if OFFSET is less than zero, as OFFSET is unsigned now.
22908
22909 * kern/disk.c (struct grub_disk_cache): Change the type of
22910 "sector" to grub_disk_addr_t.
22911 (grub_disk_cache_get_index): Change the type of SECTOR to
22912 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22913 unsigned after shifting.
22914 (grub_disk_cache_invalidate): Change the type of SECTOR to
22915 grub_disk_addr_t.
22916 (grub_disk_cache_unlock): Likewise.
22917 (grub_disk_cache_store): Likewise.
22918 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22919 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22920 grub_disk_addr_t and grub_uint64_t, respectively.
22921 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22922 body, as the value of OFFSET is tweaked by
22923 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22924 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22925 respectively.
22926 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22927 body, as the value of OFFSET is tweaked by
22928 grub_disk_check_range. Change the types of LEN and N to
22929 grub_size_t.
22930
22931 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22932 and "saved_offset" to grub_off_t.
22933 (test_header): Cast BUF to char *.
22934 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22935 to char *.
22936 (grub_gzio_read): Change the types of OFFSET and SIZE to
22937 grub_off_t and grub_size_t, respectively.
22938
22939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22940 Removed.
22941 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22942 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22943 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22944 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22945 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22946
22947 * include/grub/types.h (grub_off_t): Unconditionally set to
22948 grub_uint64_t.
22949 (grub_disk_addr_t): Changed to grub_uint64_t.
22950
22951 * include/grub/partition.h (struct grub_partition): Change the
22952 types of "start", "len" and "offset" to grub_disk_addr_t,
22953 grub_uint64_t and grub_disk_addr_t, respectively.
22954 (grub_partition_get_start): Return grub_disk_addr_t.
22955 (grub_partition_get_len): Return grub_uint64_t.
22956
22957 * include/grub/misc.h (grub_strtoull): New prototype.
22958 (grub_divmod64): Likewise.
22959
22960 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22961 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22962 grub_off_t, respectively.
22963 All callers and references changed.
22964
22965 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22966 grub_size_t in "read".
22967 All callers and references changed.
22968
22969 * include/grub/file.h (struct grub_file): Change the types of
22970 "offset" and "size" to grub_off_t and grub_off_t,
22971 respectively. Change the type of SECTOR to grub_disk_addr_t in
22972 "read_hook".
22973 (grub_file_read): Change the type of LEN to grub_size_t.
22974 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22975 grub_off_t.
22976 (grub_file_size): Return grub_off_t.
22977 (grub_file_tell): Likewise.
22978 All callers and references changed.
22979
22980 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22981 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22982 "write".
22983 (struct grub_disk): Change the type of "total_sectors" to
22984 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
22985 "read_hook".
22986 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22987 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22988 (grub_disk_write): Likewise.
22989 All callers and references changed.
22990
22991 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22992 char * for grub_strncmp to silence gcc.
22993 (grub_iso9660_mount): Likewise.
22994 (grub_iso9660_mount): Likewise.
22995 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22996 return statement.
22997 (grub_iso9660_iterate_dir): Likewise.
22998 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22999
23000 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23001 LEN to grub_disk_addr_t and grub_size_t, respectively.
23002
23003 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23004
23005 * fs/jfs.c (grub_jfs_read_file): Likewise.
23006
23007 * fs/minix.c (grub_jfs_read_file): Likewise.
23008
23009 * fs/sfs.c (grub_jfs_read_file): Likewise.
23010
23011 * fs/ufs.c (grub_jfs_read_file): Likewise.
23012
23013 * fs/xfs.c (grub_jfs_read_file): Likewise.
23014
23015 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23016 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23017 respectively.
23018
23019 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23020 BLKNR to -1 instead of returning GRUB_ERRNO.
23021 (grub_ext2_read_file): Change the types of SECTOR and
23022 LEN to grub_disk_addr_t and grub_size_t, respectively.
23023
23024 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23025 LEN to grub_disk_addr_t and grub_size_t, respectively.
23026
23027 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23028 grub_file_read.
23029
23030 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23031 string. Do not cast SECTOR explicitly.
23032
23033 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23034 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23035 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23036 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23037 over 2TB and LBA mode is not supported, raise an error.
23038 (get_safe_sectors): New function.
23039 (grub_biosdisk_read): Use get_safe_sectors.
23040 (grub_biosdisk_write): Likewise.
23041
23042 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23043 (grub_efidisk_write): Likewise.
23044
23045 * disk/loopback.c (delete_loopback): Cosmetic changes.
23046 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23047 correctly.
23048 (grub_loopback_open): Likewise.
23049 (grub_loopback_read): Likewise. Also, change the type of POS to
23050 grub_off_t, and fix the usage of grub_memset.
23051
23052 * commands/i386/pc/play.c: Include grub/machine/time.h.
23053
23054 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23055 print FILE->SIZE.
23056
23057 * commands/configfile.c: Include grub/env.h.
23058
23059 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23060 GRUB_ERRNO directly instead. Change the type of POS to
23061 grub_off_t. Follow the coding standard.
23062
23063 * commands/blocklist.c: Include grub/partition.h.
23064 (grub_cmd_blocklist): Return an error if the underlying device is
23065 not a disk. Take the starting sector of a partition into account,
23066 if a partition is used.
23067
23068 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23069 a length field.
23070 (lba_mode): Support 64-bit addresses.
23071 (chs_mode): Likewise.
23072 (copy_buffer): Adapted to the new offsets of a length field and a
23073 segment field.
23074 (blocklist_default_start): Allocate 64-bit space.
23075
23076 * boot/i386/pc/boot.S (force_lba): Removed.
23077 (boot_drive): Moved to under KERNEL_SECTOR.
23078 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23079 space.
23080 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23081 is useless.
23082 (lba_mode): Refactored to support a 64-bit address. More size
23083 optimization.
23084 (setup_sectors): Likewise.
23085
23086 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23087
23088 * DISTLIST: Added include/grub/i386/linux.h. Removed
23089 include/grub/i386/pc/linux.h
23090
23091 * configure.ac (AC_INIT): Bumped to 1.94.
23092
23093 * config.guess: Updated from gnulib.
23094 * config.sub: Likewise.
23095 * install-sh: Likewise.
23096 * mkinstalldirs: Likewise.
23097
23098 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23099
23100 * conf/common.rmk (grub_modules_init.lst): Depended on
23101 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
23102 MODSRCFILES.
23103
23104 * genmk.rb (PModule::rule): Reverted the previous change.
23105
23106 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
23107
23108 * conf/common.rmk (grub_modules_init.lst): Depends on
23109 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
23110 that the target does not exist before producing.
23111 (grub_modules_init.h): Remove the target before generating.
23112 (grub_emu_init.c): Likewise.
23113
23114 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
23115
23116 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
23117
23118 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
23119 for the target-specific tests. Make sure that we also have the
23120 up-to-date target variables for those tests.
23121
23122 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23123
23124 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
23125 (PModule::rule): Likewise.
23126
23127 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
23128
23129 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
23130 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
23131 target-specific flags should be prefixed.
23132 (PModule::rule): Likewise.
23133
23134 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
23135
23136 * configure.ac (CMP): Check if cmp is available explicitly.
23137
23138 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
23139
23140 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
23141 (target_cpu): New variable.
23142 (pkglibdir): Use target_cpu instead of host_cpu.
23143
23144 * util/i386/pc/grub-install.in (host_cpu): Removed.
23145 (target_cpu): New variable.
23146 (pkglibdir): Use target_cpu instead of host_cpu.
23147
23148 * util/genmoddep.c: Removed.
23149
23150 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
23151 instead of GRUB_HOST_SIZEOF_VOID_P.
23152 * kern/dl.c: Likewise.
23153
23154 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
23155 ...
23156 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23157 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23158 (GRUB_TARGET_SIZEOF_LONG): ... this.
23159 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23160 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23161 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23162 to ...
23163 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23164 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23165 (GRUB_TARGET_SIZEOF_LONG): ... this.
23166 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23167 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23168 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
23169 to ...
23170 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
23171 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
23172 (GRUB_TARGET_SIZEOF_LONG): ... this.
23173 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
23174 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
23175
23176 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
23177 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
23178 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
23179 instead of GRUB_HOST_SIZEOF_LONG.
23180 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
23181 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
23182 GRUB_CPU_WORDS_BIGENDIAN.
23183 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
23184 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
23185 grub_host_ssize_t.
23186
23187 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
23188 (genmoddep_SOURCES): Likewise.
23189 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
23190 (genmoddep_SOURCES): Likewise.
23191 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
23192 (genmoddep_SOURCES): Likewise.
23193 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
23194 Likewise.
23195 (genmoddep_SOURCES): Likewise.
23196
23197 * genmoddep.awk: New file.
23198
23199 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
23200 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
23201 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
23202 (PModule::rule): Likewise.
23203 (Program::rule): Likewise.
23204 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
23205 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
23206 respectively.
23207
23208 * configure.ac: Rewritten intensively to use host and target
23209 instead of build and host, respectively.
23210
23211 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
23212 (host_cpu): Removed.
23213 (target_cpu): New variable.
23214 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
23215 (BUILD_CC): Removed.
23216 (BUILD_CFLAGS): Likewise.
23217 (BUILD_CPPFLAGS): Likewise.
23218 (TARGET_CC): New variable.
23219 (TARGET_CFLAGS): Likewise.
23220 (TARGET_CPPFLAGS): Likewise.
23221 (TARGET_LDFLAGS): Likewise.
23222 (AWK): Likewise.
23223 (include): Use target_cpu instead of host_cpu.
23224 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
23225
23226 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
23227
23228 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
23229
23230 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
23231 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
23232 field 'false' to 'exec_on_false'.
23233 (grub_script_create_cmdif): Renamed argument names to reflect above
23234 changes.
23235
23236 * normal/execute.c (grub_script_execute_cmdif): Likewise.
23237
23238 * normal/script.c (grub_script_create_cmdif): Likewise.
23239
23240 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
23241
23242 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
23243 top.
23244 (grub_hfsplus_btree_recptr): Likewise.
23245 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
23246 FILEBLOCK both to pass a block number and store next block
23247 number.
23248 (grub_hfsplus_read_block): Rewritten heavily to support an extent
23249 overflow file correctly. Specify errors appropriately, because
23250 fshelp expects that GRUB_ERRNO is set when fails. Reuse
23251 grub_hfsplus_btree_recptr to get the pointer to a found key.
23252 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
23253 is found.
23254
23255 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
23256 linux.mod.
23257 (_linux_mod_SOURCES): New variable.
23258 (_linux_mod_CFLAGS): Likewise.
23259 (_linux_mod_LDFLAGS): Likewise.
23260 (linux_mod_SOURCES): Likewise.
23261 (linux_mod_CFLAGS): Likewise.
23262 (linux_mod_LDFLAGS): Likewise.
23263
23264 * DISTLIST: Added loader/i386/efi/linux.c,
23265 loader/i386/efi/linux_normal.c and
23266 include/grub/i386/efi/loader.h.
23267
23268 * loader/i386/efi/linux.c: New file.
23269 * loader/i386/efi/linux_normal.c: Likewise.
23270 * include/grub/i386/efi/loader.h: Likewise.
23271
23272 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
23273
23274 * commands/blocklist.c: New file.
23275
23276 * DISTLIST: Added commands/blocklist.c.
23277
23278 * term/efi/console.c (grub_console_highlight_color): Use a lighter
23279 color for the background, and a darker color for the foreground.
23280 (grub_console_checkkey): Return READ_KEY.
23281 (grub_console_cls): Set the background to
23282 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
23283
23284 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
23285
23286 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
23287 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
23288
23289 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
23290 prototype.
23291
23292 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
23293 BG. The spec is wrong again.
23294
23295 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
23296 prototype.
23297 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
23298
23299 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23300 commands/blocklist.c.
23301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23302
23303 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
23304 (blocklist_mod_SOURCES): New variable.
23305 (blocklist_mod_CFLAGS): Likewise.
23306 (blocklist_mod_LDFLAGS): Likewise.
23307
23308 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
23309
23310 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
23311 duplication.
23312 (lba_mode): Use %eax more intensively to reduce the code size.
23313
23314 2006-05-20 Marco Gerards <marco@gnu.org>
23315
23316 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
23317
23318 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
23319 for `menuentry'.
23320 (script): Accept leading newlines.
23321 (newlines): New rule to describe 0 or more newlines.
23322 (commands): Accept `command' with trailing newline. Fixed the
23323 order in which arguments were passed to `grub_script_add_cmd'.
23324 Accept commands separated by newlines.
23325 (function): Changed to accept newlines.
23326 (menuentry) Rewritten.
23327
23328 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
23329 front of the list, instead of to the end.
23330
23331 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
23332
23333 * util/i386/pc/grub-install.in (bindir): New variable.
23334 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
23335 Shaver <lbgwjl@gmail.com>.
23336
23337 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
23338
23339 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
23340 grub/machine/linux.h
23341 * loader/i386/pc/linux.c: Likewise.
23342
23343 * include/grub/i386/pc/linux.h: Moved to ...
23344 * include/grub/i386/linux.h: ... here.
23345
23346 * include/grub/i386/linux.h (struct linux_kernel_params): New
23347 struct.
23348
23349 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
23350
23351 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
23352 checking.
23353 (grub_video_vbe_blit_glyph): Likewise.
23354 (grub_video_vbe_blit_bitmap): Likewise.
23355 (grub_video_vbe_blit_render_target): Likewise.
23356
23357 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
23358
23359 * configure.ac (--with-platform): Properly quote the square
23360 brackets.
23361
23362 2006-05-08 Marco Gerards <marco@gnu.org>
23363
23364 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
23365 this...
23366 (kernel_elf_HEADERS): ...to this. Updated all users.
23367 (grubof_symlist.c): Renamed from this...
23368 (kernel_elf_symlist.c): ...to this. Updated all users.
23369 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23370 (grubof_SOURCES): Renamed from this...
23371 (kernel_elf_SOURCES): ...to this.
23372 (grubof_HEADERS): Renamed from this...
23373 (kernel_elf_HEADERS): ...to this.
23374 (grubof_CFLAGS): Renamed from this...
23375 (kernel_elf_CFLAGS): ...to this.
23376 (grubof_ASFLAGS): Renamed from this...
23377 (kernel_elf_ASFLAGS): ...to this.
23378 (grubof_LDFLAGS): Renamed from this...
23379 (kernel_elf_LDFLAGS): ...to this.
23380
23381 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
23382 this...
23383 (kernel_elf_HEADERS): ...to this. Updated all users.
23384 (grubof_symlist.c): Renamed from this...
23385 (kernel_elf_symlist.c): ...to this. Updated all users.
23386 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
23387 (grubof_SOURCES): Renamed from this...
23388 (kernel_elf_SOURCES): ...to this.
23389 (grubof_HEADERS): Renamed from this...
23390 (kernel_elf_HEADERS): ...to this.
23391 (grubof_CFLAGS): Renamed from this...
23392 (kernel_elf_CFLAGS): ...to this.
23393 (grubof_ASFLAGS): Renamed from this...
23394 (kernel_elf_ASFLAGS): ...to this.
23395 (grubof_LDFLAGS): Renamed from this...
23396 (kernel_elf_LDFLAGS): ...to this.
23397
23398 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
23399 `kernel.elf' instead of `grubof'.
23400
23401 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
23402
23403 Add --with-platform to configure. Use pkglibdir instead of
23404 pkgdatadir. This is reported by Roger Leigh.
23405
23406 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
23407 (host_vendor): Likewise.
23408 (host_os): Likewise.
23409 (pkgdatadir): Likewise.
23410 (platform): New variable.
23411 (pkglibdir): Likewise.
23412 Use PKGLIBDIR instead of PKGDATADIR.
23413
23414 * util/i386/pc/grub-install.in (datadir): Removed.
23415 (host_vendor): Likewise.
23416 (host_os): Likewise.
23417 (pkgdatadir): Likewise.
23418 (platform): New variable.
23419 (pkglibdir): Likewise.
23420 Use PKGLIBDIR instead of PKGDATADIR.
23421
23422 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
23423 instead of GRUB_DATADIR.
23424 (main): Likewise.
23425 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23426 (main): Likewise.
23427 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23428 (main): Likewise.
23429
23430 * configure.ac (--with-platform): New option.
23431 Use PLATFORM instead of HOST_VENDOR to specify a platform.
23432
23433 * Makefile.in: Include a makefile based on PLATFORM instead of
23434 HOST_VENDOR.
23435 (pkgdatadir): Not appended by the machine type.
23436 (pkglibdir): Appended by the machine type.
23437 (host_vendor): Removed.
23438 (platform): New variable.
23439 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
23440 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
23441 (uninstall): Likewise.
23442
23443 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
23444
23445 Use the environment context in the menu. Remove the commands
23446 "default" and "timeout", and use variables instead.
23447
23448 * normal/menu.c: Include grub/env.h.
23449 (print_entry): Cast TITLE to silence gcc.
23450 (get_timeout): New function.
23451 (set_timeout): Likewise.
23452 (get_entry_number): Likewise.
23453 (run_menu): Use a default entry, a fallback entry and a timeout
23454 in the environment variables "default", "fallback" and
23455 "timeout". Also, tweak the default entry if it is not within the
23456 current menu entries.
23457 (grub_menu_run): Use a fallback entry in the environment variable
23458 "fallback".
23459
23460 * normal/main.c (read_config_file): Do not initialize
23461 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
23462 NEWMENU->TIMEOUT.
23463 (grub_normal_execute): Use a data slot to store the menu.
23464
23465 * include/grub/normal.h (struct grub_menu): Removed default_entry,
23466 fallback_entry and timeout.
23467 (struct grub_menu_list): Removed.
23468 (grub_menu_list_t): Likewise.
23469 (struct grub_context): Likewise.
23470 (grub_context_t): Likewise.
23471 (grub_context_get): Likewise.
23472 (grub_context_get_current_menu): Likewise.
23473 (grub_context_push_menu): Likewise.
23474 (grub_context_pop_menu): Likewise.
23475 (grub_default_init): Likewise.
23476 (grub_default_fini): Likewise.
23477 (grub_timeout_init): Likewise.
23478 (grub_timeout_fini): Likewise.
23479
23480 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
23481 and timeout.mod.
23482 (normal_mod_SOURCES): Removed normal/context.c.
23483
23484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
23485 commands/default.c, commands/timeout.c and normal/context.c.
23486 (normal_mod_SOURCES): Removed normal/context.c.
23487
23488 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
23489 commands/timeout.c and normal/context.c.
23490 (normal_mod_SOURCES): Removed normal/context.c.
23491
23492 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
23493 commands/default.c, commands/timeout.c and normal/context.c.
23494 (normal_mod_SOURCES): Removed normal/context.c.
23495
23496 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
23497 timeout.mod.
23498 (default_mod_SOURCES): Removed.
23499 (default_mod_CFLAGS): Likewise.
23500 (default_mod_LDFLAGS): Likewise.
23501 (timeout_mod_SOURCES): Removed.
23502 (timeout_mod_CFLAGS): Likewise.
23503 (timeout_mod_LDFLAGS): Likewise.
23504
23505 * DISTLIST: Removed commands/default.c, commands/timeout.c and
23506 normal/context.c.
23507
23508 * commands/default.c: Removed.
23509 * commands/timeout.c: Likewise.
23510 * normal/context.c: Likewise.
23511
23512 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
23513
23514 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
23515
23516 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
23517
23518 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
23519 "next" to "prev" for readability.
23520 (struct grub_env_sorted_var): New struct.
23521 (grub_env_context): Renamed to ...
23522 (initial_context): ... this.
23523 (grub_env_var_context): Renamed to ...
23524 (current_context): ... this.
23525 (grub_env_find): Look only at CURRENT_CONTEXT.
23526 (grub_env_context_open): Rewritten to copy exported variables from
23527 previous context.
23528 (grub_env_context_close): Rewritten according to the new
23529 scheme. Also, add an assertion to prevent the initial context from
23530 removed.
23531 (grub_env_insert): Removed the code for the sorted list.
23532 (grub_env_remove): Likewise.
23533 (grub_env_export): Simply mark the variable with
23534 GRUB_ENV_VAR_GLOBAL.
23535 (grub_env_set): A cosmetic change for naming consistency.
23536 (grub_env_get): Likewise.
23537 (grub_env_unset): Likewise.
23538 (grub_env_iterate): Rewritten to sort variables within this
23539 function.
23540 (grub_register_variable_hook): Fixed for naming consistency. Call
23541 grub_env_find again, only if NAME is not found at the first time.
23542 (mangle_data_slot_name): New function.
23543 (grub_env_set_data_slot): Likewise.
23544 (grub_env_get_data_slot): Likewise.
23545 (grub_env_unset_data_slot): Likewise.
23546
23547 * include/grub/env.h (grub_env_var_type): New enum.
23548 (GRUB_ENV_VAR_LOCAL): New constant.
23549 (GRUB_ENV_VAR_GLOBAL): Likewise.
23550 (GRUB_ENV_VAR_DATA): Likewise.
23551 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
23552 "type".
23553 (grub_env_set): Replace VAR with NAME for consistency.
23554 (grub_register_variable_hook): Likewise.
23555 (grub_env_export): Specify the name of the argument.
23556 (grub_env_set_data_slot): New prototype.
23557 (grub_env_get_data_slot): Likewise.
23558 (grub_env_unset_data_slot): Likewise.
23559
23560 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23561
23562 Extend the loader so that GRUB can accept a loader which comes
23563 back to GRUB when a loaded image exits. Also, this change adds
23564 support for a chainloader on EFI.
23565
23566 * term/efi/console.c: Include grub/misc.h.
23567 (grub_console_checkkey): Display a scan code on the top for
23568 debugging. This will be removed once the EFI port gets stable.
23569 Correct the scan code mapping.
23570
23571 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
23572 allocate memory from larger regions, in order to reduce the number
23573 of allocated regions. Otherwise, the MacOSX loader panics.
23574 (filter_memory_map): Avoid less than 1MB for compatibility with
23575 other loaders.
23576 (add_memory_regions): Allocate from the tail of a region, if
23577 possible, to avoid allocating a region near to 1MB, for the MacOSX
23578 loader.
23579
23580 * kern/efi/init.c (grub_efi_set_prefix): Specify
23581 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
23582
23583 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
23584 argument IMAGE_HANDLE and specify it to get a loaded image.
23585 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
23586 grub_efi_get_loaded_image.
23587 (grub_efi_get_filename): Divide the length by the size of
23588 grub_efi_char16_t.
23589 (grub_efi_get_device_path): New function.
23590 (grub_efi_print_device_path): Print End Device Path nodes. Divide
23591 the length by the size of grub_efi_char16_t for a file path device
23592 path node.
23593
23594 * kern/loader.c (grub_loader_noreturn): New variable.
23595 (grub_loader_set): Accept a new argument NORETURN. Set
23596 GRUB_LOADER_NORETURN to NORETURN.
23597 All callers changed.
23598 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
23599 grub_machine_fini.
23600
23601 * include/grub/efi/efi.h (grub_efi_get_device_path): New
23602 prototype.
23603 (grub_efi_get_loaded_image): Take an argument to specify an image
23604 handle.
23605
23606 * include/grub/loader.h (grub_loader_set): Added one more argument
23607 NORETURN.
23608
23609 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
23610 instead of grub_efi_open_protocol.
23611 (grub_efidisk_get_device_name): Likewise.
23612 (grub_efidisk_close): Print a newline.
23613 (grub_efidisk_get_device_handle): Fixed to use
23614 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
23615 GRUB_EFI_DEVICE_PATH_TYPE.
23616
23617 * disk/efi/efidisk.c (device_path_guid): Moved to ...
23618 * kern/efi/efi.c (device_path_guid): ... here.
23619
23620 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
23621 chain.mod.
23622 (kernel_mod_HEADERS): Added efi/disk.h.
23623 (_chain_mod_SOURCES): New variable.
23624 (_chain_mod_CFLAGS): Likewise.
23625 (_chain_mod_LDFLAGS): Likewise.
23626 (chain_mod_SOURCES): Likewise.
23627 (chain_mod_CFLAGS): Likewise.
23628 (chain_mod_LDFLAGS): Likewise.
23629
23630 * DISTLIST: Added include/grub/efi/chainloader.h,
23631 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
23632
23633 * include/grub/efi/chainloader.h: New file.
23634 * loader/efi/chainloader.c: Likewise.
23635 * loader/efi/chainloader_normal.c: Likewise.
23636
23637 2006-04-30 Marco Gerards <marco@gnu.org>
23638
23639 * commands/configfile.c (grub_cmd_source): New function.
23640 (GRUB_MOD_INIT): Register the commands `source' and `.'.
23641 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
23642
23643 2006-04-30 Marco Gerards <marco@gnu.org>
23644
23645 * normal/execute.c (grub_script_execute_cmd): Change the return
23646 type to `grub_err_t'. Correctly return the error.
23647 (grub_script_execute_cmdline): In case a command line is not a
23648 command or a function, try to interpret it as an assignment.
23649
23650 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
23651
23652 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
23653 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
23654 skip a node whose name is obviously invalid as UTF-16,
23655 i.e. contains a NUL character. Stop the iteration when the last
23656 directory entry is found. Instead of using the return value of
23657 grub_hfsplus_btree_iterate_node, store the value in RET and use
23658 it, because the iterator can be stopped by the last directory
23659 entry.
23660
23661 2006-04-30 Marco Gerards <marco@gnu.org>
23662
23663 * include/grub/env.h (grub_env_export): New prototype. Reported
23664 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
23665
23666 2006-04-30 Marco Gerards <marco@gnu.org>
23667
23668 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
23669 size of the extents in a catalog file record.
23670
23671 2006-04-29 Marco Gerards <marco@gnu.org>
23672
23673 * commands/configfile.c (grub_cmd_configfile): Execute the
23674 configfile within its own context.
23675
23676 * include/grub/env.h (grub_env_context_open): New prototype.
23677 (grub_env_context_close): Likewise.
23678
23679 * kern/env.c (grub_env): Removed.
23680 (grub_env_sorted): Likewise.
23681 (grub_env_context): New variable.
23682 (grub_env_var_context): Likewise.
23683 (grub_env_find): Search both the active context and the global
23684 context.
23685 (grub_env_context_open): New function.
23686 (grub_env_context_close): Likewise.
23687 (grub_env_insert): Likewise.
23688 (grub_env_remove): Likewise.
23689 (grub_env_export): Likewise.
23690 (grub_env_set): Changed to use helper functions to avoid code
23691 duplication.
23692 (grub_env_iterate): Rewritten so both the current context and the
23693 global context are being used.
23694
23695 * normal/command.c (export_command): New function.
23696 (grub_command_init): Register the `export' function.
23697
23698 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
23699
23700 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
23701 explicitly to suppress gcc's warnings.
23702 * fs/fat.c (grub_fat_find_dir): Likewise.
23703 (grub_fat_label): Likewise.
23704 * fs/xfs.c (grub_xfs_read_inode): Likewise.
23705 (grub_xfs_mount): Likewise.
23706 (grub_xfs_label): Likewise.
23707 * fs/affs.c (grub_affs_mount): Likewise.
23708 (grub_affs_label): Likewise.
23709 (grub_affs_iterate_dir): Likewise.
23710 * fs/sfs.c (grub_sfs_mount): Likewise.
23711 (grub_sfs_iterate_dir): Likewise.
23712 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
23713 * fs/hfs.c (grub_hfs_mount): Likewise.
23714 (grub_hfs_cmp_catkeys): Likewise.
23715 (grub_hfs_find_dir): Likewise.
23716 (grub_hfs_dir): Likewise.
23717 (grub_hfs_label): Likewise.
23718 * fs/jfs.c (grub_jfs_mount): Likewise.
23719 (grub_jfs_opendir): Likewise.
23720 (grub_jfs_getent): Likewise.
23721 (grub_jfs_lookup_symlink): Likewise.
23722 (grub_jfs_label): Likewise.
23723 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
23724 (grub_hfsplus_iterate_dir): Likewise.
23725 (grub_hfsplus_btree_iterate_node): Made static.
23726
23727 * util/grub-emu.c (prefix): New variable.
23728 (grub_machine_set_prefix): New function.
23729 (main): Do not set the environment variable "prefix" here. Only
23730 set PREFIX, which is used later by grub_machine_set_prefix.
23731
23732 * include/grub/video.h: Do not include grub/symbol.h.
23733 (grub_video_register): Not exported. This symbol is not defined in
23734 the kernel.
23735 (grub_video_unregister): Likewise.
23736 (grub_video_iterate): Likewise.
23737 (grub_video_setup): Likewise.
23738 (grub_video_restore): Likewise.
23739 (grub_video_get_info): Likewise.
23740 (grub_video_get_blit_format): Likewise.
23741 (grub_video_set_palette): Likewise.
23742 (grub_video_get_palette): Likewise.
23743 (grub_video_set_viewport): Likewise.
23744 (grub_video_get_viewport): Likewise.
23745 (grub_video_map_color): Likewise.
23746 (grub_video_map_rgb): Likewise.
23747 (grub_video_map_rgba): Likewise.
23748 (grub_video_fill_rect): Likewise.
23749 (grub_video_blit_glyph): Likewise.
23750 (grub_video_blit_bitmap): Likewise.
23751 (grub_video_blit_render_target): Likewise.
23752 (grub_video_scroll): Likewise.
23753 (grub_video_swap_buffers): Likewise.
23754 (grub_video_create_render_target): Likewise.
23755 (grub_video_delete_render_target): Likewise.
23756 (grub_video_set_active_render_target): Likewise.
23757
23758 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
23759 Undefined.
23760 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
23761
23762 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
23763 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23764 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23765 instead of $(srcdir)/genkernsyms.sh.
23766
23767 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
23768 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23769 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23770 instead of $(srcdir)/genkernsyms.sh.
23771
23772 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
23773 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23774 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23775 instead of $(srcdir)/genkernsyms.sh.
23776
23777 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
23778 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
23779 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
23780 instead of $(srcdir)/genkernsyms.sh.
23781
23782 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
23783 genkernsyms.sh.
23784
23785 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
23786 genkernsyms.sh.
23787 (gensymlist.sh): New target.
23788 (genkernsyms.sh): Likewise.
23789
23790 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
23791 genkernsyms.sh.in and gensymlist.sh.in.
23792
23793 * genkernsyms.sh: Removed.
23794 * gensymlist.sh: Likewise.
23795
23796 * genkernsyms.sh.in: New file.
23797 * gensymlist.sh.in: Likewise.
23798
23799 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23800
23801 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
23802 clobber "prefix", since we may have already set it manually.
23803
23804 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
23805
23806 * kern/misc.c (abort): New alias for grub_abort.
23807
23808 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
23809
23810 A new machine-specific function "grub_machine_set_prefix" is
23811 defined. This is called after loading modules, so that a prefix
23812 initialization can use modules. Also, this change adds an
23813 intensive debugging feature for the memory manager via the
23814 configure option "--enable-mm-debug".
23815
23816 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
23817 PART.LEN.
23818
23819 * kern/sparc64/ieee1275/init.c (abort): Removed.
23820 (grub_stop): Likewise.
23821 (grub_exit): New function.
23822 (grub_set_prefix): Renamed to ...
23823 (grub_machine_set_prefix): ... this.
23824 (grub_machine_init): Do not call grub_set_prefix.
23825
23826 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
23827 (grub_machine_set_prefix): ... this.
23828 (grub_machine_init): Do not call grub_set_prefix.
23829
23830 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
23831 (grub_machine_init): Do not set the prefix here.
23832
23833 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
23834
23835 * kern/efi/init.c: Include grub/mm.h.
23836 (grub_efi_set_prefix): New function.
23837
23838 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
23839 (grub_efi_get_filename): New function.
23840 (grub_print_device_path): Renamed to ...
23841 (grub_efi_print_device_path): ... this.
23842
23843 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
23844 [MM_DEBUG] (grub_realloc): Likewise.
23845 [MM_DEBUG] (grub_free): Likewise.
23846 [MM_DEBUG] (grub_memalign): Likewise.
23847 [MM_DEBUG] (grub_mm_debug): New variable.
23848 [MM_DEBUG] (grub_debug_malloc): New function.
23849 [MM_DEBUG] (grub_debug_free): New function.
23850 [MM_DEBUG] (grub_debug_realloc): New function.
23851 [MM_DEBUG] (grub_debug_memalign): New function.
23852
23853 * kern/misc.c (grub_abort): Print a newline to distinguish
23854 the message.
23855
23856 * kern/main.c (grub_main): Call grub_machine_set_prefix and
23857 grub_set_root_dev after loading modules. This is necessary when
23858 setting a prefix depends on modules.
23859
23860 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
23861 (grub_efi_print_device_path): ... this.
23862 (grub_efi_get_filename): New prototype.
23863 (grub_efi_set_prefix): Likewise.
23864
23865 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
23866 and grub/disk.h.
23867 (grub_efidisk_get_device_handle): New prototype.
23868 (grub_efidisk_get_device_name): Likewise.
23869
23870 * include/grub/mm.h: Include config.h.
23871 (MM_DEBUG): Removed.
23872 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
23873 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
23874 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
23875 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
23876 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
23877 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
23878 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
23879 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
23880 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
23881
23882 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
23883
23884 * disk/efi/efidisk.c: Include grub/partition.h.
23885 (iterate_child_devices): New function.
23886 (add_device): First, compare only last device path nodes, so that
23887 devices are sorted by the types.
23888 (grub_efidisk_get_device_handle): New function.
23889 (grub_efidisk_get_device_name): Likewise.
23890
23891 * configure.ac (--enable-mm-debug): New option to enable the
23892 memory manager debugging feature. This makes the binary much
23893 bigger, so is disabled by default.
23894
23895 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
23896
23897 Use grub_abort instead of grub_stop, and grub_exit must be
23898 define in each architecture now. Also, this change adds support
23899 for EFI disks.
23900
23901 * util/i386/pc/grub-probefs.c: Include grub/term.h.
23902 (grub_getkey): New function.
23903 (grub_term_get_current): Likewise.
23904
23905 * util/i386/pc/grub-setup.c: Include grub/term.h.
23906 (grub_getkey): New function.
23907 (grub_term_get_current): Likewise.
23908
23909 * util/misc.c (grub_stop): Renamed to ...
23910 (grub_exit): ... this.
23911
23912 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23913 (grub_exit): ... this.
23914 (grub_machine_init): Use grub_abort instead of abort.
23915 (grub_stop): Removed.
23916
23917 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23918 abort.
23919
23920 * kern/i386/pc/startup.S (grub_exit): New function.
23921 (cold_reboot): New label.
23922
23923 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23924 (grub_efi_init): Call grub_efidisk_init.
23925 (grub_efi_fini): Call grub_efidisk_fini.
23926
23927 * kern/efi/efi.c: Include grub/mm.h.
23928 (grub_efi_console_control_guid): Renamed to ...
23929 (console_control_guid): ... this.
23930 (grub_efi_loaded_image_guid): Renamed to ...
23931 (loaded_image_guid): ... this.
23932 (grub_efi_locate_handle): New function.
23933 (grub_efi_open_protocol): Likewise.
23934 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23935 GRUB_EFI_CONSOLE_CONTROL_GUID.
23936 (grub_efi_exit): Removed.
23937 (grub_stop): Likewise.
23938 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23939 (grub_exit): New function.
23940 (grub_print_device_path): Likewise.
23941
23942 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23943 (grub_enter_rescue_mode): Register "exit".
23944
23945 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23946 (grub_abort): New function.
23947
23948 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23949
23950 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23951
23952 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23953
23954 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23955 (grub_print_device_path): New prototype.
23956 (grub_efi_locate_handle): Likewise.
23957 (grub_efi_open_protocol): Likewise.
23958
23959 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23960 * disk/efi/efidisk.c: Likewise.
23961
23962 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23963
23964 * include/grub/efi/console_control.h
23965 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23966
23967 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23968 last 8 bytes as an array.
23969 (GRUB_EFI_DISK_IO_GUID): New macro.
23970 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23971 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23972 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23973 grub_uint8_t.
23974 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23975 (struct grub_efi_device_path): Rename the member "sub_type" to
23976 "subtype".
23977 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23978 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23979 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23980 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23981 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23982 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23983 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23984 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23985 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23986 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23987 (struct grub_efi_pci_device_path): New structure.
23988 (grub_efi_pci_device_path_t): New type.
23989 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23990 (struct grub_efi_pccard_device_path): New structure.
23991 (grub_efi_pccard_device_path_t): New type.
23992 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23993 (struct grub_efi_memory_mapped_device_path): New structure.
23994 (grub_efi_memory_mapped_device_path_t): New type.
23995 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23996 (struct grub_efi_vendor_device_path): New structure.
23997 (grub_efi_vendor_device_path_t): New type.
23998 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23999 (struct grub_efi_controller_device_path): New structure.
24000 (grub_efi_controller_device_path_t): New type.
24001 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24002 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24003 (struct grub_efi_acpi_device_path): New structure.
24004 (grub_efi_acpi_device_path_t): New type.
24005 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24006 (struct grub_efi_expanded_acpi_device_path): New structure.
24007 (grub_efi_expanded_acpi_device_path_t): New type.
24008 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24009 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24010 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24011 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24012 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24013 (struct grub_efi_atapi_device_path): New structure.
24014 (grub_efi_atapi_device_path_t): New type.
24015 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24016 (struct grub_efi_fibre_channel_device_path): New structure.
24017 (grub_efi_fibre_channel_device_path_t): New type.
24018 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24019 (struct grub_efi_1394_device_path): New structure.
24020 (grub_efi_1394_device_path_t): New type.
24021 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24022 (struct grub_efi_usb_device_path): New structure.
24023 (grub_efi_usb_device_path_t): New type.
24024 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24025 (struct grub_efi_usb_class_device_path): New structure.
24026 (grub_efi_usb_class_device_path_t): New type.
24027 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24028 (struct grub_efi_i2o_device_path): New structure.
24029 (grub_efi_i2o_device_path_t): New type.
24030 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24031 (struct grub_efi_mac_address_device_path): New structure.
24032 (grub_efi_mac_address_device_path_t): New type.
24033 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24034 (struct grub_efi_ipv4_device_path): New structure.
24035 (grub_efi_ipv4_device_path_t): New type.
24036 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24037 (struct grub_efi_ipv6_device_path): New structure.
24038 (grub_efi_ipv6_device_path_t): New type.
24039 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24040 (struct grub_efi_infiniband_device_path): New structure.
24041 (grub_efi_infiniband_device_path_t): New type.
24042 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24043 (struct grub_efi_uart_device_path): New structure.
24044 (grub_efi_uart_device_path_t): New type.
24045 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24046 (struct grub_efi_vendor_messaging_device_path): New structure.
24047 (grub_efi_vendor_messaging_device_path_t): New type.
24048 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24049 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24050 (struct grub_efi_hard_drive_device_path): New structure.
24051 (grub_efi_hard_drive_device_path_t): New type.
24052 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24053 (struct grub_efi_cdrom_device_path): New structure.
24054 (grub_efi_cdrom_device_path_t): New type.
24055 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24056 (struct grub_efi_vendor_media_device_path): New structure.
24057 (grub_efi_vendor_media_device_path_t): New type.
24058 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24059 (struct grub_efi_file_path_device_path): New structure.
24060 (grub_efi_file_path_device_path_t): New type.
24061 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24062 (struct grub_efi_protocol_device_path): New structure.
24063 (grub_efi_protocol_device_path_t): New type.
24064 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24065 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24066 (struct grub_efi_bios_device_path): New structure.
24067 (grub_efi_bios_device_path_t): New type.
24068 (struct grub_efi_disk_io): New structure.
24069 (grub_efi_disk_io_t): New type.
24070 (struct grub_efi_block_io_media): New structure.
24071 (grub_efi_block_io_media_t): New type.
24072 (struct grub_efi_block_io): New structure.
24073 (grub_efi_block_io_t): New type.
24074
24075 * include/grub/misc.h (grub_stop): Removed.
24076 (grub_exit): New prototype.
24077 (grub_abort): Likewise.
24078
24079 * include/grub/disk.h (enum grub_disk_dev_id): Added
24080 GRUB_DISK_DEVICE_EFIDISK_ID.
24081
24082 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24083 disk/efi/efidisk.c.
24084 (kernel_syms.lst): Remove the target if an error occurs.
24085
24086 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24087
24088 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24089 as it was simply too buggy.
24090
24091 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24092
24093 * kern/misc.c (grub_lltoa): New function.
24094 (grub_vsprintf): Added support for the long long suffix,
24095 i.e. "ll".
24096
24097 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24098
24099 * Makefile.in (LDFLAGS): Add variable.
24100 (LD): Remove variable.
24101 * configure.ac: Add -m32 to LDFLAGS.
24102 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
24103 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
24104 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
24105 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
24106 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
24107 variables.
24108 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
24109 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
24110 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
24111
24112 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
24113
24114 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
24115 length for unknown glyph.
24116
24117 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24118
24119 Add support for pre-loaded modules into the EFI port.
24120
24121 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
24122 completely. Accept one more argument DIR. The caller has changed.
24123
24124 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
24125
24126 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
24127 (grub_efi_loaded_image_guid): New variable.
24128 (grub_efi_get_loaded_image): New function.
24129 (grub_arch_modules_addr): Likewise.
24130
24131 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
24132 prototype.
24133
24134 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
24135 (struct grub_efi_loaded_image): New structure.
24136 (grub_efi_loaded_image_t): New type.
24137
24138 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
24139
24140 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
24141 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
24142 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
24143
24144 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
24145
24146 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
24147
24148 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
24149
24150 * DISTLIST: Added include/grub/efi/console.h,
24151 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
24152 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24153
24154 * include/grub/efi/console.h: New file.
24155 * include/grub/efi/time.h: Likewise.
24156 * include/grub/i386/efi/kernel.h: Likewise.
24157 * kern/efi/init.c: Likewise.
24158 * kern/efi/mm.c: Likewise.
24159 * term/efi/console.c: Likewise.
24160
24161 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
24162 (grub_stop): Removed.
24163 (grub_get_rtc): Likewise.
24164 (grub_machine_init): Simply call grub_efi_init.
24165 (grub_machine_fini): Call grub_efi_fini.
24166
24167 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
24168 (grub_efi_output_string): Removed.
24169 (grub_efi_stall): New function.
24170 (grub_stop): Likewise.
24171 (grub_get_rtc): Likewise.
24172
24173 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
24174 (grub_efi_stall): New prototype.
24175 (grub_efi_allocate_pages): Likewise.
24176 (grub_efi_free_pages): Likewise.
24177 (grub_efi_get_memory_map): Likewise.
24178 (grub_efi_mm_init): Likewise.
24179 (grub_efi_mm_fini): Likewise.
24180 (grub_efi_init): Likewise.
24181 (grub_efi_fini): Likewise.
24182
24183 * include/grub/i386/efi/time.h: Do not include
24184 grub/symbol.h. Include grub/efi/time.h.
24185 (GRUB_TICKS_PER_SECOND): Removed.
24186 (grub_get_rtc): Likewise.
24187
24188 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
24189 Added padding. The EFI spec is buggy.
24190 (GRUB_EFI_BLACK): New macro.
24191 (GRUB_EFI_BLUE): Likewise.
24192 (GRUB_EFI_GREEN): Likewise.
24193 (GRUB_EFI_CYAN): Likewise.
24194 (GRUB_EFI_RED): Likewise.
24195 (GRUB_EFI_MAGENTA): Likewise.
24196 (GRUB_EFI_BROWN): Likewise.
24197 (GRUB_EFI_LIGHTGRAY): Likewise.
24198 (GRUB_EFI_BRIGHT): Likewise.
24199 (GRUB_EFI_DARKGRAY): Likewise.
24200 (GRUB_EFI_LIGHTBLUE): Likewise.
24201 (GRUB_EFI_LIGHTGREEN): Likewise.
24202 (GRUB_EFI_LIGHTCYAN): Likewise.
24203 (GRUB_EFI_LIGHTRED): Likewise.
24204 (GRUB_EFI_LIGHTMAGENTA): Likewise.
24205 (GRUB_EFI_YELLOW): Likewise.
24206 (GRUB_EFI_WHITE): Likewise.
24207 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
24208 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
24209 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
24210 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
24211 (GRUB_EFI_BACKGROUND_RED): Likewise.
24212 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
24213 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
24214 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
24215 (GRUB_EFI_TEXT_ATTR): Likewise.
24216
24217 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
24218 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
24219 (kernel_mod_HEADERS): Added efi/time.h.
24220
24221 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
24222
24223 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
24224 include/grub/efi/api.h, include/grub/efi/console_control.h,
24225 include/grub/efi/efi.h, include/grub/efi/pe32.h,
24226 include/grub/i386/efi/time.h, kern/efi/efi.c,
24227 kern/i386/efi/init.c, kern/i386/efi/startup.S,
24228 and util/i386/efi/grub-mkimage.c.
24229
24230 * Makefile.in (RMKFILES): Added i386-efi.rmk.
24231
24232 * genmk.rb (PModule#rule): Do not export symbols if
24233 #{prefix}_EXPORTS is set to "no".
24234
24235 * conf/i386-efi.mk: New file.
24236 * conf/i386-efi.rmk: Likewise.
24237 * include/grub/efi/api.h: Likewise.
24238 * include/grub/efi/console_control.h: Likewise.
24239 * include/grub/efi/efi.h: Likewise.
24240 * include/grub/efi/pe32.h: Likewise.
24241 * include/grub/i386/efi/time.h: Likewise.
24242 * kern/efi/efi.c: Likewise.
24243 * kern/i386/efi/init.c: Likewise.
24244 * kern/i386/efi/startup.S: Likewise.
24245 * util/i386/efi/grub-mkimage.c: Likewise.
24246
24247 2006-04-17 Marco Gerards <marco@gnu.org>
24248
24249 * include/grub/script.h: Include <grub/parser.h> and
24250 "grub_script.tab.h".
24251 (struct grub_lexer_param): New struct.
24252 (struct grub_parser_param): Likewise.
24253 (grub_script_create_arglist): Pass the state in an argument.
24254 (grub_script_add_arglist): Likewise.
24255 (grub_script_create_cmdline): Likewise.
24256 (grub_script_create_cmdblock): Likewise.
24257 (grub_script_create_cmdif): Likewise.
24258 (grub_script_create_cmdmenu): Likewise.
24259 (grub_script_add_cmd): Likewise.
24260 (grub_script_arg_add): Likewise.
24261 (grub_script_lexer_ref): Likewise.
24262 (grub_script_lexer_deref): Likewise.
24263 (grub_script_lexer_record_start): Likewise.
24264 (grub_script_lexer_record_stop): Likewise.
24265 (grub_script_mem_record): Likewise.
24266 (grub_script_mem_record_stop): Likewise.
24267 (grub_script_malloc): Likewise.
24268 (grub_script_yylex): Likewise.
24269 (grub_script_yyparse): Likewise.
24270 (grub_script_yyerror): Likewise.
24271 (grub_script_yylex): Likewise.
24272 (grub_script_lexer_init): Return the state.
24273
24274 * normal/lexer.c (grub_script_lexer_state): Removed variable.
24275 (grub_script_lexer_done): Likewise.
24276 (grub_script_lexer_getline): Likewise.
24277 (grub_script_lexer_refs): Likewise.
24278 (script): Likewise.
24279 (newscript): Likewise.
24280 (record): Likewise.
24281 (recording): Likewise.
24282 (recordpos): Likewise.
24283 (recordlen): Likewise.
24284 (grub_script_lexer_init): Return the state instead of setting
24285 global variables.
24286 (grub_script_lexer_ref): Use the newly added argument for state
24287 instead of globals.
24288 (grub_script_lexer_deref): Likewise.
24289 (grub_script_lexer_record_start): Likewise.
24290 (grub_script_lexer_record_stop): Likewise.
24291 (recordchar): Likewise.
24292 (nextchar): Likewise.
24293 (grub_script_yylex2): Likewise.
24294 (grub_script_yylex): Likewise.
24295 (grub_script_yyerror): Likewise.
24296
24297 * normal/parser.y (func_mem): Removed variable.
24298 (menu_entry): Likewise.
24299 (err): Likewise.
24300 (%lex-param): New parser option.
24301 (%parse-param): Likewise.
24302 (script): Always return the AST.
24303 (argument): Pass the state around.
24304 (arguments): Likewise.
24305 (grubcmd): Likewise.
24306 (commands): Likewise.
24307 (function): Likewise.
24308 (menuentry): Likewise.
24309 (if_statement): Likewise.
24310 (if): Likewise.
24311
24312 * normal/script.c (grub_script_memused): Removed variable.
24313 (grub_script_parsed): Likewise.
24314 (grub_script_malloc): Added a state argument. Use that instead of
24315 global variables.
24316 (grub_script_mem_record): Likewise.
24317 (grub_script_mem_record_stop): Likewise.
24318 (grub_script_arg_add): Likewise.
24319 (grub_script_add_arglist): Likewise.
24320 (grub_script_create_cmdline): Likewise.
24321 (grub_script_create_cmdif): Likewise.
24322 (grub_script_create_cmdmenu): Likewise.
24323 (grub_script_add_cmd): Likewise.
24324 (grub_script_parse): Setup the state before calling the parser.
24325
24326 2006-04-16 Marco Gerards <marco@gnu.org>
24327
24328 * normal/command.c (grub_command_init): Remove the title command.
24329
24330 * normal/lexer.c (grub_script_yylex): Renamed from this...
24331 (grub_script_yylex2): ... to this.
24332 (grub_script_yylex): New function. Temporary
24333 introduced to filter some tokens.
24334 (grub_script_yyerror): Print a newline.
24335
24336 * normal/main.c (read_config_file): Output information about the
24337 lines that contain errors. Wait for a key after all lines have
24338 been processed. Don't return an empty menu.
24339
24340 * normal/parser.y (func_mem): Don't initialize.
24341 (menu_entry): Likewise.
24342 (err): New variable.
24343 (script): Don't return anything when an error was encountered.
24344 (ws, returns): Removed rules.
24345 (argument): Disabled concatenated variable support.
24346 (arguments): Remove explicit separators.
24347 (grubcmd): Likewise.
24348 (function): Likewise.
24349 (menuentry): Likewise.
24350 (if): Likewise.
24351 (commands): Likewise. Add error handling.
24352
24353 * normal/script.c (grub_script_create_cmdline): If
24354 `grub_script_parsed' is 0, assume the parser encountered an error.
24355
24356 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
24357
24358 * configure.ac: Add support for EFI. Fix the typo
24359 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
24360
24361 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24362
24363 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
24364 foreign multibyte characters should be shown correctly.
24365
24366 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
24367
24368 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
24369 calculation.
24370 (read_config_file): Made it to close file before returning.
24371
24372 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
24373
24374 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
24375 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
24376 video/i386/pc/vbefill.c.
24377
24378 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
24379 video/i386/pc/vbefill.c.
24380
24381 * include/grub/video.h (grub_video_blit_format): New enum.
24382 (grub_video_mode_info): Added new member blit_format.
24383 (grub_video_get_blit_format): New function prototype.
24384
24385 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
24386 function prototype.
24387 (grub_video_vbe_map_rgb): Likewise.
24388 (grub_video_vbe_unmap_color): Likewise.
24389
24390 * include/grub/i386/pc/vbeblit.h: New file.
24391
24392 * include/grub/i386/pc/vbefill.h: New file.
24393
24394 * video/video.c (grub_video_get_blit_format): New function.
24395 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
24396 (grub_video_vbe_map_rgb): Likewise.
24397 (grub_video_vbe_unmap_color): Likewise.
24398
24399 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
24400 optimized fills.
24401 (grub_video_vbe_blit_render_target): Changed to use more optimized
24402 blits.
24403 (grub_video_vbe_setup): Added detection for optimized settings.
24404 (grub_video_vbe_create_render_target): Likewise.
24405
24406 * video/i386/pc/vbeblit.c: New file.
24407
24408 * video/i386/pc/vbefill.c: New file.
24409
24410 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
24411
24412 * font/manager.c (grub_font_get_glyph): Removed font fixup from
24413 here...
24414
24415 * util/unifont2pff.rb: ... and moved it to here. Improved argument
24416 parsing to support both hex and dec ranges. If filename was missing
24417 show usage information.
24418
24419 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
24420
24421 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
24422 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
24423
24424 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
24425 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
24426 (video_mod_SOURCES): Added.
24427 (video_mod_CFLAGS): Likewise.
24428 (video_mod_LDFLAGS): Likewise.
24429 (gfxterm_mod_SOURCES): Likewise.
24430 (gfxterm_mod_CFLAGS): Likewise.
24431 (gfxterm_mod_LDFLAGS): Likewise.
24432 (videotest_mod_SOURCES): Likewise.
24433 (videotest_mod_CFLAGS): Likewise.
24434 (videotest_mod_LDFLAGS): Likewise.
24435 (vesafb_mod_SOURCES): Removed.
24436 (vesafb_mod_CFLAGS): Likewise.
24437 (vesafb_mod_LDFLAGS): Likewise.
24438 (vga_mod_SOURCES): Likewise.
24439 (vga_mod_CFLAGS): Likewise.
24440 (vga_mod_LDFLAGS): Likewise.
24441
24442 * commands/videotest.c: New file.
24443
24444 * font/manager.c (fill_with_default_glyph): Modified to use
24445 grub_font_glyph.
24446 (grub_font_get_glyph): Likewise.
24447 (fontmanager): Renamed from this...
24448 (font_manager): ... to this.
24449
24450 * include/grub/font.h (grub_font_glyph): Added new structure.
24451 (grub_font_get_glyph): Modified to use grub_font_glyph.
24452
24453 * include/grub/misc.h (grub_abs): Added as inline function.
24454
24455 * include/grub/video.h: New file.
24456
24457 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
24458 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
24459 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
24460 (grub_vbe_get_controller_info): Renamed from this...
24461 (grub_vbe_bios_get_controller_info): ... to this.
24462 (grub_vbe_get_mode_info): Renamed from this...
24463 (grub_vbe_bios_get_mode_info): ... to this.
24464 (grub_vbe_set_mode): Renamed from this...
24465 (grub_vbe_bios_set_mode): ... to this.
24466 (grub_vbe_get_mode): Renamed from this...
24467 (grub_vbe_bios_get_mode): ... to this.
24468 (grub_vbe_set_memory_window): Renamed from this...
24469 (grub_vbe_bios_set_memory_window): ... to this.
24470 (grub_vbe_get_memory_window): Renamed from this...
24471 (grub_vbe_bios_get_memory_window): ... to this.
24472 (grub_vbe_set_scanline_length): Renamed from this...
24473 (grub_vbe_set_scanline_length): ... to this.
24474 (grub_vbe_get_scanline_length): Renamed from this...
24475 (grub_vbe_bios_get_scanline_length): ... to this.
24476 (grub_vbe_set_display_start): Renamed from this...
24477 (grub_vbe_bios_set_display_start): ... to this.
24478 (grub_vbe_get_display_start): Renamed from this...
24479 (grub_vbe_bios_get_display_start): ... to this.
24480 (grub_vbe_set_palette_data): Renamed from this...
24481 (grub_vbe_bios_set_palette_data): ... to this.
24482 (grub_vbe_set_pixel_rgb): Removed.
24483 (grub_vbe_set_pixel_index): Likewise.
24484
24485 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
24486 from this...
24487 (grub_vbe_bios_get_controller_info): ... to this.
24488 (grub_vbe_get_mode_info): Renamed from this...
24489 (grub_vbe_bios_get_mode_info): ... to this.
24490 (grub_vbe_set_mode): Renamed from this...
24491 (grub_vbe_bios_set_mode): ... to this.
24492 (grub_vbe_get_mode): Renamed from this...
24493 (grub_vbe_bios_get_mode): ... to this.
24494 (grub_vbe_set_memory_window): Renamed from this...
24495 (grub_vbe_bios_set_memory_window): ... to this.
24496 (grub_vbe_get_memory_window): Renamed from this...
24497 (grub_vbe_bios_get_memory_window): ... to this.
24498 (grub_vbe_set_scanline_length): Renamed from this...
24499 (grub_vbe_set_scanline_length): ... to this.
24500 (grub_vbe_get_scanline_length): Renamed from this...
24501 (grub_vbe_bios_get_scanline_length): ... to this.
24502 (grub_vbe_set_display_start): Renamed from this...
24503 (grub_vbe_bios_set_display_start): ... to this.
24504 (grub_vbe_get_display_start): Renamed from this...
24505 (grub_vbe_bios_get_display_start): ... to this.
24506 (grub_vbe_set_palette_data): Renamed from this...
24507 (grub_vbe_bios_set_palette_data): ... to this.
24508 (grub_vbe_bios_get_controller_info): Fixed problem with registers
24509 getting corrupted after calling it. Added more pushes and pops.
24510 (grub_vbe_bios_set_mode): Likewise.
24511 (grub_vbe_bios_get_mode): Likewise.
24512 (grub_vbe_bios_get_memory_window): Likewise.
24513 (grub_vbe_bios_set_scanline_length): Likewise.
24514 (grub_vbe_bios_get_scanline_length): Likewise.
24515 (grub_vbe_bios_get_display_start): Likewise.
24516 (grub_vbe_bios_set_palette_data): Likewise.
24517
24518 * normal/cmdline.c (cl_set_pos): Refresh the screen.
24519 (cl_insert): Likewise.
24520 (cl_delete): Likewise.
24521
24522 * term/gfxterm.c: New file.
24523
24524 * term/i386/pc/vesafb.c: Removed file.
24525
24526 * video/video.c: New file.
24527
24528 * video/i386/pc/vbe.c (real2pm): Added new function.
24529 (grub_video_vbe_draw_pixel): Likewise.
24530 (grub_video_vbe_get_video_ptr): Likewise.
24531 (grub_video_vbe_get_pixel): Likewise
24532 (grub_video_vbe_init): Likewise.
24533 (grub_video_vbe_fini): Likewise.
24534 (grub_video_vbe_setup): Likewise.
24535 (grub_video_vbe_get_info): Likewise.
24536 (grub_video_vbe_set_palette): Likewise.
24537 (grub_video_vbe_get_palette): Likewise.
24538 (grub_video_vbe_set_viewport): Likewise.
24539 (grub_video_vbe_get_viewport): Likewise.
24540 (grub_video_vbe_map_color): Likewise.
24541 (grub_video_vbe_map_rgb): Likewise.
24542 (grub_video_vbe_map_rgba): Likewise.
24543 (grub_video_vbe_unmap_color): Likewise.
24544 (grub_video_vbe_fill_rect): Likewise.
24545 (grub_video_vbe_blit_glyph): Likewise.
24546 (grub_video_vbe_blit_bitmap): Likewise.
24547 (grub_video_vbe_blit_render_target): Likewise.
24548 (grub_video_vbe_scroll): Likewise.
24549 (grub_video_vbe_swap_buffers): Likewise.
24550 (grub_video_vbe_create_render_target): Likewise.
24551 (grub_video_vbe_delete_render_target): Likewise.
24552 (grub_video_vbe_set_active_render_target): Likewise.
24553 (grub_vbe_set_pixel_rgb): Remove function.
24554 (grub_vbe_set_pixel_index): Likewise.
24555 (index_color_mode): Remove static variable.
24556 (active_mode): Likewise.
24557 (framebuffer): Likewise.
24558 (bytes_per_scan_line): Likewise.
24559 (grub_video_vbe_adapter): Added new static variable.
24560 (framebuffer): Likewise.
24561 (render_target): Likewise.
24562 (initial_mode): Likewise.
24563 (mode_in_use): Likewise.
24564 (mode_list): Likewise.
24565
24566 2006-03-10 Marco Gerards <marco@gnu.org>
24567
24568 * configure.ac (AC_INIT): Bumped to 1.93.
24569
24570 * DISTLIST: Added `include/grub/hfs.h'.
24571
24572 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
24573
24574 * boot/i386/pc/boot.S (general_error): Before looping, try INT
24575 18H, which might help the BIOS falling back to next boot media.
24576
24577 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
24578
24579 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
24580 Poe Chen <poe.poechen@gmail.com>.
24581
24582 2006-01-17 Marco Gerards <marco@gnu.org>
24583
24584 * include/grub/normal.h: Include <grub/script.h>.
24585 (grub_command_list): Removed struct.
24586 (grub_command_list_t): Removed type.
24587 (grub_menu_entry): Remove members `num' and `command_list'. Add
24588 members `commands' and `sourcecode'.
24589 * include/grub/script.h: Add inclusion guards.
24590 (grub_script_cmd_menuentry): New struct.
24591 (grub_script_execute_menuentry): New prototype.
24592 (grub_script_lexer_record_start): Likewise.
24593 (grub_script_lexer_record_stop): Likewise.
24594 * normal/execute.c (grub_script_execute_menuentry): New function.
24595 * normal/lexer.c (record, recording, recordpos, recordlen): New
24596 variables.
24597 (grub_script_lexer_record_start): New function.
24598 (grub_script_lexer_record_stop): Likewise.
24599 (recordchar): Likewise.
24600 (nextchar): Likewise.
24601 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
24602 2048 as the buffer size. Add the tokens `menuentry' and `@'.
24603 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
24604 (current_menu): New variable.
24605 (free_menu): Mainly rewritten.
24606 (grub_normal_menu_addentry): New function.
24607 (read_config_file): Rewritten.
24608 * normal/menu.c (run_menu_entry): Mainly rewritten.
24609 * normal/menu_entry.c (make_screen): Rewritten the code to insert
24610 the menu entry.
24611 (run): Mainly rewritten.
24612 * normal/parser.y (menu_entry): New variable.
24613 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
24614 (menuentry): New rule.
24615 (command): Add `menuentry'.
24616 (if_statement): Allow additional returns before `fi'.
24617 * normal/script.c (grub_script_create_cmdmenu): New function.
24618
24619 2006-01-03 Marco Gerards <marco@gnu.org>
24620
24621 * INSTALL: GNU Bison is required.
24622 * configure.ac: Rewritten the test to detect Bison.
24623 * Makefile.in (YACC): New variable. Reported by Xun Sun
24624 <xun.sun.cn@gmail.com>.
24625
24626 2006-01-03 Marco Gerards <marco@gnu.org>
24627
24628 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
24629 the HFS+ filesystem to filesystem blocks.
24630 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
24631 GCC warning is silenced.
24632
24633 2006-01-03 Marco Gerards <marco@gnu.org>
24634
24635 * partmap/apple.c (apple_partition_map_iterate): Convert the data
24636 read from disk from big endian to host byte order.
24637
24638 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
24639
24640 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
24641 documentation.
24642 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
24643 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
24644 embedded HFS+ filesystem.
24645 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
24646 (grub_hfs_sblock): Move from here...
24647 * include/grub/hfs.h: To here... New file.
24648 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
24649 documentation.
24650 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
24651 New macros.
24652 (grub_hfsplus_volheader): Change type of member `magic' to
24653 `grub_uint16_t'.
24654 (grub_hfsplus_data): Add new member `embedded_offset'.
24655 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
24656 returned block.
24657 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
24658 Calculate the offset.
24659
24660 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24661
24662 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
24663 Removed.
24664 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
24665
24666 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24667
24668 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
24669 ENV->NAME is NULL after allocating ENV->VALUE.
24670
24671 2005-12-25 Marco Gerards <marco@gnu.org>
24672
24673 * kern/env.c (grub_env_set): Rewritten the error handling code.
24674
24675 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24676
24677 * geninit.sh: Made more robust, and more portable.
24678
24679 2005-12-25 Marco Gerards <marco@gnu.org>
24680
24681 Add support for Apple HFS+ filesystems.
24682
24683 * fs/hfsplus.c: New file.
24684
24685 * DISTLIST: Added `fs/hfsplus.c'.
24686
24687 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
24688 (hfsplus_mod_SOURCES): New variable.
24689 (hfsplus_mod_CFLAGS): Likewise.
24690 (hfsplus_mod_LDFLAGS): Likewise.
24691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
24692 (grub_setup_SOURCES): Likewise.
24693 (grub_mkdevicemap_SOURCES): Likewise.
24694 (grub_emu_SOURCES): Likewise.
24695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24696
24697 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
24698
24699 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
24700
24701 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
24702
24703 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
24704 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
24705 include/grub/parser.h, include/grub/script.h, kern/parser.c,
24706 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
24707 normal/lexer.c, normal/parser.y, normal/script.c, and
24708 partmap/gpt.c.
24709 Removed kern/sparc64/cache.c.
24710
24711 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
24712 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
24713 grub_emu_init.c.
24714
24715 * configure.ac (AC_INIT): Bumped to 1.92.
24716
24717 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
24718
24719 * kern/err.c (grub_error_push): Added new function to support error
24720 stacks.
24721 (grub_error_pop): Likewise.
24722 (grub_error_stack_items): New local variable to support error stacks.
24723 (grub_error_stack_pos): Likewise.
24724 (grub_error_stack_assert): Likewise.
24725 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
24726 stack depth.
24727 (grub_print_error): Added support to print errors from error stack.
24728
24729 * include/grub/err.h (grub_error_push): Added function prototype.
24730 (grub_error_pop): Likewise.
24731
24732 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
24733
24734 * configure.ac: Accept `powerpc64' as host_cpu.
24735 (amd64): Rename to `biarch32'.
24736
24737 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
24738 non-cacheline-aligned addresses.
24739
24740 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
24741 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
24742 if `size' is non-zero.
24743
24744 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
24745
24746 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
24747 and `cd' to make sure the filename is not prefixed with a
24748 directory name.
24749 (pkgdata_MODULES): Add `gpt.mod'.
24750 (gpt_mod_SOURCES): New variable.
24751 (gpt_mod_CFLAGS): Likewise.
24752 (gpt_mod_LDFLAGS): Likewise.
24753
24754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
24755
24756 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
24757 New macro.
24758
24759 * partmap/gpt.c: New file.
24760
24761 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
24762 GPT partition map is detected.
24763
24764 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
24765
24766 * commands/i386/pc/play.c: New file.
24767 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
24768 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
24769 macros.
24770
24771 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
24772
24773 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
24774 ((unused))' to silence gcc warning.
24775
24776 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
24777
24778 * configure.ac: Correct `AC_PROG_YACC' test.
24779
24780 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24781
24782 * util/powerpc/ieee1275/grub-install.in: Run the mount point
24783 check before installing files.
24784
24785 2005-11-22 Mike Small <smallm@panix.com>
24786
24787 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
24788 number regex so multidigit numbers are recognized correctly.
24789
24790 2005-11-22 Mike Small <smallm@panix.com>
24791
24792 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
24793 debugging message before attempting to claim memory.
24794 (grub_rescue_cmd_initrd): Add a claim debugging message and try
24795 multiple addresses in case of failure.
24796
24797 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24798
24799 * term/tparm.c (get_space): Remove empty `if' statement.
24800
24801 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
24802
24803 * kern/parser.c (check_varstate): Rename `state' to 's'.
24804
24805 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24806
24807 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
24808 variable definitions to the beginning of each function. Sort stack
24809 variables by size.
24810 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
24811 `buf' argument to `char *'.
24812
24813 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
24814
24815 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
24816 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24817 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24818 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24819 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24820 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24821 configfile.mod, search.mod, gzio.mod and test.mod.
24822 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24823 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24824 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24825 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24826 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24827 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24828 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24829 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24830 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24831 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24832 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24833 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24834 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24835 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24836 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24837 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24838 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24839 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24840 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24841 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24842 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24843 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24844 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
24845
24846 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
24847 `grep --include'.
24848 (pkgdata_MODULES): Add test.mod.
24849
24850 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24851
24852 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
24853 appending to variables with "+=".
24854 (PModule): Use full pathname to generate *.lst filenames.
24855
24856 * Makefile.in: Fixed list rules moved from genmk.rb.
24857 (.DELETE_ON_ERROR): New special target.
24858 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
24859
24860 * conf/i386-pc.rmk: Include conf/common.mk.
24861 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
24862 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
24863 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
24864 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
24865 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
24866 configfile.mod, search.mod, gzio.mod and test.mod.
24867 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
24868 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
24869 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
24870 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
24871 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
24872 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
24873 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
24874 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
24875 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
24876 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
24877 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24878 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24879 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
24880 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
24881 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
24882 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
24883 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24884 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
24885 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
24886 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
24887 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
24888 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
24889 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
24890 here...
24891 * conf/common.rmk: ... to here. New file.
24892
24893 * conf/common.mk: New file.
24894
24895 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
24896
24897 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
24898 (grub_script.tab.c): ... here.
24899
24900 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
24901 (grub_script.tab.c): ... here.
24902
24903 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
24904 (grub_script.tab.c): ... here.
24905
24906 * normal/command.c (grub_command_find): Fixed a memory leak of
24907 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
24908
24909 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24910
24911 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24912 "@" which marks the start of a comment on ARM.
24913 (VARIABLE): Likewise.
24914
24915 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24916
24917 Add support for Linux/ADFS partition tables.
24918
24919 * partmap/acorn.c: New file.
24920
24921 * include/grub/acorn_filecore.h: Likewise.
24922
24923 * DISTLIST: Added `partmap/acorn.c' and
24924 `include/grub/acorn_filecore.h'.
24925
24926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24927 `partmap/acorn.c'.
24928 (pkgdata_MODULES): Add `acorn.mod'.
24929 (acorn_mod_SOURCES): New variable.
24930 (acorn_mod_CFLAGS): Likewise.
24931
24932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24933 `partmap/acorn.c'.
24934 (pkgdata_MODULES): Add `acorn.mod'.
24935 (acorn_mod_SOURCES): New variable.
24936 (acorn_mod_CFLAGS): Likewise.
24937
24938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24939 (pkgdata_MODULES): Add `acorn.mod'.
24940 (acorn_mod_SOURCES): New variable.
24941 (acorn_mod_CFLAGS): Likewise.
24942 (acorn_mod_LDFLAGS): Likewise.
24943
24944 * include/types.h (grub_disk_addr_t): New typedef.
24945
24946 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
24947
24948 * geninit.sh: New file.
24949
24950 * geninitheader.sh: Likewise.
24951
24952 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24953 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24954 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24955 * commands/configfile.c (grub_configfile_init)
24956 (grub_configfile_fini): Likewise.
24957 * commands/default.c (grub_default_init, grub_default_fini):
24958 Likewise.
24959 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24960 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24961 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24962 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24963 Likewise.
24964 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24965 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24966 Likewise.
24967 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
24968 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
24969 Likewise.
24970 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24971 Likewise.
24972 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
24973 Likewise.
24974 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24975 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24976 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24977 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24978 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24979 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24980 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24981 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24982 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24983 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24984 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24985 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24986 * partmap/amiga.c (grub_amiga_partition_map_init)
24987 (grub_amiga_partition_map_fini): Likewise.
24988 * partmap/apple.c (grub_apple_partition_map_init)
24989 (grub_apple_partition_map_fini): Likewise.
24990 * partmap/pc.c (grub_pc_partition_map_init)
24991 (grub_pc_partition_map_fini): Likewise.
24992 * partmap/sun.c (grub_sun_partition_map_init,
24993 grub_sun_partition_map_fini): Likewise.
24994 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24995 Likewise.
24996
24997 * util/grub-emu.c: Include <grub_modules_init.h>.
24998 (main): Don't initialize and de-initialize any modules directly,
24999 use `grub_init_all' and `grub_fini_all' instead.
25000
25001 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25002 `grub_vesafb_mod_init'.
25003 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25004 all users.
25005 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25006 `grub_vga_mod_init'. Updated all users.
25007 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25008
25009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25010 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25011 rules.
25012
25013 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25014 Generate a function to initialize the module in utilities.
25015 Updated all callers.
25016 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25017 initialize the module in utilities. Updated all callers.
25018
25019 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25020
25021 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25022 escape sequence and a literal ^L to clear the screen.
25023
25024 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25025 when returning from Open Firmware.
25026
25027 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25028
25029 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25030 (grub_ofconsole_height): Likewise.
25031 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25032 manually insert a '\n'.
25033 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25034 `grub_ofconsole_height'. Return early if these are already set.
25035
25036 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25037
25038 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25039 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25040 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25041 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25042 and `normal/script.c'.
25043 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25044 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25045 (test_mod_SOURCES): New variable.
25046 (test_mod_CFLAGS): Likewise.
25047 (test_mod_LDFLAGS): Likewise.
25048 (pkgdata_MODULES): Add `test.mod'.
25049 (grub_script.tab.c): New rule.
25050 (grub_script.tab.h): Likewise.
25051
25052 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25053
25054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25055 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25056 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25057 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25058 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25059 (test_mod_SOURCES): New variable.
25060 (test_mod_CFLAGS): Likewise.
25061 (pkgdata_MODULES): Add `test.mod'.
25062 (grub_script.tab.c): New rule.
25063 (grub_script.tab.h): Likewise.
25064
25065 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25066
25067 Add initial scripting support.
25068
25069 * commands/test.c: New file.
25070 * include/grub/script.h: Likewise.
25071 * normal/execute.c: Likewise.
25072 * normal/function.c: Likewise.
25073 * normal/lexer.c: Likewise.
25074 * normal/parser.y: Likewise.
25075 * normal/script.c: Likewise.
25076
25077 * configure.ac: Add `AC_PROG_YACC' test.
25078
25079 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25080 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25081 `normal/function.c' and `normal/script.c'.
25082 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25083 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25084 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25085 variables.
25086 (pkgdata_MODULES): Add `test.mod'.
25087 (grub_script.tab.c): New rule.
25088 (grub_script.tab.h): Likewise.
25089
25090 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25091
25092 * include/grub/normal.h (grub_test_init): New prototype.
25093 (grub_test_fini): Likewise.
25094
25095 * normal/command.c: Include <grub/script.h>.
25096 (grub_command_execute): Rewritten.
25097
25098 * util/grub-emu.c (main): Call `grub_test_init' and
25099 `grub_test_fini'.
25100
25101 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25102
25103 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
25104 to 0.
25105 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
25106 there are no pending characters.
25107
25108 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25109
25110 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
25111 `grub_strndup' to drop device arguments. Replace unnecessary
25112 `grub_strndup' with `grub_strdup'.
25113
25114 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
25115
25116 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
25117 `debug' environment variable has been set.
25118
25119 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
25120
25121 * Makefile.in (install-local): Use $(DATA).
25122 (uninstall): Likewise.
25123 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
25124 (sbin_UTILITIES): ... to here.
25125 (sbin_SCRIPTS): New variable.
25126 (grub_install_SOURCES): New variable.
25127 * util/powerpc/ieee1275/grub-install.in: New file.
25128 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
25129 variable.
25130 (add_segments): Call `grub_util_get_path'.
25131
25132 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25133
25134 From Timothy Baldwin:
25135 * commands/ls.c (grub_ls_list_files): Close FILE with
25136 grub_file_close.
25137 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
25138
25139 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
25140
25141 * include/grub/parser.h: New file.
25142
25143 * kern/parser.c: Likewise.
25144
25145 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
25146 (grub_setup_SOURCES): Likewise.
25147 (grub_probefs_SOURCES): Likewise.
25148 (grub_emu_SOURCES): Likewise.
25149 (kernel_img_HEADERS): Add `parser.h'.
25150
25151 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25152 (grub_emu_SOURCES): Add `kern/parser.c'.
25153 (grubof_SOURCES): Likewise.
25154
25155 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
25156 (grubof_SOURCES): Add `kern/parser.c'.
25157
25158 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
25159
25160 * kern/misc.c (grub_split_cmdline): Removed function.
25161
25162 * kern/rescue.c: Include <grub/parser.h>.
25163 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
25164 of `grub_split_cmdline'.
25165
25166 * normal/command.c: Include <grub/parser.h>.
25167 (grub_command_execute): Use `grub_parser_split_cmdline' instead
25168 of `grub_split_cmdline'.
25169
25170 * normal/completion.c: Include <grub/parser.h>.
25171 (cmdline_state): New variable.
25172 (iterate_dir): End the filename with a quote depending on the
25173 command line state.
25174 (get_state): new function.
25175 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
25176 split the arguments and determine the current argument. When the
25177 argument string is not quoted, escape all spaces.
25178
25179 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25180
25181 * normal/sparc64/setjmp.S: New file.
25182
25183 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25184
25185 * include/grub/sparc64/libgcc.h: New file.
25186 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
25187 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
25188 normal/sparc64/setjmp.c.
25189
25190 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
25191
25192 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
25193 * kern/sparc64/cache.S: New file.
25194 * kern/sparc64/cache.c: Removed.
25195 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
25196 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
25197 -mtune=ultrasparc.
25198 (COMMON_LDFLAGS): Add -melf64_sparc.
25199 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
25200 (grubof_SOURCES): Use cache.S instead of cache.c.
25201 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
25202 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
25203 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
25204 commented though.
25205 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
25206 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
25207 (linux_mod_CFLAGS): Commented out.
25208 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
25209 out because module isn't built.
25210 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
25211 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
25212 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
25213 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
25214 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
25215 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25216 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25217 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
25218 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
25219 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
25220 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25221 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25222 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
25223 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
25224
25225 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
25226
25227 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
25228 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
25229 longer, because HFS should not be used on PC.
25230
25231 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25232
25233 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
25234 consistently within the loop.
25235
25236 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
25237
25238 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
25239 directory can not be read.
25240
25241 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25242
25243 * configure.ac (AC_INIT): Increase the version number to 1.91.
25244
25245 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
25246 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
25247 term/i386/pc/serial.c.
25248
25249 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25250
25251 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
25252 file size must be permitted.
25253
25254 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
25255 between %ah and %al.
25256
25257 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25258
25259 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
25260 grub_uint64_t.
25261 Call the hook with a NUL-terminated filename.
25262 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
25263 grub_cpu_to_be32.
25264
25265 * kern/term.c (cursor_state): New variable.
25266 (grub_term_set_current): Reset the cursor state on a new
25267 terminal.
25268 (grub_setcursor): Rewritten to use CURSOR_STATE.
25269 (grub_getcursor): New function.
25270
25271 * include/grub/term.h (grub_getcursor): New prototype.
25272
25273 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
25274 integers on ARM. Reported by Timothy Baldwin
25275 <T.E.Baldwin99@members.leeds.ac.uk>.
25276
25277 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
25278
25279 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
25280 allocated.
25281 (grub_sfs_dir): Likewise.
25282
25283 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
25284
25285 Add support for the SFS filesystem.
25286
25287 * fs/sfs.c: New file.
25288
25289 * DISTLIST: Added `fs/sfs.c'.
25290
25291 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
25292 (grub_probefs_SOURCES): Likewise.
25293 (grub_emu_SOURCES): Likewise.
25294 (pkgdata_MODULES): Add `sfs.mod'.
25295 (sfs_mod_SOURCES): New variable.
25296 (sfs_mod_CFLAGS): Likewise.
25297 (sfs_mod_LDFLAGS): Likewise.
25298
25299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
25300 (pkgdata_MODULES): Add `sfs.mod'.
25301 (sfs_mod_SOURCES): New variable.
25302 (sfs_mod_CFLAGS): Likewise.
25303
25304 * util/grub-emu.c (main): Call `grub_sfs_init' and
25305 `grub_sfs_fini'.
25306
25307 * include/grub/fs.h (grub_sfs_init): New prototype.
25308 (grub_sfs_fini): Likewise.
25309
25310 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
25311
25312 Add support for the AFFS filesystem.
25313
25314 * fs/affs.c: New file.
25315
25316 * DISTLIST: Added `fs/affs.c'.
25317
25318 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
25319 (grub_probefs_SOURCES): Likewise.
25320 (grub_emu_SOURCES): Likewise.
25321 (pkgdata_MODULES): Add `affs.mod'.
25322 (affs_mod_SOURCES): New variable.
25323 (affs_mod_CFLAGS): Likewise.
25324 (affs_mod_LDFLAGS): Likewise.
25325
25326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
25327 (pkgdata_MODULES): Add `affs.mod'.
25328 (affs_mod_SOURCES): New variable.
25329 (affs_mod_CFLAGS): Likewise.
25330
25331 * util/grub-emu.c (main): Call `grub_affs_init' and
25332 `grub_affs_fini'.
25333
25334 * include/grub/fs.h (grub_affs_init): New prototype.
25335 (grub_affs_fini): Likewise.
25336
25337 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25338
25339 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
25340
25341 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
25342
25343 * configure.ac: Accept `x86_64' as host_cpu. In that case add
25344 `-m32' to CFLAGS.
25345
25346 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
25347 linking.
25348
25349 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
25350 (COMMON_LDFLAGS): New variable.
25351 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
25352 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
25353 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
25354 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
25355 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
25356 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
25357 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
25358 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
25359 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
25360 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
25361 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
25362 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
25363 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
25364 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
25365 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
25366 variables.
25367 (normal_mod_ASFLAGS): Add `-m32'.
25368
25369 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
25370 (grub_host_size_t, grub_host_ssize_t): New types.
25371 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
25372 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
25373 `GRUB_HOST_SIZEOF_VOID_P'.
25374
25375 * include/grub/kernel.h (struct grub_module_header): Type of
25376 member offset changed to `grub_host_off_t'. Type of member size
25377 changed to `grub_host_size_t'.
25378 (struct grub_module_info): Type of member offset changed to
25379 `grub_host_off_t'. Type of member size changed to
25380 `grub_host_size_t'.
25381
25382 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
25383
25384 Make GRUB's kernel compliant to Multiboot Specification.
25385
25386 * kern/i386/pc/startup.S (multiboot_header): New label.
25387 (multiboot_entry): Likewise.
25388 (multiboot_trampoline): Likewise.
25389
25390 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25391 Increased to 0x4A0.
25392
25393 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
25394 put parentheses after a question mark.
25395 [!GRUB_UTIL] (my_mod): New variable.
25396
25397 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
25398
25399 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
25400
25401 Adds support for the XFS filesystem. Btrees are not supported
25402 yet.
25403
25404 * fs/xfs.c: New file.
25405
25406 * DISTLIST: Added `fs/xfs.c'.
25407
25408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
25409 (grub_probefs_SOURCES): Likewise.
25410 (grub_emu_SOURCES): Likewise.
25411 (pkgdata_MODULES): Add `xfs.mod'.
25412 (xfs_mod_SOURCES): New variable.
25413 (xfs_mod_CFLAGS): Likewise.
25414
25415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
25416 (pkgdata_MODULES): Add `xfs.mod'.
25417 (xfs_mod_SOURCES): New variable.
25418 (xfs_mod_CFLAGS): Likewise.
25419
25420 * util/grub-emu.c (main): Call `grub_xfs_init' and
25421 `grub_xfs_fini'.
25422
25423 * include/grub/fs.h (grub_xfs_init): New prototype.
25424 (grub_xfs_fini): Likewise.
25425
25426
25427 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
25428
25429 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
25430 color modes, allow greater than 16 colors to be configured as
25431 a default palette.
25432
25433 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25434
25435 * normal/completion.c (complete_arguments): Add the qualifier
25436 const into OPTIONS.
25437
25438 From Omniflux <omniflux+lists@omniflux.com>:
25439 * include/grub/terminfo.h: New file.
25440 * include/grub/tparm.h: Likewise.
25441 * include/grub/i386/pc/serial.h: Likewise.
25442 * term/terminfo.c: Likewise.
25443 * term/tparm.c: Likewise.
25444 * term/i386/pc/serial.c: Likewise.
25445 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
25446 serial.mod.
25447 (terminfo_mod_SOURCES): New variable.
25448 (terminfo_mod_CFLAGS): Likewise.
25449 (serial_mod_SOURCES): Likewise.
25450 (serial_mod_CFLAGS): Likewise.
25451
25452 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
25453
25454 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
25455 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
25456 and kern/powerpc/ieee1275/cmain.c, respectively.
25457
25458 * boot/powerpc/ieee1275/crt0.S: Moved to ...
25459 * kern/powerpc/ieee1275/crt0.S: ... here.
25460
25461 * boot/powerpc/ieee1275/cmain.c: Moved to ...
25462 * kern/powerpc/ieee1275/cmain.c: ... here.
25463
25464 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
25465 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
25466 instead of boot/powerpc/ieee1275/crt0.S and
25467 boot/powerpc/ieee1275/cmain.c, respectively.
25468
25469 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
25470 sectors. It was not used anyway.
25471
25472 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25473
25474 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
25475 `unused parameter' warning.
25476
25477 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
25478
25479 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
25480 function.
25481 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
25482 getcharwidth.
25483
25484 2005-08-28 Marco Gerards <metgerards@student.han.nl>
25485
25486 * include/grub/normal.h (enum grub_completion_type): Added
25487 `GRUB_COMPLETION_TYPE_ARGUMENT'.
25488
25489 * normal/cmdline.c (print_completion): Handle
25490 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
25491 * normal/menu_entry.c (store_completion): Likewise.
25492
25493 * normal/completion.c (complete_arguments): New function.
25494 (grub_normal_do_completion): Call `complete_arguments' when the
25495 current words start with a dash.
25496
25497 2005-08-27 Marco Gerards <metgerards@student.han.nl>
25498
25499 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
25500 `gzio.mod' instead of `io.mod').
25501
25502 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
25503
25504 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
25505 (DISTDIRS): Added io and video.
25506 Rewrite the search routine to make an output consistently.
25507
25508 * DISTLIST: Added conf/sparc64-ieee1275.mk,
25509 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
25510 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
25511 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
25512 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
25513 util/powerpc/ieee1275/misc.c.
25514
25515 * include/grub/gzio.h: New file.
25516 * io/gzio.c: Likewise.
25517
25518 * kern/file.c (grub_file_close): Call grub_device_close only if
25519 FILE->DEVICE is not NULL.
25520
25521 * include/grub/mm.h [!NULL] (NULL): New macro.
25522
25523 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
25524
25525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
25526 (pkgdata_MODULES): Added gzio.mod.
25527 (gzio_mod_SOURCES): New variable.
25528 (gzio_mod_CFLAGS): Likewise.
25529
25530 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
25531 (pkgdata_MODULES): Added gzio.mod.
25532 (gzio_mod_SOURCES): New variable.
25533 (gzio_mod_CFLAGS): Likewise.
25534
25535 * commands/cat.c: Include grub/gzio.h.
25536 (grub_cmd_cat): Use grub_gzfile_open instead of
25537 grub_file_open.
25538
25539 * commands/cmp.c: Include grub/gzio.h.
25540 (grub_cmd_cmp): Use grub_gzfile_open instead of
25541 grub_file_open.
25542
25543 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
25544 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
25545 grub_file_open.
25546 (grub_rescue_cmd_module): Likewise.
25547
25548 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25549
25550 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
25551 kern/sparc64/ieee1275/init.c because it contains _start.
25552 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
25553
25554 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
25555
25556 * configure.ac: Add support for sparc64 host with ieee1275
25557 firmware.
25558 * configure: Generated from configure.ac.
25559 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
25560 instead of int.
25561 (grub_ofdisk_read): Likewise.
25562 (grub_ofdisk_open): Use %p to print pointer values, and cast the
25563 pointers as (void *) to remove a warning.
25564 (grub_ofdisk_close): Likewise.
25565 (grub_ofdisk_read): Likewise.
25566 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
25567 returns, so make it return void to remove a warning.
25568 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
25569 Corresponding prototype change.
25570 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
25571 values, and cast the pointers as (void *) to remove a warning.
25572 (grub_mm_dump): Likewise.
25573 * conf/sparc64-ieee1275.mk: New file.
25574 * conf/sparc64-ieee1275.rmk: Likewise.
25575 * include/grub/sparc64/setjmp.h: Likewise.
25576 * include/grub/sparc64/types.h: Likewise.
25577 * include/grub/sparc64/ieee1275/console.h: Likewise.
25578 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25579 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25580 * include/grub/sparc64/ieee1275/time.h: Likewise.
25581 * kern/sparc64/cache.c: Likewise.
25582 * kern/sparc64/dl.c: Likewise.
25583 * kern/sparc64/ieee1275/init.c: Likewise.
25584 * kern/sparc64/ieee1275/openfw.c: Likewise.
25585
25586 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25587
25588 * util/console.c (grub_ncurses_putchar): If C is greater than
25589 0x7f, set C to a question mark.
25590 (grub_ncurses_getcharwidth): New function.
25591 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
25592 getcharwidth.
25593
25594 * normal/menu.c (print_entry): Made aware of Unicode. First,
25595 convert TITLE to UCS-4, and predict the cursor position by
25596 grub_getcharwidth.
25597
25598 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
25599 const to SRC.
25600 * kern/misc.c (grub_utf16_to_utf8): Likewise.
25601
25602 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25603
25604 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
25605 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25606 grub_strcat.
25607
25608 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
25609 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
25610 grub_strcpy and grub_strlen. Take it into account that a space
25611 character is inserted as a delimiter.
25612
25613 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25614
25615 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
25616 invalid magic in the error.
25617
25618 * commands/search.c: New file.
25619
25620 * util/grub-emu.c (main): Call grub_search_init and
25621 grub_search_fini.
25622
25623 * kern/rescue.c (grub_rescue_print_disks): Removed.
25624 (grub_rescue_print_devices): New function.
25625 (grub_rescue_cmd_ls): Use grub_device_iterate with
25626 grub_rescue_print_devices instead of grub_disk_dev_iterate with
25627 grub_rescue_print_disks.
25628
25629 * kern/partition.c (grub_partition_iterate): Return the result of
25630 PARTMAP->ITERATE instead of GRUB_ERRNO.
25631
25632 * kern/device.c: Include grub/partition.h.
25633 (grub_device_iterate): New function.
25634
25635 * include/grub/partition.h (grub_partition_iterate): Return int
25636 instead of grub_err_t.
25637
25638 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
25639 prototype.
25640 [GRUB_UTIL] (grub_search_fini): Likewise.
25641
25642 * include/grub/device.h (grub_device_iterate): New prototype.
25643
25644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25645 commands/search.c.
25646 (pkgdata_MODULES): Added search.mod.
25647 (search_mod_SOURCES): New variable.
25648 (search_mod_CFLAGS): Likewise.
25649
25650 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
25651 (pkgdata_MODULES): Added search.mod.
25652 (search_mod_SOURCES): New variable.
25653 (search_mod_CFLAGS): Likewise.
25654
25655 * commands/ls.c (grub_ls_list_disks): Renamed to ...
25656 (grub_ls_list_devices): ... this, and use grub_device_iterate.
25657 All callers changed.
25658
25659 * DISTLIST: Added commands/search.c.
25660
25661 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
25662
25663 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
25664 conversion.
25665 (grub_getcharwidth): New function.
25666
25667 * kern/misc.c (grub_utf8_to_ucs4): New function.
25668
25669 * include/grub/term.h (struct grub_term): Added a new member
25670 "getcharwidth".
25671 (grub_getcharwidth): New prototype.
25672
25673 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
25674
25675 * term/i386/pc/console.c (map_char): New function. Segregated from
25676 grub_console_putchar.
25677 (grub_console_putchar): Use map_char.
25678 (grub_console_getcharwidth): New function.
25679 (grub_console_term): Specified grub_console_getcharwidth as
25680 getcharwidth.
25681
25682 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
25683 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
25684
25685 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
25686 GRUB_ERRNO.
25687 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
25688 on grub_strtoul completely.
25689 (write_char): Declare local variables in the beginning of the
25690 function.
25691 (grub_vesafb_getcharwidth): New function.
25692 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
25693 getcharwidth.
25694
25695 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
25696
25697 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
25698 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
25699 commands/i386/pc/vbetest.c.
25700
25701 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
25702 call grub_vbe_get_controller_info again, because the returned
25703 information is volatile.
25704 (grub_vbe_set_video_mode): Mostly rewritten.
25705 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
25706 grub_vbe_status_t correctly.
25707 (grub_vbe_get_video_mode_info): Likewise.
25708 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
25709 several if statements.
25710
25711 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
25712 * commands/i386/pc/vbeinfo.c: ... this.
25713
25714 * commands/i386/pc/vbe_test.c: Renamed to ...
25715 * commands/i386/pc/vbetest.c: ... this.
25716
25717 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
25718 ...
25719 (grub_cmd_vbeinfo): ... this. Save video modes before
25720 iterating. Skip a video mode, if it is not available, not enough
25721 information is given or it is monochrome. Show the memory
25722 model. Leave the interpretation of MODEVAR to grub_strtoul
25723 completely.
25724 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
25725 (GRUB_MOD_FINI): Likewise.
25726
25727 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
25728 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
25729 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
25730 duplicated grub_env_get. Leave the interpretation of MODEVAR to
25731 grub_strtoul completely.
25732 (real2pm): Removed.
25733 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
25734 (GRUB_MOD_FINI): Likewise.
25735
25736 * normal/misc.c: Include grub/mm.h.
25737
25738 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
25739 vbe_list_modes with vbetest.mod and vbeinfo.mod.
25740 (vbe_list_modes_mod_SOURCES): Removed.
25741 (vbe_list_modes_mod_CFLAGS): Likewise.
25742 (vbe_test_mod_SOURCES): Likewise.
25743 (vbe_test_mod_CFLAGS): Likewise.
25744 (vbeinfo_mod_SOURCES): New variable.
25745 (vbeinfo_mod_CFLAGS): Likewise.
25746 (vbetest_mod_SOURCES): Likewise.
25747 (vbetest_mod_CFLAGS): Likewise.
25748
25749 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
25750
25751 * normal/misc.c: New file.
25752
25753 * DISTLIST: Added normal/misc.c.
25754
25755 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
25756 DISK to HOOK. Call HOOK with DISK.
25757 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25758 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25759 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25760
25761 * normal/menu_entry.c (struct screen): Added a new member
25762 "completion_shown".
25763 (completion_buffer): New global variable.
25764 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
25765 (store_completion): New function.
25766 (complete): Likewise.
25767 (clear_completions): Likewise.
25768 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
25769 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
25770 a tab, call complete.
25771
25772 * normal/completion.c (disk_dev): Removed.
25773 (print_simple_completion): Likewise.
25774 (print_partition_completion): Likewise.
25775 (print_func): New global variable.
25776 (add_completion): Do not take the arguments WHAT or PRINT any
25777 longer. Added a new argument TYPE. Instead of printing directly,
25778 call PRINT_FUNC if not NULL.
25779 All callers changed.
25780 (complete_device): Use a local variable DEV instead of
25781 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
25782 (grub_normal_do_completion): Take a new argument HOOK. Do not
25783 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
25784 empty string, return NULL instead.
25785 All callers changed.
25786
25787 * normal/cmdline.c (print_completion): New function.
25788
25789 * kern/partition.c (grub_partition_iterate): Add an argument DISK
25790 to HOOK.
25791 All callers changed.
25792
25793 * kern/disk.c (grub_print_partinfo): Removed.
25794
25795 * include/grub/partition.h (struct grub_partition_map): Add a new
25796 argument DISK into HOOK of ITERATE.
25797 (grub_partition_iterate): Add a new argument DISK to HOOK.
25798
25799 * include/grub/normal.h (enum grub_completion_type): New enum.
25800 (grub_completion_type_t): New type.
25801 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
25802 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
25803 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
25804 (GRUB_COMPLETION_TYPE_FILE): Likewise.
25805 (grub_normal_do_completion): Added a new argument HOOK.
25806 (grub_normal_print_device_info): New prototype.
25807
25808 * include/grub/disk.h (grub_print_partinfo): Removed.
25809
25810 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
25811 (normal_mod_SOURCES): Likewise.
25812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25813 (normal_mod_SOURCES): Likewise.
25814
25815 * commands/ls.c (grub_ls_list_disks): Use
25816 grub_normal_print_device_info instead of grub_print_partinfo. Free
25817 PNAME.
25818 (grub_ls_list_files): Use grub_normal_print_device_info instead of
25819 duplicating the code.
25820
25821 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25822
25823 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
25824 follow GCS more precisely.
25825 * commands/i386/pc/vbe_test.c: Likewise.
25826 * include/grub/i386/pc/vbe.h: Likewise.
25827 * term/i386/pc/vesafb.c: Likewise.
25828 * video/i386/pc/vbe.c: Likewise.
25829
25830 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
25831
25832 * DISTLIST: Added term/i386/pc/vesafb.c
25833 DISTLIST: Added video/i386/pc/vbe.c
25834 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
25835 DISTLIST: Added commands/i386/pc/vbe_test.c.
25836 * commands/i386/pc/vbe_list_modes.c: New file.
25837 * commands/i386/pc/vbe_test.c: Likewise.
25838 * term/i386/pc/vesafb.c: Likewise.
25839 * video/i386/pc/vbe.c: Likewise.
25840 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
25841 (grub_vbe_probe) Added prototype.
25842 (grub_vbe_set_video_mode) Likewise.
25843 (grub_vbe_get_video_mode) Likewise.
25844 (grub_vbe_get_video_mode_info) Likewise.
25845 (grub_vbe_set_pixel_rgb) Likewise.
25846 (grub_vbe_set_pixel_index) Likewise.
25847 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
25848 (pkgdata_MODULES): Added vesafb.mod.
25849 (pkgdata_MODULES): Added vbe_list_modes.mod.
25850 (pkgdata_MODULES): Added vbe_test.mod.
25851 (vbe_mod_SOURCES): Added.
25852 (vbe_mod_CFLAGS): Likewise.
25853 (vesafb_mod_SOURCES): Likewise.
25854 (vesafb_mod_CFLAGS): Likewise.
25855 (vbe_list_modes_mod_SOURCES): Likewise.
25856 (vbe_list_modes_mod_CFLAGS): Likewise.
25857 (vbe_test_mod_SOURCES): Likewise.
25858 (vbe_test_mod_CFLAGS): Likewise.
25859
25860 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
25861
25862 * normal/command.c (grub_command_execute): If INTERACTIVE is
25863 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
25864 CMDLINE. Disable the pager if INTERACTIVE is true.
25865 All callers are changed.
25866
25867 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
25868 before reading a config file.
25869 * normal/main.c (read_config_file): Even if a command is not
25870 found, register it if it is within an entry.
25871
25872 * util/grub-emu.c: Include sys/types.h and unistd.h.
25873 (options): Added --hold.
25874 (struct arguments): Added a new member "hold".
25875 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
25876 missing.
25877 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
25878 cleared by a debugger, if it is not zero.
25879
25880 * include/grub/normal.h (grub_command_execute): Add an argument
25881 INTERACTIVE.
25882
25883 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
25884
25885 * DISTLIST: Added include/grub/i386/pc/vbe.h.
25886
25887 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
25888
25889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
25890 program with another one, because the old one didn't detect a bug
25891 in gcc-3.4. Always use regparm 2, because the new test is still
25892 not enough for gcc-4.0. Someone must investigate a simple test
25893 case which detects a bug in gcc-4.0.
25894
25895 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
25896
25897 * DISTLIST: Added normal/completion.c.
25898
25899 * normal/completion.c: New file.
25900
25901 * term/i386/pc/console.c (grub_console_getwh): New function.
25902 (grub_console_term): Assign grub_console_getwh to getwh.
25903
25904 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
25905 function is defined in normal/completion.c as
25906 grub_normal_do_completion.
25907 (grub_cmdline_get): Use grub_normal_do_completion instead of
25908 grub_tab_complete.
25909
25910 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25911 returns non-zero, otherwise return 0.
25912 (grub_partition_iterate): First, probe the partition map. Then,
25913 call ITERATE only for this partition map.
25914
25915 * kern/misc.c (grub_strncmp): Rewritten.
25916
25917 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25918 returns non-zero. Otherwise return 0.
25919
25920 * include/grub/partition.h (grub_partition_map_iterate): Return
25921 int instead of void.
25922
25923 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25924
25925 * include/grub/misc.h (grub_strncmp): Change the type of N to
25926 grub_size_t.
25927
25928 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25929 of void.
25930
25931 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
25932 unsigned explicitly before comparing it with I.
25933
25934 * kern/main.c (grub_env_write_root): Add the attribute unused into
25935 VAR.
25936
25937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25938 normal/completion.c.
25939 (normal_mod_SOURCES): Likewise.
25940 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25941 (normal_mod_SOURCES): Likewise.
25942
25943 * normal/command.c (grub_iterate_commands): If ITERATE returns
25944 non-zero, return one immediately.
25945
25946 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25947
25948 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25949 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25950 descriptions.
25951 (grub_vbe_get_controller_info): New function.
25952 (grub_vbe_get_mode_info): Likewise.
25953 (grub_vbe_set_mode): Likewise.
25954 (grub_vbe_get_mode): Likewise.
25955 (grub_vbe_set_memory_window): Likewise.
25956 (grub_vbe_get_memory_window): Likewise.
25957 (grub_vbe_set_scanline_length): Likewise.
25958 (grub_vbe_get_scanline_length): Likewise.
25959 (grub_vbe_set_display_start): Likewise.
25960 (grub_vbe_get_display_start): Likewise.
25961 (grub_vbe_set_palette_data): Likewise.
25962 * include/grub/i386/pc/vbe.h: New file.
25963
25964 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25965
25966 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25967 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25968 * DISTLIST: Likewise.
25969 * kern/ieee1275/of.c: Moved to ...
25970 * kern/ieee1275/ieee1275.c: ... here.
25971
25972 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25973
25974 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25975 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25976 Pass 0 as `end' parameter to grub_strtoul().
25977
25978 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25979
25980 * include/grub/powerpc/ieee1275/console.h: Do not include
25981 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25982 ifdef.
25983 (grub_console_cur_color): Remove i386-specific prototype.
25984 (grub_console_real_putchar): Likewise.
25985 (grub_console_checkkey): Likewise.
25986 (grub_console_getkey): Likewise.
25987 (grub_console_getxy): Likewise.
25988 (grub_console_gotoxy): Likewise.
25989 (grub_console_cls): Likewise.
25990 (grub_console_setcursor): Likewise.
25991 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25992 Include <grub/machine/console.h>.
25993 * term/ieee1275/ofconsole.c: Likewise.
25994
25995 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25996
25997 * Makefile.in (LIBLZO): New variable.
25998
25999 * configure.ac: Check for LZO version 2.
26000
26001 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26002 lzo/lzo1x.h instead of lzo1x.h.
26003
26004 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26005 of -llzo.
26006
26007 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26008 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26009
26010 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26011 copying the data from PARTITION to P.
26012
26013 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26014
26015 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26016 negative, unload the module.
26017
26018 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26019 map is "pc_partition_map" but not "pc".
26020 (usage): Fix the description. The options are --boot-image and
26021 --core-image but not --boot-file or --core-file.
26022 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26023 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26024 DEFAULT_DIRECTORY.
26025
26026 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26027 --core-file. Specify INSTALL_DEVICE as an argument.
26028
26029 * util/console.c: Include config.h.
26030 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26031 [HAVE_NCURSES_H]: Include ncurses.h.
26032 [HAVE_CURSES_H]: Include curses.h.
26033 [!A_NORMAL] (A_NORMAL): Defined as zero.
26034 [!A_STANDOUT] (A_STANDOUT): Likewise.
26035
26036 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26037 -lncurses.
26038 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26039
26040 * configure.ac: Check for curses libraries and headers.
26041
26042 * Makefile.in (LIBCURSES): New variable.
26043
26044 * genmk.rb (Script::rule): Set the executable bits.
26045
26046 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26047 name of the PC partition map is "pc_partition_map" but not "pc".
26048
26049 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26050
26051 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26052 (modules): Likewise.
26053 (usage): Added descriptions for --modules and --grub-probefs.
26054 Handle --modules and --grub-probefs. Save the arguments in MODULES
26055 and GRUB_PROBEFS, respectively.
26056 Auto-detect a filesystem module against GRUBDIR. If the result is
26057 empty and modules are not specified explicitly, abort the
26058 installation. Add the result to MODULES.
26059
26060 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26061 disk/powerpc/ieee1275/ofdisk.c,
26062 include/grub/powerpc/ieee1275/init.h and
26063 term/powerpc/ieee1275/ofconsole.c.
26064 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26065 term/ieee1275/ofconsole.c.
26066
26067 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26068
26069 * COPYING: Upgraded to the latest version. Only the address of the
26070 FSF office has changed.
26071
26072 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26073
26074 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26075 kern/ieee1275.c with kern/ieee1275/of.c.
26076
26077 * kern/ieee1275.c: Moved to ...
26078 * kern/ieee1275/of.c: ... here.
26079
26080 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26081
26082 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26083 readability.
26084
26085 * config.guess: Updated to the latest version from gnulib.
26086 * config.sub: Likewise.
26087 * install.sh: Likewise.
26088 * mkinstalldirs: Likewise.
26089
26090 * include/grub/console.h: Removed. This file is arch-specific. Do
26091 not put this in include/grub.
26092
26093 * include/grub/i386/pc/console.h: Resurrected.
26094
26095 * util/console.c: Include grub/machine/console.h instead of
26096 grub/console.h.
26097 * util/grub-emu.c: Likewise.
26098
26099 2005-08-04 Marco Gerards <metgerards@student.han.nl>
26100
26101 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
26102 hardcoded value.
26103
26104 From Vincent Pelletier <subdino2004@yahoo.fr>
26105 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
26106 Redefined to use grub_getwh.
26107 (grub_term): New member named getwh.
26108 (grub_getwh): New prototype.
26109 * kern/term.c (grub_getwh): New function.
26110 * term/i386/pc/console.c (grub_console_getwh): New function.
26111 (grub_console_term): New member `getwh'.
26112 * term/i386/pc/vga.c (grub_vga_getwh): New function.
26113 (grub_vga_term): New member `getwh'.
26114 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
26115 grub_ssize_t.
26116 (grub_ofconsole_getw): New function.
26117 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
26118 (grub_ofconsole_term): New field named getwh and new initial
26119 value.
26120
26121 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
26122
26123 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
26124 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
26125 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
26126 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
26127 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
26128 of <grub/machine/ieee1275.h>.
26129 * commands/ieee1275/reboot.c: Likewise.
26130 * boot/powerpc/ieee1275/ieee1275.c: Move ...
26131 * kern/ieee1275.c: ... to here. All users updated. Change all
26132 parameter structs to use new type `grub_ieee1275_cell_t'.
26133 * term/powerpc/ieee1275/ofconsole.c: Move ...
26134 * term/ieee1275/ofconsole.c: ... to here. All users updated.
26135 * disk/powerpc/ieee1275/ofdisk.c: Move ...
26136 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
26137 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
26138 to return int.
26139 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
26140 Remove unused prototypes. All users updated.
26141 * include/grub/powerpc/ieee1275/console.h: Removed.
26142 * include/grub/powerpc/ieee1275/ieee1275.h: Define
26143 `grub_ieee1275_cell_t'.
26144 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
26145 Cast comparisons with -1 to the correct type.
26146 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
26147 type to match `grub_ieee1275_entry_fn'.
26148
26149 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
26150
26151 * DISTLIST: Added util/i386/pc/grub-probefs.c.
26152
26153 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
26154 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
26155 partmap/sun.c.
26156 (grub_probefs_SOURCES): New variable.
26157
26158 * util/i386/pc/grub-probefs.c: New file.
26159
26160 * util/i386/pc/grub-setup.c (main): Call
26161 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
26162 grub_hfs_init and grub_jfs_init to initialize the system. Call
26163 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
26164 grub_pc_partition_map_fini to finish the system.
26165
26166 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
26167
26168 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
26169 function.
26170 (grub_multiboot_load_elf32): Likewise.
26171 (grub_multiboot_is_elf64): Likewise.
26172 (grub_multiboot_load_elf64): Likewise.
26173 (grub_multiboot_load_elf): Likewise.
26174 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
26175 an ELF32 or ELF64 file.
26176 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
26177
26178 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
26179 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
26180 NULL before calling FS->LABEL.
26181 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
26182 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
26183 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
26184 before calling FS->LABEL.
26185
26186 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
26187
26188 * util/i386/pc/grub-install.in (datadir): New variable.
26189 (libdir): Removed.
26190 (pkgdatadir): New variable.
26191 (pkglibdir): Removed.
26192
26193 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
26194
26195 * DISTLIST: Added util/i386/pc/grub-install.in.
26196
26197 * util/i386/pc/grub-install.in: New file.
26198
26199 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
26200 (grub_install_SOURCES): Likewise.
26201
26202 * genmk.rb: Added support for scripts.
26203 (Script): New class.
26204 (scripts): New variable.
26205
26206 * Makefile.in (install-local): Install sbin_SCRIPTS by
26207 INSTALL_SCRIPT.
26208 (uninstall): Remove sbin_SCRIPTS.
26209
26210 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
26211 device, try to get a GRUB device by
26212 grub_util_biosdisk_get_grub_dev.
26213 Free DEST_DEV.
26214
26215 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
26216 description for --device-map.
26217
26218 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26219
26220 Change the semantics of variable hooks. They now return strings
26221 instead of error values.
26222
26223 * util/i386/pc/grub-setup.c: Include grub/env.h.
26224 (setup): Use grub_device_set_root instead of grub_env_set.
26225
26226 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
26227 grub_env_get instead of grub_device_set_root and
26228 grub_device_get_root, respectively.
26229
26230 * kern/main.c (grub_env_write_root): New function.
26231 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
26232 grub_env_set instead of grub_device_set_root.
26233
26234 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
26235 many variables.
26236 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
26237 rather than calling ENV->WRITE_HOOK afterwards.
26238 (grub_env_get): Return the result of ENV->READ_HOOK rather than
26239 passing a pointer of a pointer.
26240 (grub_register_variable_hook): Change the types of "read_hook" and
26241 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
26242 respectively.
26243 Allocate the default empty string on the heap, because this string
26244 may be freed later.
26245
26246 * kern/device.c: Include grub/env.h.
26247 (grub_device_set_root): Removed.
26248 (grub_device_get_root): Likewise.
26249 (grub_device_open): Use grub_env_get instead of
26250 grub_device_get_root.
26251
26252 * include/grub/env.h (grub_env_read_hook_t): New type.
26253 (grub_env_write_hook_t): Likewise.
26254 (grub_env_var): Change the types of "read_hook" and "write_hook"
26255 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
26256 (grub_register_variable_hook): Likewise.
26257
26258 * include/grub/device.h (grub_device_set_root): Removed.
26259 (grub_device_set_root): Likewise.
26260
26261 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
26262 make sure that DIRNAME terminates with '/', so that
26263 grub_fat_find_dir will fail if PATH is not a directory.
26264
26265 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
26266 from DIRNAME.
26267 Use the qualifier auto for print_files and print_files_long.
26268 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
26269 as a regular file.
26270 Put a newline only if there is no error.
26271 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
26272 used.
26273
26274 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
26275
26276 * kern/partition.c (grub_partition_probe): Initialize PART to
26277 NULL. Otherwise, when no partition map is registered, this returns
26278 a garbage.
26279
26280 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
26281
26282 * partmap/apple.c (apple_partition_map_iterate): Check if POS
26283 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
26284 valid.
26285
26286 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
26287
26288 * commands/ls.c (grub_ls_list_disks): Print the filesystem
26289 information on each device, if it does not have partitions. Print
26290 "Device" instead of "Disk", because this function is not specific
26291 to disk devices.
26292
26293 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
26294 static to ensure that it is put on the memory rather than a
26295 register.
26296
26297 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26298
26299 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
26300 (grub_cat_init): Likewise.
26301 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
26302 (options): Likewise.
26303 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26304 (grub_configfile_init): Likewise.
26305 * font/manager.c (GRUB_MOD_INIT): Likewise.
26306 * commands/help.c (GRUB_MOD_INIT): Likewise.
26307 (grub_help_init): Likewise.
26308 * normal/command.c (grub_command_init): Likewise.
26309 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
26310 * disk/loopback.c (grub_loop_init): Likewise.
26311 (GRUB_MOD_INIT): Likewise.
26312 * commands/ls.c (grub_ls_init): Likewise.
26313 (GRUB_MOD_INIT): Likewise.
26314 (options): Likewise.
26315 * commands/boot.c (grub_boot_init): Likewise.
26316 (GRUB_MOD_INIT): Likewise.
26317 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
26318 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
26319 (GRUB_MOD_INIT): Likewise.
26320 * commands/cmp.c (grub_cmp_init): Likewise.
26321 (GRUB_MOD_INIT): Likewise.
26322
26323 * normal/arg.c: Use <> instead of "" to include header files.
26324 (SHORT_ARG_HELP): New macro.
26325 (SHORT_ARG_USAGE): Likewise.
26326 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
26327 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
26328 descriptions.
26329 (find_short): Check if C is 'h' or 'u' explicitly.
26330 (grub_arg_show_help): Use space characters instead of tabs. Treat
26331 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
26332 are shown with --help and --usage only if they are not used for
26333 the command itself.
26334 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
26335 'h' and 'u'.
26336
26337 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
26338 const into "longarg". Change the type of "shortarg" to int.
26339
26340 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26341
26342 * boot/i386/pc/boot.S (boot_drive_check): New label.
26343
26344 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
26345 macro.
26346
26347 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
26348 which do not pass a boot drive correctly. Copied from GRUB Legacy.
26349
26350 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26351
26352 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
26353 When turning off Gate A20, skip the check and return immediately,
26354 because this is not fatal usually.
26355
26356 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
26357
26358 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
26359 be 0x7C00 instead of 0x8000.
26360
26361 * boot/i386/pc/pxeboot.S: Rewritten.
26362
26363 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
26364 EXT_C.
26365 (gate_a20_check_state): Read a byte from 0x108000. Invert the
26366 result.
26367
26368 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
26369
26370 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
26371 robustness. This routine now supports a BIOS call and System
26372 Control Port A to modify the gate A20.
26373
26374 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26375 Increased to 0x440.
26376
26377 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
26378
26379 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
26380 device path and resulting ihandle.
26381 (grub_ofdisk_close): dprintf the ihandle being closed.
26382 (grub_ofdisk_read): dprintf function parameters.
26383 * kern/mm.c (grub_mm_init_region): Likewise.
26384 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
26385 (grub_linux_boot): dprintf the Linux entry point, initrd address and
26386 size, and boot arguments.
26387 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
26388 before loading into memory.
26389 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
26390 before loading into memory.
26391
26392 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
26393
26394 * kern/mm.c: Added much documentation.
26395 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
26396 8, set to 5 instead of 8.
26397
26398 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26399
26400 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
26401
26402 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
26403 (grub_mkdevicemap_SOURCES): New variable.
26404
26405 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
26406 lib/device.c of GRUB Legacy.
26407
26408 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
26409
26410 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
26411 instead of PATH is NULL.
26412
26413 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
26414
26415 * commands/cmp.c (BUFFER_SIZE): New macro.
26416 (grub_cmd_cmp): Close the right file at the right time. Compare
26417 only data just read. Don't report files of different size as
26418 identical. Dynamically allocate buffers. Move variable
26419 declarations at the beginning of function.
26420
26421 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
26422
26423 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
26424 reverse.
26425
26426 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
26427
26428 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
26429 when backspace is pressed at beginning of line.
26430
26431 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
26432
26433 * DISTLIST: Added genfslist.sh.
26434
26435 * normal/main.c (fs_module_list): New variable.
26436 (autoload_fs_module): New function.
26437 (read_fs_list): Likewise.
26438 (grub_normal_execute): Call read_fs_list.
26439
26440 * kern/fs.c (grub_fs_autoload_hook): New variable.
26441 (grub_fs_probe): Added support for auto-loading.
26442
26443 * include/grub/normal.h (struct grub_fs_module_list): New struct.
26444 (grub_fs_module_list_t): New type.
26445
26446 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
26447 (grub_fs_autoload_hook): New prototype.
26448
26449 * genfslist.sh: New file.
26450
26451 * genmk.rb: Added a rule to generate a filesystem list.
26452
26453 2005-06-30 Marco Gerards <metgerards@student.han.nl>
26454
26455 * configure.ac: Fix the test for cross-compiling.
26456
26457 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
26458 define GRUB_UTIL anymore.
26459
26460 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
26461 so this function works on other systems than just big endian.
26462 (load_modules): Likewise.
26463 (add_segments): Likewise.
26464
26465 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
26466
26467 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
26468 contains `l' modifier, get a long from va_arg().
26469
26470 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
26471
26472 * kern/mm.c (grub_free): If the next free block which is being
26473 merged is the first free block, set the first block to the block
26474 being freed.
26475 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
26476
26477 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26478
26479 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
26480 `grub_ieee1275_chosen'.
26481
26482 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
26483
26484 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
26485 (grub_ieee1275_chosen): New variable.
26486 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
26487 `chosen'.
26488 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
26489 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26490 Rename first argument to `phandle' for consistency.
26491 (grub_ieee1275_get_property_length): Likewise.
26492 (grub_ieee1275_next_property): Likewise. Change type of first argument
26493 to grub_ieee1275_phandle_t.
26494 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
26495 Move export next to declaration.
26496 (grub_ieee1275_chosen): New variable.
26497 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
26498 Correct cosmetic typo.
26499 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
26500 `grub_ieee1275_chosen'.
26501 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
26502 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
26503 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
26504 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
26505 `grub_ieee1275_chosen'.
26506
26507 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
26508
26509 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
26510 /chosen/bootargs.
26511 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
26512 /chosen/bootargs as "variable=value" pairs.
26513
26514 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
26515
26516 * include/grub/misc.h (grub_dprintf): New macro.
26517 (grub_real_dprintf): New prototype.
26518 (grub_strword): Likewise.
26519 (grub_iswordseparator): Likewise.
26520 * kern/misc.c (grub_real_dprintf): New function.
26521 (grub_strword): Likewise.
26522 (grub_iswordseparator): Likewise.
26523
26524 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
26525
26526 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
26527 (roundup): Remove macro.
26528 (grub_ieee1275_flags): Make static.
26529 (grub_ieee1275_realmode): Remove.
26530 (grub_ieee1275_test_flag): New function.
26531 (grub_ieee1275_set_flag): Likewise.
26532 (find_options): Rename to `grub_ieee1275_find_options'; update
26533 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
26534 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
26535 (cmain): New prototype.
26536 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
26537 `grub_ieee1275_flags' directly.
26538 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
26539 machine/biosdisk.h.
26540 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
26541 Don't include grub/machine/init.h.
26542 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
26543 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26544 Remove prototype.
26545 (grub_ieee1275_realmode): Likewise.
26546 (grub_ieee1275_flag): New enum.
26547 (grub_ieee1275_test_flag): New prototype.
26548 (grub_ieee1275_set_flag): New prototype.
26549 * include/grub/powerpc/ieee1275/init.h: Remove file.
26550 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
26551 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
26552 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
26553 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
26554 comment.
26555 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
26556 `grub_ieee1275_test_flag'.
26557 (grub_ieee1275_encode_devname): Likewise.
26558
26559 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
26560
26561 * include/grub/powerpc/ieee1275/ieee1275.h
26562 (grub_ieee1275_encode_devname): New prototype.
26563 (grub_ieee1275_get_filename): Likewise.
26564 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
26565 function.
26566 (grub_set_prefix): Likewise.
26567 (grub_machine_init): Call grub_set_prefix.
26568 * kern/powerpc/ieee1275/openfw.c: Fix typos.
26569 (grub_parse_type): New enum.
26570 (grub_ieee1275_get_devargs): New function.
26571 (grub_ieee1275_get_devname): Likewise.
26572 (grub_ieee1275_parse_args): Likewise.
26573 (grub_ieee1275_get_filename): Likewise.
26574 (grub_ieee1275_encode_devname): Likewise.
26575
26576 2005-03-30 Marco Gerards <metgerards@student.han.nl>
26577
26578 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
26579 `grub_loader_unset'.
26580
26581 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
26582
26583 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
26584 instead of grub_ieee1275_interpret.
26585 (grub_halt_init): New function.
26586 (grub_halt_fini): Likewise.
26587 (GRUB_MOD_INIT): Correct message grammar.
26588 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
26589 instead of grub_ieee1275_interpret.
26590 (grub_reboot_init): New function.
26591 (grub_reboot_fini): Likewise.
26592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
26593 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
26594 util/i386/pc/misc.c with commands/ieee1275/halt.c,
26595 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
26596 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
26597 function.
26598 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
26599 Add prototype.
26600 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
26601 prototype.
26602 (grub_halt): Likewise.
26603 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
26604 (cmain): Remove __attribute__((unused)).
26605 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
26606 (grub_heap_len): Likewise.
26607 (grub_machine_fini): New function.
26608 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
26609 (grub_halt): Likewise.
26610 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
26611 function.
26612 * util/powerpc/ieee1275/misc.c: New file.
26613
26614 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26615
26616 * DISTLIST: New file.
26617 * gendistlist.sh: Likewise.
26618
26619 * Makefile.in (COMMON_DISTFILES): Removed.
26620 (BOOT_DISTFILES): Likewise.
26621 (CONF_DISTFILES): Likewise.
26622 (DISK_DISTFILES): Likewise.
26623 (FS_DISTFILES): Likewise.
26624 (INCLUDE_DISTFILES): Likewise.
26625 (KERN_DISTFILES): Likewise.
26626 (LOADER_DISTFILES): Likewise.
26627 (TERM_DISTFILES): Likewise.
26628 (UTIL_DISTFILES): Likewise.
26629 (DISTFILES): Likewise.
26630 (uninstall): Uninstall files in $(pkgdata_DATA).
26631 (DISTLIST): New target.
26632 (distdir): Use the contents of the file DISTLIST to get a list of
26633 distributed files.
26634
26635 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26636
26637 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
26638 descriptor. This is ported from GRUB Legacy.
26639
26640 * gencmdlist.sh: Added an extra semicolon to make it work with
26641 old sed versions. Reported by Robert Bihlmeyer
26642 <robbe@orcus.priv.at>.
26643
26644 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
26645
26646 Automatic loading of commands is supported.
26647
26648 * normal/main.c (read_command_list): New function.
26649 (grub_normal_execute): Call read_command_list.
26650
26651 * normal/command.c (grub_register_command): Return zero or CMD.
26652 Allocate CMD->NAME from the heap.
26653 Initialize CMD->MODULE_NAME to zero.
26654 Find the same name as well. If the same command is found and it is
26655 a dummy command, overwrite members. If it is not a dummy command,
26656 return zero.
26657 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
26658 (grub_command_find): If a dummy command is found, load a module
26659 and retry to find a command only once.
26660
26661 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
26662 make sure that each command is loaded.
26663
26664 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
26665 macro.
26666 (struct grub_command): Remove const from the member `name'.
26667 Add a new member `module_name'.
26668 (grub_register_command): Return grub_command_t.
26669
26670 * commands/help.c (grub_cmd_help): Call grub_command_find to make
26671 sure that each command is loaded.
26672
26673 * genmk.rb (PModule::rule): Specify a module name without the
26674 suffix ".mod" to gencmdlist.sh.
26675
26676 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26677
26678 * gencmdlist.sh: New file.
26679
26680 * genmk.rb (PModule::rule): Generate a rule for a command list.
26681 Clean command.lst.
26682 Generate command.lst from $(COMMANDFILES).
26683
26684 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
26685 (DATA): Added $(pkgdata_DATA).
26686 (install-local): Install files in $(pkgdata_DATA).
26687
26688 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
26689
26690 * term/i386/pc/vga.c (debug_command): Removed.
26691 (GRUB_MOD_INIT): Do not register the command "debug".
26692
26693 From Hollis Blanchard:
26694 * commands/configfile.c: New file.
26695 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26696 commands/configfile.c.
26697 (pkgdata_MODULES): Added configfile.mod.
26698 (configfile_mod_SOURCES): New variable.
26699 (configfile_mod_CFLAGS): Likewise.
26700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26701 commands/configfile.c.
26702 (pkgdata_MODULES): Added configfile.mod.
26703 (configfile_mod_SOURCES): New variable.
26704 (configfile_mod_CFLAGS): Likewise.
26705 * util/grub-emu.c (main): Call grub_configfile_init and
26706 grub_configfile_fini.
26707 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
26708 prototype.
26709 [GRUB_UTIL] (grub_configfile_fini): Likewise.
26710
26711 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26712
26713 * normal/arg.c (grub_arg_show_help): Do not show the bug report
26714 address.
26715
26716 * commands/help.c (grub_cmd_help): Do not print newlines after
26717 the last command in print_command_help.
26718
26719 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
26720
26721 * commands/default.h: New file.
26722 * commands/timeout.h: Likewise.
26723 * normal/context.c: Likewise.
26724
26725 * util/misc.c: Do not include sys/times.h.
26726 Include sys/time.h and grub/machine/time.h.
26727 (grub_get_rtc): Rewritten with gettimeofday.
26728
26729 * util/grub-emu.c (main): Call grub_default_init and
26730 grub_timeout_init before grub_normal_init, and call
26731 grub_timeout_fini and grub_default_fini after grub_main.
26732
26733 * util/console.c (grub_ncurses_checkkey): Return the read
26734 character or -1.
26735
26736 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
26737 timeouts.
26738
26739 * normal/main.c (read_config_file): Push MENU. If this fails,
26740 print an error and wait for a user input.
26741 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
26742 If a menu is empty or an error occurs, pop MENU.
26743 (grub_normal_execute): Pop and free MENU after grub_menu_run
26744 returns.
26745
26746 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
26747
26748 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
26749 include time.h.
26750 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26751 without GRUB_UTIL.
26752 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
26753 time.h.
26754 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
26755 without GRUB_UTIL.
26756
26757 * include/grub/normal.h (struct grub_menu_list): New struct.
26758 (grub_menu_list_t): New type.
26759 (struct grub_context): New struct.
26760 (grub_context_t): New type.
26761 (grub_register_command): Got rid of EXPORT_FUNC.
26762 (grub_unregister_command): Likewise.
26763 (grub_context_get): New prototype.
26764 (grub_context_get_current_menu): Likewise.
26765 (grub_context_push_menu): Likewise.
26766 (grub_context_pop_menu): Likewise.
26767 [GRUB_UTIL] (grub_default_init): Likewise.
26768 [GRUB_UTIL] (grub_default_fini): Likewise.
26769 [GRUB_UTIL] (grub_timeout_init): Likewise.
26770 [GRUB_UTIL] (grub_timeout_fini): Likewise.
26771
26772 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
26773 commands/timeout.c and normal/context.c.
26774 (pkgdata_MODULES): Added default.mod and timeout.mod.
26775 (normal_mod_SOURCES): Added normal/context.c.
26776 (default_mod_SOURCES): New variable.
26777 (default_mod_CFLAGS): Likewise.
26778 (timeout_mod_SOURCES): Likewise.
26779 (timeout_mod_CFLAGS): Likewise.
26780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
26781 conf/i386-pc.rmk.
26782 (pkgdata_MODULES): Added default.mod and timeout.mod.
26783 (normal_mod_SOURCES): Added normal/context.c.
26784 (default_mod_SOURCES): New variable.
26785 (default_mod_CFLAGS): Likewise.
26786 (timeout_mod_SOURCES): Likewise.
26787 (timeout_mod_CFLAGS): Likewise.
26788
26789 * Makefile.in (all-local): Added $(MKFILES).
26790
26791 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
26792
26793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
26794 (grub_emu_SOURCES): Likewise.
26795 (pkgdata_MODULES): Add `sun.mod'.
26796 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26798 `partmap/sun.c'.
26799 (pkgdata_MODULES): Add `sun.mod'.
26800 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
26801 * include/grub/partition.h (grub_sun_partition_map_init): New
26802 prototype.
26803 (grub_sun_partition_map_fini): Likewise.
26804 * partmap/sun.c: New file.
26805 * util/grub-emu.c (main): Initialize and de-initialize the sun
26806 partitionmap support.
26807
26808 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
26809
26810 This implements an Emacs-like menu entry editor.
26811
26812 * normal/menu_entry.c: New file.
26813
26814 * util/console.c (grub_ncurses_putchar): Translate some Unicode
26815 characters to ASCII.
26816 (saved_char): New variable.
26817 (grub_ncurses_checkkey): Rewritten completely.
26818 (grub_ncurses_getkey): Likewise.
26819 (grub_ncurses_init): Call raw instead of cbreak.
26820
26821 * normal/menu.c (print_entry): Do not put a space.
26822 (init_page): Renamed to ...
26823 (grub_menu_init_page): ... this. All callers changed.
26824 (edit_menu_entry): Removed.
26825 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
26826
26827 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
26828
26829 * kern/misc.c (grub_vprintf): Call grub_refresh.
26830
26831 * normal/menu.c (DISP_LEFT): Renamed to ...
26832 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
26833 * normal/menu.c (DISP_UP): Renamed to ...
26834 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
26835 * normal/menu.c (DISP_RIGHT): Renamed to ...
26836 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
26837 * normal/menu.c (DISP_DOWN): Renamed to ...
26838 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
26839 * normal/menu.c (DISP_HLINE): Renamed to ...
26840 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
26841 * normal/menu.c (DISP_VLINE): Renamed to ...
26842 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
26843 * normal/menu.c (DISP_UL): Renamed to ...
26844 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
26845 * normal/menu.c (DISP_UR): Renamed to ...
26846 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
26847 * normal/menu.c (DISP_LL): Renamed to ...
26848 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
26849 * normal/menu.c (DISP_LR): Renamed to ...
26850 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
26851 * normal/menu.c (TERM_WIDTH): Renamed to ...
26852 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
26853 * normal/menu.c (TERM_HEIGHT): Renamed to ...
26854 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
26855 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
26856 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
26857 * normal/menu.c (TERM_MARGIN): Renamed to ...
26858 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
26859 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
26860 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
26861 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
26862 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
26863 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
26864 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
26865 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
26866 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
26867 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
26868 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
26869 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
26870 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
26871 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
26872 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
26873 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
26874 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
26875 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
26876 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
26877 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
26878 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
26879 All callers changed.
26880
26881 * include/grub/normal.h: New prototype.
26882
26883 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26884 normal/menu_entry.c.
26885 (normal_mod_SOURCES): Likewise.
26886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26887 (normal_mod_SOURCES): Likewise.
26888
26889 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
26890
26891 * include/grub/normal.h (grub_halt_init): New prototype.
26892 (grub_halt_fini): Likewise.
26893 (grub_reboot_init): Likewise.
26894 (grub_reboot_fini): Likewise.
26895
26896 * util/grub-emu.c: Include signal.h.
26897 (main_env): New global variable.
26898 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
26899 catch C-c.
26900 (grub_machine_fini): New function.
26901 (main): Call grub_halt_init and grub_reboot_init before
26902 grub_main, and grub_reboot_fini and grub_halt_fini after it.
26903 Call setjmp with MAIN_ENV to go back afterwards.
26904 Call grub_machine_fini right before return.
26905
26906 * include/grub/util/misc.h: Include setjmp.h.
26907 (main_env): New prototype.
26908
26909 * include/grub/kernel.h (grub_machine_fini): New prototype.
26910 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26911 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26912
26913 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26914 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26915 * term/i386/pc/console.c (grub_console_fini): Likewise.
26916
26917 * util/i386/pc/misc.c: New file.
26918
26919 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26920 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26921 commands/i386/pc/reboot.c.
26922
26923 2005-02-14 Guillem Jover <guillem@hadrons.org>
26924
26925 * include/grub/dl.h (grub_dl_check_header): New prototype.
26926 (grub_arch_dl_check_header): Change return type to grub_err_t,
26927 remove size parameter and export function. Update all callers.
26928 * kern/dl.c (grub_dl_check_header): New function.
26929 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26930 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26931 are inside the core.
26932 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26933 independent ELF header checks.
26934 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26935 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26936 `grub_dl_check_header' instead of explicit checks. Check for the
26937 ELF type.
26938 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26939 `grub_dl_check_header' instead of explicit checks. Remove arch
26940 specific ELF header checks.
26941
26942 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26943 argument SIZE.
26944
26945 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26946
26947 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26948 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26949
26950 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26951
26952 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
26953 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
26954 (part_map_iterate): Clear `grub_errno' and return 0 if
26955 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
26956 * partmap/amiga.c (amiga_partition_map_iterate): Return
26957 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26958 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26959
26960 2005-02-01 Guillem Jover <guillem@hadrons.org>
26961
26962 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26963 help info.
26964
26965 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26966
26967 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26968 Removed prototype.
26969 (grub_rescue_cmd_linux): New prototype.
26970 (grub_rescue_cmd_initrd): Likewise.
26971 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26972 `bi_rec'.
26973 (grub_linux_release_mem): Release the memory for the initrd.
26974 (grub_load_linux): Renamed from this...
26975 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26976 Changed `entry' not to be static. Loop over memory regions to
26977 find another one when the default fails.
26978 (grub_rescue_cmd_initrd): New function.
26979 (grub_linux_init): Remove function.
26980 (grub_linux_fini): Likewise.
26981 (GRUB_MOD_INIT): Register `initrd'.
26982 (GRUB_MOD_FINI): Unregister `initrd'.
26983 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26984 Function removed.
26985 (grub_linux_normal_fini): Likewise.
26986 (GRUB_MOD_INIT): Register `initrd'.
26987 (GRUB_MOD_FINI): Unregister `initrd'.
26988
26989 2005-01-31 Marco Gerards <metgerards@student.han.nl>
26990
26991 * commands/help.c: New file.
26992 * normal/arg.c (show_help): Renamed to...
26993 (grub_arg_show_help): ... this.
26994 * commands/i386/pc/halt.c: New file.
26995 * commands/i386/pc/reboot.c: Likewise.
26996 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26997 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26998 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26999 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27000 variables.
27001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27002 `commands/help.c'.
27003 (pkgdata_MODULES): Add `help.mod'.
27004 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27005 * grub/i386/pc/init.h (grub_reboot): New prototype.
27006 (grub_halt): Likewise.
27007 * include/grub/normal.h (grub_arg_show_help): New prototype.
27008 (grub_help_init): Likewise.
27009 (grub_help_fini): Likewise.
27010 * util/grub-emu.c (main): Initialize and deinitialize the help
27011 command.
27012
27013 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27014
27015 * normal/command.c (grub_command_init): Fixed the description of
27016 the `set' and `unset' commands.
27017
27018 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27019
27020 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27021 function.
27022 * commands/ieee1275/halt.c: New file.
27023 * commands/ieee1275/reboot.c: Likewise.
27024 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27025 `__attribute__ ((unused))'. Some GCS related fixed.
27026 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27027 (grub_suspend_fini): Likewise.
27028 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27029 and `halt.mod'.
27030 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27031 (halt_mod_CFLAGS): New variables.
27032 * include/grub/powerpc/ieee1275/ieee1275.h
27033 (grub_ieee1275_interpret): New prototype.
27034
27035 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27036
27037 * include/grub/misc.h (memmove): New prototype.
27038 (memcpy): Likewise.
27039
27040 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27041
27042 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27043 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27044
27045 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27046
27047 * kern/misc.c (grub_strndup): Function rewritten.
27048
27049 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27050
27051 * normal/menu.c (TERM_WIDTH): Macro redefined.
27052 (TERM_TOP_BORDER_Y): Likewise.
27053 (draw_border): Replaced while-loop by a for-loop. Make the number
27054 of lines consistent with the number of lines displayed in
27055 print_entries. Added a margin below the rectangle.
27056 (print_entry): Make the entry fit in the rectangle.
27057 (print_entries): Display the scroll arrows next to the right
27058 border.
27059
27060 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27061
27062 * fs/minix.c (grub_minix_find_file): Reserve more space for
27063 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27064 `grub_strncpy' to copy `path' into it.
27065
27066 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27067
27068 Add the loopback device, a device via which files can be accessed
27069 as devices.
27070
27071 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27072 (pkgdata_MODULES): Add loopback.mod.
27073 (loopback_mod_SOURCES): New variable.
27074 (loopback_mod_CFLAGS): Likewise.
27075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27076 `disk/loopback.c'.
27077 (pkgdata_MODULES): Add loopback.mod.
27078 (loopback_mod_SOURCES): New variable.
27079 (loopback_mod_CFLAGS): Likewise.
27080 * disk/loopback.c: new file.
27081 * include/grub/normal.h (grub_loop_init): New prototype.
27082 (grub_loop_fini): New prototype.
27083 * util/grub-emu.c (main): Initialize and de-initialize loopback
27084 support.
27085 * include/grub/disk.h (grub_disk_dev_id): Add
27086 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27087
27088 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27089
27090 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27091 function.
27092 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27093 (suspend_mod_SOURCES): New variable.
27094 (suspend_mod_CFLAGS): Likewise.
27095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27096 New prototype.
27097 * commands/ieee1275/suspend.c: New file.
27098
27099 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27100
27101 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
27102 ((unused))' to `__attribute__ ((used))'.
27103 (GRUB_MOD_FINI): Likewise.
27104 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
27105 * genmk.rb (PModule): Assign space to common symbols when linking
27106 modules.
27107
27108 2005-01-20 Marco Gerards <metgerards@student.han.nl>
27109
27110 * include/grub/mm.h (grub_mm_init_region): Change the type of the
27111 `unsigned' arguments to `grub_size_t'.
27112 (grub_malloc): Likewise.
27113 (grub_realloc): Likewise.
27114 (grub_memalign): Likewise.
27115 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
27116 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27117 * util/misc.c (grub_malloc): Likewise.
27118 (grub_realloc): Likewise.
27119 * kern/mm.c (get_header_from_pointer): Change the casts to
27120 `unsigned' into a cast to `grub_size_t'.
27121
27122 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
27123 point to `currnode' when `currnode' is changed.
27124
27125 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
27126 Schottelius <nico-linux@schottelius.org>.
27127
27128 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
27129
27130 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
27131 (note_path): Remove variable.
27132 (GRUB_IEEE1275_NOTE_NAME): New macro.
27133 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
27134 (grub_ieee1275_note_hdr): New structure.
27135 (grub_ieee1275_note_desc): Likewise.
27136 (grub_ieee1275_note): Likewise.
27137 (load_note): Remove `dir' argument. All callers updated. Remove
27138 `note_img' and `path'. Do not load a file from `note_path'.
27139 Initialize a struct grub_ieee1275_note and write that to `out'.
27140 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
27141
27142 2005-01-05 Marco Gerards <metgerards@student.han.nl>
27143
27144 * util/misc.c (grub_util_read_image): Revert last change. It
27145 called `grub_util_read_at', which seeks from the beginning of the
27146 file.
27147
27148 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
27149
27150 * TODO: Add note about endianness in grub-mkimage.
27151 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
27152 section.
27153 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
27154 (grub_mkimage_SOURCES): New target.
27155 * include/grub/kernel.h (grub_start_addr): Remove variable.
27156 (grub_end_addr): Likewise.
27157 (grub_total_module_size): Likewise.
27158 (grub_kernel_image_size): Likewise.
27159 (GRUB_MODULE_MAGIC): New constant.
27160 (grub_module_info): New structure.
27161 (grub_arch_modules_addr): New prototype.
27162 (grub_get_end_addr): Remove prototype.
27163 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
27164 * include/grub/powerpc/ieee1275/kernel.h: New file.
27165 * include/grub/util/misc.h (grub_util_get_fp_size): New
27166 prototype.
27167 (grub_util_read_at): Likewise.
27168 (grub_util_write_image_at): Likewise.
27169 * kern/main.c (grub_get_end_addr): Remove function.
27170 (grub_load_modules): Call grub_arch_modules_addr instead of using
27171 grub_end_addr. Look for a grub_module_info struct in memory. Use
27172 the grub_module_info fields instead of calling grub_get_end_addr
27173 as loop conditions. Move grub_add_unused_region code here.
27174 (grub_add_unused_region): Remove function.
27175 * kern/i386/pc/init.c: Include grub/cache.h.
27176 (grub_machine_init): Remove call to grub_get_end_addr. Remove
27177 one call to add_mem_region.
27178 (grub_arch_modules_addr): New function.
27179 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
27180 (grub_total_module_size): Likewise.
27181 Include grub/machine/kernel.h.
27182 (grub_arch_modules_addr): New function.
27183 * util/grub-emu.c (grub_end_addr): Remove variable.
27184 (grub_total_module_size): Likewise.
27185 (grub_arch_modules_addr): New function.
27186 * util/misc.c: Include unistd.h.
27187 (grub_util_get_fp_size): New function.
27188 (grub_util_read_at): Likewise.
27189 (grub_util_write_image_at): Likewise.
27190 (grub_util_read_image): Call grub_util_read_at.
27191 (grub_util_write_image): Call grub_util_write_image_at.
27192 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
27193 additional memory in kernel_img for a struct grub_module_info.
27194 Fill in that grub_module_info.
27195 * util/powerpc/ieee1275/grub-mkimage.c: New file.
27196
27197 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27198
27199 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
27200 New function.
27201 * include/grub/powerpc/ieee1275/ieee1275.h
27202 (grub_ieee1275_milliseconds): New prototype.
27203 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
27204 Change to 1000.
27205 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
27206 grub_ieee1275_milliseconds.
27207
27208 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
27209
27210 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
27211 variable.
27212 (find_options): New function.
27213 (cmain): Call find_options.
27214 * include/grub/powerpc/ieee1275/ieee1275.h
27215 (grub_ieee1275_realmode): New extern variable.
27216 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
27217 grub_map if grub_ieee1275_realmode is false.
27218
27219 2004-12-29 Marco Gerards <metgerards@student.han.nl>
27220
27221 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
27222 lines are inserted and make it work like readline. Reported by
27223 Vincent Pelletier <subdino2004@yahoo.fr>.
27224
27225 2004-12-28 Marco Gerards <metgerards@student.han.nl>
27226
27227 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
27228
27229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
27230 `kern/powerpc/cache.S'.
27231
27232 2004-12-27 Marco Gerards <metgerards@student.han.nl>
27233
27234 * genmk.rb: Handle the `Program' class in the main loop. Written
27235 by Johan Rydberg <jrydberg@gnu.org>.
27236 (Program): New class.
27237 (programs): New variable.
27238 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
27239 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
27240 instead of "grub/kernel.h". Include <grub/machine/init.h>.
27241 (help_arch): Function removed.
27242 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
27243 `powerpc/libgcc.h' and `loader.h'.
27244 (pkgdata_PROGRAMS): New variable.
27245 (sbin_UTILITIES): Variable removed.
27246 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
27247 (grubof_SOURCES): Variable re-defined so it only includes the
27248 core functionality.
27249 (grubof_CFLAGS): Remove `-DGRUBOF'.
27250 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
27251 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
27252 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
27253 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
27254 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
27255 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
27256 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
27257 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
27258 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
27259 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
27260 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27261 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
27262 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
27263 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
27264 (pc_mod_CFLAGS): New variables.
27265 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
27266 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
27267 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
27268 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
27269 Moved from here...
27270 * include/grub/i386/pc/init.h (grub_os_area_addr)
27271 (rub_os_area_size): ... to here.
27272 * include/grub/powerpc/ieee1275/ieee1275.h
27273 (grub_ieee1275_entry_fn): Export symbol.
27274 * include/grub/powerpc/ieee1275/init.h: New file.
27275 * include/grub/powerpc/libgcc.h: Likewise.
27276 * include/grub/cache.h: Likewise.
27277 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
27278 <hollis@penguinppc.org>.
27279 * kern/dl.c: Include <grub/cache.h>.
27280 (grub_dl_flush_cache): New function.
27281 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
27282 for this module.
27283 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
27284 (grub_console_init): Removed prototypes.
27285 (grub_machine_init): Don't initialize the modules anymore.
27286 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
27287 static.
27288 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
27289 Macro undef removed.
27290 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
27291 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
27292 relocation `R_PPC_REL32'. Return an error when the relocation is
27293 unknown.
27294 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
27295 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
27296 * util/misc.c (grub_arch_sync_caches): Likewise.
27297
27298 2004-12-19 Marco Gerards <metgerards@student.han.nl>
27299
27300 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
27301 `symlist.c', add `grubof_symlist.c'.
27302 (symlist.c): Variable removed.
27303 (grubof_HEADERS): Variable added.
27304 (grubof_symlist.c): New target.
27305 (kernel_syms.lst): Use `grubof_HEADERS' instead of
27306 `kernel_img_HEADERS'.
27307 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
27308 * kern/powerpc/dl.c: New file.
27309 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
27310 Function removed.
27311 (grub_arch_dl_relocate_symbols): Likewise.
27312 (grub_register_exported_symbols): Likewise.
27313
27314 2004-12-13 Marco Gerards <metgerards@student.han.nl>
27315
27316 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
27317 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
27318 to fail instead. Reported by Vincent Pelletier
27319 <subdino2004@yahoo.fr>.
27320
27321 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
27322 it is not allocated. Reported by Vincent Pelletier
27323 <subdino2004@yahoo.fr>.
27324
27325 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
27326 output so the output looks better.
27327
27328 2004-12-04 Marco Gerards <metgerards@student.han.nl>
27329
27330 Modulize the partition map support and add support for the amiga
27331 partition map.
27332
27333 * commands/ls.c: Include <grub/partition.h> instead of
27334 <grub/machine/partition.h>.
27335 * kern/disk.c: Likewise.
27336 * kern/rescue.c: Likewise.
27337 * loader/i386/pc/chainloader.c: Likewise.
27338 * normal/cmdline.c: Likewise.
27339 * kern/powerpc/ieee1275/init.c: Likewise.
27340 (grub_machine_init): Call `grub_pc_partition_map_init',
27341 `grub_amiga_partition_map_init' and
27342 `grub_apple_partition_map_init'.
27343 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
27344 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
27345 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
27346 `partition.h' and `pc_partition.h'.
27347 (grub_setup_SOURCES): Remove
27348 `disk/i386/pc/partition.c'. Add `kern/partition.c',
27349 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27350 (grub_emu_SOURCES): Likewise.
27351 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
27352 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
27353 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
27354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27355 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
27356 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
27357 (grubof_SOURCES): Likewise.
27358 * disk/i386/pc/partition.c: File removed.
27359 * disk/powerpc/ieee1275/partition.c: Likewise.
27360 * include/grub/powerpc/ieee1275/partition.h: Likewise.
27361 * include/grub/i386/pc/partition.h: Likewise.
27362 * kern/partition.c: New file.
27363 * partmap/amiga.c: Likewise.
27364 * partmap/apple.c: Likewise.
27365 * partmap/pc.c: Likewise.
27366 * include/grub/partition.h: Likewise..
27367 * include/grub/pc_partition.h: Likewise.
27368 * util/grub-emu.c: Include <grub/partition.h> instead of
27369 <grub/machine/partition.h>.
27370 (main): Call `grub_pc_partition_map_init',
27371 `grub_amiga_partition_map_init' and
27372 `grub_apple_partition_map_init' and deinitialize afterwards.
27373 * util/i386/pc/biosdisk.c: Include `#include
27374 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27375 `<grub/machine/partition.h>'.
27376 * util/i386/pc/grub-setup.c: Likewise.
27377 * util/i386/pc/biosdisk.c: Likewise.
27378 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
27379 partition information in case of a PC partition.
27380 * util/i386/pc/grub-setup.c: Include `#include
27381 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
27382 `<grub/machine/partition.h>'.
27383 (setup): Only access the PC specific partition information in case
27384 of a PC partition.
27385
27386 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
27387
27388 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
27389 (grub_longjmp): Likewise.
27390 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
27391 20.
27392 * normal/powerpc/setjmp.S: New file.
27393 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27394 `normal/powerpc/setjmp.S'.
27395 (grubof_CFLAGS): Add `-DGRUBOF'.
27396 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
27397 [GRUB_UTIL && !GRUBOF].
27398
27399 2004-11-16 Marco Gerards <metgerards@student.han.nl>
27400
27401 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
27402 property named `name'. Correctly handle the error returned by
27403 `grub_ieee1275_finddevice' if a device can not be opened.
27404
27405 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
27406
27407 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
27408 `actual' for negativity.
27409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
27410 kern/fshelp.c.
27411
27412 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27413
27414 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
27415 (PAGE_OFFSET): New macro.
27416 (CRTC_ADDR_PORT): Likewise.
27417 (CRTC_DATA_PORT): Likewise.
27418 (START_ADDR_HIGH_REGISTER): Likewise.
27419 (START_ADDR_LOW_REGISTER): Likewise.
27420 (GRAPHICS_ADDR_PORT): Likewise.
27421 (GRAPHICS_DATA_PORT): Likewise.
27422 (READ_MAP_REGISTER): Likewise.
27423 (INPUT_STATUS1_REGISTER): Likewise.
27424 (INPUT_STATUS1_VERTR_BIT): Likewise.
27425 (page): New variable.
27426 (wait_vretrace): New function.
27427 (set_read_map): Likewise.
27428 (set_start_address): Likewise.
27429 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
27430 the right page.
27431 (check_vga_mem): Take the page into account.
27432 (write_char): Likewise.
27433 (write_cursor): Likewise.
27434 (scroll_up): Likewise. Copy the page to the page that is not
27435 shown and switch between both pages.
27436 (grub_vga_putchar): Fix off by one error.
27437 (grub_vga_cls): Wait for the vertical retrace. Take the page into
27438 account.
27439
27440 2004-11-01 Marco Gerards <metgerards@student.han.nl>
27441
27442 Add support for iso9660 (including rockridge).
27443
27444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27445 (iso9660_mod_SOURCES): New variable.
27446 (iso9660_mod_CFLAGS): Likewise.
27447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
27448 * include/grub/fs.h (grub_iso9660_init): New prototype.
27449 * util/grub-emu.c (main): Call `grub_iso9660_init'.
27450 * fs/iso9660.c: New file.
27451
27452 * include/grub/misc.h (grub_strncat): New prototype.
27453 * kern/misc.c (grub_strncat): New function.
27454
27455 * fs/hfs.c (grub_hfs_mount): Translate the error
27456 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
27457 * fs/jfs.c (grub_jfs_mount): Likewise.
27458 * fs/ufs.c (grub_ufs_mount): Likewise.
27459
27460 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
27461
27462 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
27463 which initialized BAT registers.
27464 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
27465 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27466 Move from here...
27467 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
27468 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
27469 ... to here.
27470 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
27471 (grub_mapclaim): Likewise.
27472 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
27473 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
27474 hand.
27475
27476 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
27477
27478 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
27479 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
27480 -ffreestanding and -msoft-float.
27481
27482 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
27483
27484 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
27485 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
27486 set in grub_ieee1275_flags.
27487
27488 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
27489
27490 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
27491 prototype.
27492 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
27493 grub_console_init first.
27494 Change the memory range used for grub_ieee1275_claim and
27495 grub_mm_init_region.
27496 Print an error message if the claim fails.
27497 Include <grub/misc.h>.
27498
27499 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
27500
27501 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
27502 Call grub_children_iterate for device nodes of type `scsi',
27503 `ide', or `ata'.
27504 (grub_ofdisk_open): Remove manual device alias resolution.
27505 Fix memory leak when device cannot be opened.
27506 * include/grub/powerpc/ieee1275/ieee1275.h
27507 (grub_children_iterate): New prototype.
27508 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
27509 New function.
27510 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27511 Return -1 if args.size was -1.
27512
27513 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27514
27515 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
27516 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
27517 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
27518 Open Firmware's memory for it; claim memory from _start to _end.
27519 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
27520 (_end): New extern.
27521 (_start): Zero BSS from __bss_start to _end.
27522 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27523 New extern.
27524 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
27525
27526 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
27527
27528 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
27529 -1 if args.base was -1.
27530
27531 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
27532
27533 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
27534 escape sequence instead of a literal ^L. Also call
27535 grub_ofconsole_gotoxy.
27536
27537 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
27538
27539 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
27540 void * arguments to grub_addr_t. All callers updated. Also make
27541 the `result' argument optional.
27542 (grub_ieee1275_release): change void * arguments to grub_addr_t.
27543 All callers updated.
27544
27545 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
27546
27547 * commands/ls.c (grub_ls_list_files): Use the string following the
27548 initial ')', if present, as the filesystem path.
27549 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
27550
27551 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
27552
27553 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
27554
27555 Make the source code of the menu interface more readable.
27556
27557 * normal/menu.c: Include grub/mm.h.
27558 (TERM_WIDTH): New macro.
27559 (TERM_HEIGHT): Likewise.
27560 (TERM_INFO_HEIGHT): Likewise.
27561 (TERM_MARGIN): Likewise.
27562 (TERM_SCROLL_WIDTH): Likewise.
27563 (TERM_TOP_BORDER_Y): Likewise.
27564 (TERM_LEFT_BORDER_X): Likewise.
27565 (TERM_BORDER_WIDTH): Likewise.
27566 (TERM_MESSAGE_HEIGHT): Likewise.
27567 (TERM_BORDER_HEIGHT): Likewise.
27568 (TERM_NUM_ENTRIES): Likewise.
27569 (TERM_FIRST_ENTRY_Y): Likewise.
27570 (TERM_ENTRY_WIDTH): Likewise.
27571 (TERM_CURSOR_X): Likewise.
27572 (draw_border): Use macros instead of magic numbers.
27573 (print_entry): Likewise.
27574 (print_entries): Likewise.
27575 (run_menu): Likewise. Also, handle the key 'e'.
27576 (run_menu_entry): Ignore empty command lines.
27577 (print_message): Added a new argument EDIT. If EDIT is true,
27578 print a different message.
27579 (init_page): Likewise.
27580 (edit_menu_entry): New function. Not implemented yet.
27581
27582 2004-09-17 Marco Gerards <metgerards@student.han.nl>
27583
27584 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
27585 can be loaded from normal mode.
27586
27587 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
27588 `multiboot.mod'.
27589 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
27590 (multiboot_mod_CFLAGS): New variables.
27591 * loader/i386/pc/linux_normal.c: New file.
27592 * loader/i386/pc/multiboot_normal.c: Likewise.
27593
27594 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
27595 attribute `unused'.
27596
27597 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
27598 `fdiro' to read the mode information from instead of `diro'.
27599
27600 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
27601 looking up a symlink.
27602
27603 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
27604 macro.
27605 * normal/command.c (grub_command_execute): Don't parse the
27606 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
27607 flags of the command.
27608
27609 * normal/menu.c (grub_menu_run): Fix typo.
27610
27611 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
27612
27613 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
27614
27615 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
27616 `y + 1' instead of `y - 1'.
27617
27618 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
27619
27620 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
27621
27622 From Hollis Blanchard <hollis@penguinppc.org>:
27623 * kern/misc.c (memmove): New alias for grub_memmove.
27624 (memcmp): New alias for grub_memcmp.
27625 (memset): New alias for grub_memset.
27626 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27627 Change "int handle" to "grub_ieee1275_phandle_t handle".
27628 * include/grub/powerpc/ieee1275/ieee1275.h
27629 (grub_ieee1275_get_property): Likewise.
27630
27631 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
27632
27633 Added normal mode command `chainloader' as module chain.mod, which
27634 depends on normal.mod and _chain.mod.
27635
27636 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
27637 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
27638 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
27639 Deleted prototype.
27640 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
27641 but arguments parsing moved to ...
27642 (grub_chainloader_cmd): ... here. New function.
27643 * include/grub/i386/pc/chainloader.h: New file.
27644 * loader/i386/pc/chainloader_normal.c: Likewise.
27645
27646 2004-09-11 Marco Gerards <metgerards@student.han.nl>
27647
27648 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
27649 (grub_mkimage_LDFLAGS): Likewise.
27650 (grub_emu_SOURCES): Likewise.
27651 (kernel_img_HEADERS): Added fshelp.h.
27652 * fs/ext2.c: Include <grub/fshelp.h>.
27653 (FILETYPE_REG): New macro.
27654 (FILETYPE_INO_REG): Likewise.
27655 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
27656 Changed all users.
27657 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
27658 all users.
27659 (grub_fshelp_node): New struct.
27660 (grub_ext2_data): Added member `diropen'. Changed member `inode'
27661 to a pointer.
27662 (grub_ext2_get_file_block): Removed function.
27663 (grub_ext2_read_block): New function.
27664 (grub_ext2_read_file): Replaced parameter `data' by `node'.
27665 This function was written.
27666 (grub_ext2_mount): Read the root inode. Create a diropen struct.
27667 (grub_ext2_find_file): Removed function.
27668 (grub_ext2_read_symlink): New function.
27669 (grub_ext2_iterate_dir): Likewise.
27670 (grub_ext2_open): Rewritten.
27671 (grub_ext2_dir): Rewritten.
27672 * include/grub/fshelp.h: New file.
27673 * fs/fshelp.c: Likewise.
27674
27675 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
27676
27677 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
27678 (print_message): Add a missing newline.
27679 (run_menu): Added timeout support.
27680 (run_menu_entry): New local function.
27681 (grub_menu_run): Added support for booting.
27682
27683 * kern/loader.c (grub_loader_is_loaded): New function.
27684
27685 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
27686 (grub_get_rtc): Exported.
27687
27688 * include/grub/i386/pc/time.h: Include grub/symbol.h.
27689 (grub_get_rtc): Exported.
27690
27691 * include/grub/normal.h (struct grub_command_list): Remove
27692 constant from the member `command'.
27693
27694 * include/grub/loader.h (grub_loader_is_loaded): Declared.
27695
27696 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
27697
27698 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
27699
27700 2004-08-28 Marco Gerards <metgerards@student.han.nl>
27701
27702 Add support for the JFS filesystem.
27703
27704 * fs/jfs.c: New file.
27705 * include/grub/fs.h (grub_jfs_init): New prototype.
27706 (grub_jfs_fini): New prototype.
27707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
27708 (grub_emu_SOURCES): Likewise.
27709 (pkgdata_MODULES): Add jfs.mod.
27710 (jfs_mod_SOURCES): New variable.
27711 (jfs_mod_CFLAGS): Likewise.
27712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
27713 (grubof_SOURCES): Likewise.
27714 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
27715
27716 * fs/fat.c (grub_fat_find_dir): Convert the filename little
27717 endian to the host endian.
27718 (grub_fat_utf16_to_utf8): Move function from there...
27719 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
27720 the endianness of the source string anymore.
27721 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
27722
27723 2004-08-24 Marco Gerards <metgerards@student.han.nl>
27724
27725 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
27726 (grub_boot_fini) [GRUB_UTIL]: Likewise.
27727 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
27728 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
27729
27730 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
27731 (grub_hfs_iterate_dir): Make the function static. Add prototypes
27732 for `node_found' and `it_dir'.
27733 (grub_hfs_dir): Add prototype for `dir_hook'.
27734
27735 * fs/minix.c (grub_minix_get_file_block): Add prototype for
27736 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
27737 and `indir32' to silence a gcc warning.
27738
27739 * include/grub/fs.h (grub_hfs_init): New prototype.
27740 (grub_hfs_fini): Likewise.
27741
27742
27743 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27744
27745 Each disk device has its own id now. This is useful to make use
27746 of multiple disk devices.
27747
27748 * include/grub/disk.h (grub_disk_dev_id): New enum.
27749 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
27750 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
27751
27752 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
27753 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27754
27755 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
27756 GRUB_DISK_DEVICE_OFDISK_ID as an id.
27757
27758 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
27759 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
27760
27761 * include/grub/disk.h (struct grub_disk_dev): Added a new member
27762 "id" which is used by the cache manager.
27763
27764 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
27765 of just "GRUB".
27766
27767 2004-08-18 Marco Gerards <metgerards@student.han.nl>
27768
27769 * fs/hfs.c: New file.
27770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
27771 (grub_emu_SOURCES): Likewise.
27772 (pkgdata_MODULES): Add hfs.mod.
27773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
27774 (grubof_SOURCES): Likewise.
27775 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
27776
27777 * include/grub/misc.h (grub_strncasecmp): Add prototype.
27778 * kern/misc.c (grub_strncasecmp): Add function.
27779
27780 2004-08-14 Marco Gerards <metgerards@student.han.nl>
27781
27782 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
27783 with parentheses.
27784
27785 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
27786 (grub_ext2_dir): In case the directory entry type is unknown, read
27787 it from the inode.
27788
27789 2004-08-02 Peter Bruin <pjbruin@dds.nl>
27790
27791 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
27792 grub_load_linux instead of grub_rescue_cmd_linux as second
27793 argument of grub_rescue_register_command.
27794
27795 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
27796
27797 2004-07-27 Marco Gerards <metgerards@student.han.nl>
27798
27799 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
27800 function.
27801 * commands/boot.c: Remove the check for `GRUB_UTIL'.
27802 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
27803 `loader/powerpc/ieee1275/linux.c',
27804 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
27805 * include/grub/powerpc/ieee1275/ieee1275.h
27806 (grub_ieee1275_release): New prototype.
27807 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
27808 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
27809 normal, boot, linux and linux_normal.
27810 * loader/powerpc/ieee1275/linux.c: New file.
27811 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27812
27813 2004-07-12 Marco Gerards <metgerards@student.han.nl>
27814
27815 * normal/arg.c (grub_arg_parse): Correct error handling after
27816 reallocating the argumentlist (check if `argl' is not null instead
27817 of checking if `args' is not null).
27818 * kern/mm.c (grub_realloc): Return the same pointer when using the
27819 same region, instead of returning the header address.
27820
27821 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27822
27823 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
27824 one block instead of two when looking for the initial partition.
27825 (grub_partition_probe): Initialize the local variable `p' with 0.
27826 Use base 10 for the grub_strtoul call.
27827 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
27828 need for one local variable.
27829 (grub_strtoul): Don't add the new value to `num', instead of that
27830 just assign it.
27831
27832 2004-07-11 Marco Gerards <metgerards@student.han.nl>
27833
27834 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
27835 (pxeboot_img_SOURCES): New variable.
27836 (pxeboot_img_ASFLAGS): Likewise.
27837 (pxeboot_img_LDFLAGS): Likewise.
27838 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
27839 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
27840 <lode_leroy@hotmail.com>.
27841
27842 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27843
27844 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
27845 there was no input.
27846
27847 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27848
27849 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
27850 the history buffer logic.
27851
27852 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
27853
27854 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
27855 (FILETYPE_INO_SYMLINK): New macros.
27856 (grub_ext2_find_file): Check if the node is a directory using the
27857 inode stat information instead of using the filetype in the
27858 dirent. Exclude the first character of an absolute symlink.
27859 (grub_ext2_dir): Mask out the filetype part of the mode member of
27860 the inode.
27861
27862 2004-05-24 Marco Gerards <metgerards@student.han.nl>
27863
27864 Add support for UFS version 1 and 2. Add support for the minix
27865 filesystem version 1 and 2, both the variants with 14 and 30 long
27866 filenames.
27867
27868 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
27869 fs/minix.c.
27870 (grub_emu_SOURCES): Likewise.
27871 (pkgdata_MODULES): Add ufs.mod and minix.mod.
27872 (ufs_mod_SOURCES): New variable.
27873 (ufs_mod_CFLAGS): Likewise.
27874 (minix_mod_SOURCES): Likewise.
27875 (minix_mod_CFLAGS): Likewise.
27876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
27877 fs/minix.c.
27878 (grubof_SOURCES): Likewise.
27879 * fs/ufs.c: New file.
27880 * fs/minix.c: New file.
27881 * include/grub/fs.h (grub_ufs_init): New prototype.
27882 (grub_ufs_fini): Likewise.
27883 (grub_minix_init): Likewise.
27884 (grub_minix_fini): Likewise.
27885 * util/grub-emu.c (main): Initialize and deinitialize UFS and
27886 minix fs.
27887
27888 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
27889
27890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
27891 commands/ls.c, commands/terminal.c, commands/boot.c,
27892 commands/cmp.c and commands/cat.c.
27893 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
27894
27895 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
27896 "env.h"
27897
27898 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27899
27900 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
27901 and grub_, respectively. Because the conversion is trivial and
27902 mechanical, I omit the details here. Please refer to the CVS
27903 if you need more information.
27904
27905 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27906
27907 * include/pupa: Renamed to ...
27908 * include/grub: ... this.
27909 * util/i386/pc/pupa-mkimage.c: Renamed to ...
27910 * util/i386/pc/grub-mkimage.c: ... this.
27911 * util/i386/pc/pupa-setup.c: Renamed to ...
27912 * util/i386/pc/grub-setup.c: ... this.
27913 * util/pupa-emu.c: Renamed to ...
27914 * util/grub-emu.c: ... this.
27915
27916 2004-03-29 Marco Gerards <metgerards@student.han.nl>
27917
27918 Add support for the newworld apple macintosh (PPC). This has been
27919 tested on the powerbook 2000 only. It only adds support for
27920 generic ieee1275 functions, console and disk support. This should
27921 be easy to port to other architectures with support for Open
27922 Firmware.
27923
27924 * configure.ac: Accept the powerpc as host_cpu. In the case of
27925 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27926 specific tests are only executed while building for the i386.
27927 Inverse test for crosscompile.
27928 * genmk.rb (Utility): Allow assembler files.
27929 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27930 * conf/powerpc-ieee1275.rmk: New file.
27931 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27932 * disk/powerpc/ieee1275/partition.c: Likewise.
27933 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27934 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27935 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27936 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27937 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27938 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27939 * include/pupa/powerpc/ieee1275/loader.h
27940 * include/pupa/powerpc/setjmp.h: Likewise.
27941 * include/pupa/powerpc/types.h: Likewise.
27942 * kern/powerpc/ieee1275/init.c: Likewise.
27943 * kern/powerpc/ieee1275/openfw.c: Likewise.
27944 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27945
27946 These files were written by Johan Rydberg
27947 (jrydberg@night.trouble.net) and I only modified them slightly.
27948
27949 * boot/powerpc/ieee1275/cmain.c: New file.
27950 * boot/powerpc/ieee1275/crt0.S: Likewise.
27951 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27952 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27953
27954 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27955
27956 * Makefile.in: Update copyright.
27957 * genmodsrc.sh: Likewise.
27958 * gensymlist.sh: Likewise.
27959 * term/i386/pc/vga.c: Indent correctly.
27960
27961 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27962 bugreporting address.
27963 * util/i386/pc/pupa-setup.c (usage): Likewise,
27964 (main): Call pupa_ext2_init and pupa_ext2_fini.
27965
27966 * fs/fat.c (log2): Renamed to ...
27967 (fat_log2): ... this.
27968 All callers changed.
27969 * kern/misc.c (memcpy): Alias to pupa_memmove.
27970 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27971 lvalue cast.
27972 * util/console.c (pupa_ncurses_fini): Return 0.
27973
27974 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27975 Move fail label here.
27976 [__GNU__]: Don't warn when using stat.
27977 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27978 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27979 long int. Use strtol instead of strtoul.
27980
27981 2004-03-14 Marco Gerards <metgerards@student.han.nl>
27982
27983 * commands/boot.c: New file.
27984 * commands/cat.c: Likewise.
27985 * commands/cmp.c: Likewise.
27986 * commands/ls.c: Likewise.
27987 * commands/terminal.c: Likewise.
27988 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27989 (pupa_register_command): Changed interface to match the new
27990 argument parser.
27991 (pupa_command_execute): Changed (almost rewritten) so it uses
27992 pupa_split_command. Added support for setting variables using the
27993 syntax `foo=bar'.
27994 (rescue_command): Changed to work with the new argument parser.
27995 (terminal_command): Moved from here to commands/terminal.c.
27996 (set_command): New function.
27997 (unset_command): New function.
27998 (insmod_command): New function.
27999 (rmmod_command): New function.
28000 (lsmod_command): New function.
28001 (pupa_command_init): Don't initialize the command terminal
28002 anymore. Initialize the commands set, unset, insmod, rmmod and
28003 lsmod.
28004 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28005 (kernel_img_HEADERS): Add arg.h and env.h.
28006 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28007 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28008 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28009 normal/arg.c.
28010 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28011 terminal.mod.
28012 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28013 (boot_mod_SOURCES): New variable.
28014 (terminal_mod_SOURCES): Likewise.
28015 (ls_mod_SOURCES): Likewise.
28016 (cmp_mod_SOURCES): Likewise.
28017 (cat_mod_SOURCES): Likewise.
28018
28019 * normal/arg.c: New file.
28020 * kern/env.c: Likewise.
28021 * include/pupa/arg.h: Likewise.
28022 * include/pupa/env.h: Likewise.
28023 * font/manager.c (font_command): Changed to match argument parsing
28024 interface changes.
28025 (PUPA_MOD_INIT): Likewise.
28026 * hello/hello.c (pupa_cmd_hello): Likewise.
28027 (PUPA_MOD_INIT): Likewise.
28028 * include/pupa/disk.h: Include <pupa/device.h>.
28029 (pupa_print_partinfo): New prototype.
28030 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28031 (pupa_dl_get_prefix): Likewise.
28032 * include/pupa/misc.h: Include <pupa/err.h>.
28033 (pupa_isgraph): New prototype.
28034 (pupa_isdigit): Likewise.
28035 (pupa_split_cmdline): Likewise.
28036 * include/pupa/normal.h: Include <pupa/arg.h>.
28037 (pupa_command): Changed the prototype of the member `func' to
28038 match the argument parsing interface. Added member `options'.
28039 (pupa_register_command): Updated to match function.
28040 (pupa_arg_parse): New prototype.
28041 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28042 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28043 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28044 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28045 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28046 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28047 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28048 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28049 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28050 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28051 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28052 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28053 * kern/disk.c: Include <pupa/file.h>.
28054 (pupa_print_partinfo): New function.
28055 * kern/dl.c: Include <pupa/env.h>.
28056 (pupa_dl_dir): Variable removed.
28057 (pupa_dl_load): Use the environment variable `prefix' instead of
28058 the variable pupa_dl_dir.
28059 (pupa_dl_set_prefix): Function removed.
28060 (pupa_dl_get_prefix): Likewise.
28061 * kern/i386/pc/init.c: Include <pupa/env.h>.
28062 (pupa_machine_init): Use the environment variable `prefix' instead of
28063 using pupa_dl_set_prefix to set the prefix.
28064 * kern/main.c: Include <pupa/env.h>.
28065 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28066 using pupa_dl_get_prefix to get the prefix.
28067 * kern/misc.c: Include <pupa/env.h>.
28068 (pupa_isdigit): New function.
28069 (pupa_isgraph): Likewise.
28070 (pupa_ftoa): Likewise.
28071 (pupa_vsprintf): Added support for printing values of the type
28072 `double'. Make it possible to format variable output when using
28073 formatting like `%1.2%f'.
28074 (pupa_split_cmdline): New function.
28075 * kern/rescue.c: Include <pupa/env.h>.
28076 (next_word): Removed function.
28077 (pupa_rescue_cmd_prefix): Likewise.
28078 (pupa_rescue_cmd_set): New function.
28079 (pupa_rescue_cmd_unset): New function.
28080 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28081 split the command line instead of splitting it here. Added
28082 support for setting variables using the syntax `foo=bar'. Don't
28083 initialize the prefix command anymore. Initialized the set and
28084 unset commands.
28085 * normal/cmdline.c: Include <pupa/env.h>.
28086 (pupa_tab_complete): Added prototypes for print_simple_completion,
28087 print_partition_completion, add_completion, iterate_commands,
28088 iterate_dev, iterate_part and iterate_dir. Moved code to print
28089 partition information from here to kern/disk.c.
28090 (pupa_cmdline_run): Don't check if the function exists anymore.
28091 * normal/main.c: Include <pupa/env.h>.
28092 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28093 instead of using pupa_dl_get_prefix to get the prefix.
28094 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28095 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28096 warning.
28097 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28098 (pupa_vga_setcolor): Declare unused variables with `__attribute__
28099 ((unused))' to silence a gcc warning.
28100 (pupa_vga_setcolor): Likewise.
28101 (debug_command): Changed to match argument parsing
28102 interface changes.
28103 * util/pupa-emu.c: Include <pupa/env.h>.
28104 (options): Added 0's for unused fields to silence a gcc warning.
28105 (argp): Likewise.
28106 (main): Use the environment variable `prefix' instead of using
28107 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
28108 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
28109 and terminal.
28110
28111 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
28112 * util/misc.c: Include <malloc.h>.
28113 (pupa_malloc): Rewritten so errors are correctly reported.
28114 (pupa_realloc): Likewise.
28115 (pupa_memalign): Likewise.
28116 (pupa_mm_init_region): Declare unused variables with
28117 `__attribute__ ((unused))' to silence a gcc warning.
28118 * normal/i386/setjmp.S: Remove tab at the end of the file to
28119 silence a gcc warning.
28120 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
28121 variables with `__attribute__ ((unused))' to silence a gcc
28122 warning.
28123 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
28124 local variable i unsigned to silence a gcc warning.
28125
28126 * kern/term.c: Include <pupa/misc.h>.
28127 (pupa_more_lines): New variable.
28128 (pupa_more): Likewise.
28129 (pupa_putcode): When the pager is active pause at the end of every
28130 screen.
28131 (pupa_set_more): New function.
28132 * include/pupa/term.h (pupa_set_more): New prototype.
28133
28134
28135 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
28136
28137 Now this project is GRUB 2 rather than PUPA. The location of
28138 the CVS repository was moved to GRUB's.
28139
28140 * configure.ac: Use bug-grub as the reporting address.
28141 Use GRUB instead of PUPA.
28142 Change the version number to 1.90.
28143
28144 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
28145
28146 * genkernsyms.sh: Updated copyright information.
28147 * genmk.rb: Likewise.
28148 * genmodsrc.sh: Likewise.
28149 * gensymlist.sh: Likewise.
28150 * boot/i386/pc/boot.S: Likewise.
28151 * boot/i386/pc/diskboot.S: Likewise.
28152 * disk/i386/pc/biosdisk.c: Likewise.
28153 * disk/i386/pc/partition.c: Likewise.
28154 * font/manager.c: Likewise.
28155 * fs/ext2.c: Likewise.
28156 * fs/fat.c: Likewise.
28157 * include/pupa/boot.h: Likewise.
28158 * include/pupa/device.h: Likewise.
28159 * include/pupa/disk.h: Likewise.
28160 * include/pupa/dl.h: Likewise.
28161 * include/pupa/elf.h: Likewise.
28162 * include/pupa/err.h: Likewise.
28163 * include/pupa/file.h: Likewise.
28164 * include/pupa/font.h: Likewise.
28165 * include/pupa/fs.h: Likewise.
28166 * include/pupa/kernel.h: Likewise.
28167 * include/pupa/loader.h: Likewise.
28168 * include/pupa/misc.h: Likewise.
28169 * include/pupa/mm.h: Likewise.
28170 * include/pupa/net.h: Likewise.
28171 * include/pupa/normal.h: Likewise.
28172 * include/pupa/rescue.h: Likewise.
28173 * include/pupa/setjmp.h: Likewise.
28174 * include/pupa/symbol.h: Likewise.
28175 * include/pupa/term.h: Likewise.
28176 * include/pupa/types.h: Likewise.
28177 * include/pupa/i386/setjmp.h: Likewise.
28178 * include/pupa/i386/types.h: Likewise.
28179 * include/pupa/i386/pc/biosdisk.h: Likewise.
28180 * include/pupa/i386/pc/boot.h: Likewise.
28181 * include/pupa/i386/pc/console.h: Likewise.
28182 * include/pupa/i386/pc/init.h: Likewise.
28183 * include/pupa/i386/pc/kernel.h: Likewise.
28184 * include/pupa/i386/pc/linux.h: Likewise.
28185 * include/pupa/i386/pc/loader.h: Likewise.
28186 * include/pupa/i386/pc/memory.h: Likewise.
28187 * include/pupa/i386/pc/multiboot.h: Likewise.
28188 * include/pupa/i386/pc/partition.h: Likewise.
28189 * include/pupa/i386/pc/time.h: Likewise.
28190 * include/pupa/i386/pc/vga.h: Likewise.
28191 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
28192 * include/pupa/util/getroot.h: Likewise.
28193 * include/pupa/util/misc.h: Likewise.
28194 * include/pupa/util/resolve.h: Likewise.
28195 * kern/device.c: Likewise.
28196 * kern/disk.c: Likewise.
28197 * kern/dl.c: Likewise.
28198 * kern/err.c: Likewise.
28199 * kern/file.c: Likewise.
28200 * kern/fs.c: Likewise.
28201 * kern/loader.c: Likewise.
28202 * kern/main.c: Likewise.
28203 * kern/misc.c: Likewise.
28204 * kern/mm.c: Likewise.
28205 * kern/rescue.c: Likewise.
28206 * kern/term.c: Likewise.
28207 * kern/i386/dl.c: Likewise.
28208 * kern/i386/pc/init.c: Likewise.
28209 * kern/i386/pc/lzo1x.S: Likewise.
28210 * kern/i386/pc/startup.S: Likewise.
28211 * loader/i386/pc/chainloader.c: Likewise.
28212 * loader/i386/pc/linux.c: Likewise.
28213 * loader/i386/pc/multiboot.c: Likewise.
28214 * normal/cmdline.c: Likewise.
28215 * normal/command.c: Likewise.
28216 * normal/main.c: Likewise.
28217 * normal/menu.c: Likewise.
28218 * normal/i386/setjmp.S: Likewise.
28219 * term/i386/pc/console.c: Likewise.
28220 * term/i386/pc/vga.c: Likewise.
28221 * util/console.c: Likewise.
28222 * util/genmoddep.c: Likewise.
28223 * util/misc.c: Likewise.
28224 * util/pupa-emu.c: Likewise.
28225 * util/resolve.c: Likewise.
28226 * util/unifont2pff.rb: Likewise.
28227 * util/i386/pc/biosdisk.c: Likewise.
28228 * util/i386/pc/getroot.c: Likewise.
28229 * util/i386/pc/pupa-mkimage.c: Likewise.
28230 * util/i386/pc/pupa-setup.c: Likewise.
28231
28232 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
28233
28234 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
28235 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
28236 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
28237 reading and reset it after reading.
28238 (pupa_ext2_close): Return PUPA_ERR_NONE.
28239
28240 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
28241 Correct value.
28242 (struct linux_kernel_header): Add kernel_version and
28243 initrd_addr_max.
28244 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
28245 pupa_file_read succeeds.
28246 (pupa_rescue_cmd_initrd): Implement.
28247
28248 2003-12-03 Marco Gerards <metgerards@student.han.nl>
28249
28250 * fs/ext2.c (pupa_ext2_label): New function.
28251 (pupa_ext2_fs): Added label.
28252 * fs/fat.c (pupa_fat_label): New function.
28253 (pupa_fat_fs): Added label.
28254 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
28255
28256 * kern/misc.c (pupa_strndup): New function.
28257 * include/pupa/misc.h (pupa_strndup): New prototype.
28258
28259 * include/pupa/normal.h: Include <pupa/err.h>.
28260 (pupa_set_history): New prototype.
28261 (pupa_iterate_commands): New prototype.
28262 * normal/cmdline.c: Include <pupa/machine/partition.h>,
28263 <pupa/disk.h>, <pupa/file.h>.
28264 (hist_size): New variable.
28265 (hist_lines): Likewise.
28266 (hist_end): Likewise.
28267 (hist_used): Likewise.
28268 (pupa_set_history): New function.
28269 (pupa_history_get): Likewise.
28270 (pupa_history_add): Likewise.
28271 (pupa_history_replace): Likewise.
28272 (pupa_tab_complete): Likewise.
28273 (pupa_cmdline_run): Added tab completion and history buffer. Tab
28274 completion shows partitionnames while completing partitions, this
28275 feature was suggested by Jeff Bailey.
28276 * normal/command.c (pupa_iterate_commands): New function.
28277 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
28278 (pupa_normal_init): Initialize history buffer.
28279 (PUPA_MOD_INIT): Likewise.
28280 (pupa_normal_fini): Free the history buffer.
28281 (PUPA_MOD_FINI): Likewise.
28282
28283 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
28284 key.
28285
28286 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
28287 * configure.ac [i386]: Check for regparam bug.
28288 (NESTED_FUNC_ATTR) [! i386]: Defined.
28289
28290 2003-11-17 Marco Gerards <metgerards@student.han.nl>
28291
28292 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
28293 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
28294 (pupa_emu_SOURCES): New variable.
28295 (pupa_emu_LDFLAGS): Likewise.
28296 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
28297 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
28298 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
28299 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28300 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
28301 (pupa_jmp_buf): New typedef.
28302 (pupa_setjmp) [PUPA_UTIL]: New macro.
28303 (pupa_longjmp) [PUPA_UTIL]: Likewise.
28304 * include/pupa/term.h (struct pupa_term): New member `refresh'.
28305 (pupa_refresh): New prototype.
28306 * include/pupa/util/getroot.h: New file.
28307 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
28308 it.
28309 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
28310 (pupa_rescue_cmd_cat): Likewise.
28311 (pupa_rescue_cmd_ls): Likewise.
28312 (pupa_rescue_cmd_testload): Likewise.
28313 (pupa_rescue_cmd_lsmod): Likewise.
28314 * normal/cmdline.c (pupa_cmdline_get): Likewise.
28315 * normal/menu.c (run_menu): Likewise.
28316 * kern/term.c (pupa_cls): Likewise.
28317 (pupa_refresh): New function.
28318 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
28319 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
28320 * util/console.c: New file.
28321
28322 * util/i386/pc/getroot.c: New file.
28323 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
28324 (pupa_putchar): New function.
28325 (pupa_refresh): Likewise.
28326 (xgetcwd): Function moved to ...
28327 (strip_extra_slashes): Likewise.
28328 (get_prefix): Likewise.
28329 * util/i386/pc/getroot.c: ... here.
28330 (find_root_device): Function moved and renamed to...
28331 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
28332 Changed all callers.
28333 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
28334 and renamed to...
28335 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
28336 Changed all callers.
28337 * util/misc.c (pupa_memalign): New function.
28338 (pupa_mm_init_region): Likewise.
28339 (pupa_register_exported_symbols): Likewise.
28340 (pupa_putchar): Function removed.
28341 * util/pupa-emu.c: New file.
28342
28343 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
28344
28345 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
28346 (_multiboot_mod_SOURCES): New variable.
28347 (_multiboot_mod_CFLAGS): Likewise.
28348 * loader/i386/pc/multiboot.c: New file.
28349 * include/pupa/i386/pc/multiboot.h: Likewise.
28350 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
28351 (pupa_multiboot_real_boot): New function.
28352 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
28353 (pupa_multiboot_real_boot): New prototype.
28354 (pupa_rescue_cmd_multiboot): Likewise
28355 (pupa_rescue_cmd_module): Likewise.
28356
28357 * kern/loader.c (pupa_loader_set): Continue when
28358 pupa_loader_unload_func() fails.
28359 (pupa_loader_unset): New function.
28360 * include/pupa/loader.h (pupa_loader_unset): New prototype.
28361
28362 * kern/misc.c (pupa_stpcpy): New function.
28363 * include/pupa/misc.h (pupa_stpcpy): New prototype.
28364
28365 2003-11-12 Marco Gerards <metgerards@student.han.nl>
28366
28367 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
28368 for available extensions.
28369
28370 * include/pupa/i386/pc/time.h: New file.
28371 * kern/disk.c: Include <pupa/machine/time.h>.
28372 (PUPA_CACHE_TIMEOUT): New macro.
28373 (pupa_last_time): New variable.
28374 (pupa_disk_open): Flush the cache when there was a timeout.
28375 (pupa_disk_close): Reset the timer.
28376 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
28377 pupa_currticks.
28378 * util/misc.c: Include <sys/times.h>
28379 (pupa_get_rtc): New function.
28380
28381 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28382
28383 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
28384 as blocks.
28385 (pupa_ext2_get_file_block): Use blocks member.
28386
28387 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
28388 first block. Return -1 instead of pupa_errno on error.
28389
28390 2003-10-27 Marco Gerards <metgerards@student.han.nl>
28391
28392 * README: In the pupa-mkimage example use _chain instead of chain
28393 and ext2 instead of fat.
28394 * TODO: Replace ext2fs with jfs as an example. Add an item for
28395 adding journal playback for ext2fs.
28396 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
28397 (pkgdata_MODULES): Added ext2.mod.
28398 (ext2_mod_SOURCES): New variable.
28399 (ext2_mod_CFLAGS): Likewise.
28400 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
28401 * include/pupa/misc.h (pupa_strncpy): New prototype.
28402 (pupa_strcat): Likewise.
28403 (pupa_strncmp): Likewise.
28404 * kern/misc.c (pupa_strcat): Enable function.
28405 (pupa_strncpy): New function.
28406 (pupa_strncmp): Likewise.
28407 * fs/ext2.c: New file.
28408
28409 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
28410 when the read failed before retrying.
28411 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
28412 (_FILE_OFFSET_BITS): Likewise.
28413 * configure.ac: Added AC_SYS_LARGEFILE.
28414
28415 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28416
28417 * genmk.rb (PModule#rule): Make sure to get only symbol names
28418 from the output of nm.
28419 Reported by Robert Millan <rmh.grub@aybabtu.com>.
28420
28421 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
28422
28423 I forgot to check in these changes for a long time. This adds
28424 incomplete support for VGA console, and this is still very
28425 buggy. Also, a lot of consideration is required for I18N,
28426 UNICODE, and VGA font issues. Therefore, assume that this is
28427 such that "better than nothing".
28428
28429 * font/manager.c: New file.
28430 * include/pupa/font.h: Likewise.
28431 * include/pupa/i386/pc/vga.h: Likewise.
28432 * term/i386/pc/vga.c: Likewise.
28433 * util/unifont2pff.rb: Likewise.
28434
28435 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
28436 (pkgdata_MODULES): Added vga.mod and font.mod.
28437 (vga_mod_SOURCES): New variables.
28438 (vga_mod_CFLAGS): Likewise.
28439 (font_mod_SOURCES): Likewise.
28440 (font_mod_CFLAGS): Likewise.
28441
28442 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
28443
28444 * include/pupa/term.h: Include pupa/err.h.
28445 (struct pupa_term): Added init and fini.
28446 Changed the argument of putchar to pupa_uint32_t.
28447
28448 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
28449 (pupa_console_real_putchar): New prototype.
28450 (pupa_console_putchar): Removed.
28451 (pupa_console_checkkey): Exported.
28452 (pupa_console_getkey): Likewise.
28453
28454 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
28455 characters.
28456
28457 * kern/term.c (pupa_term_set_current): Rewritten.
28458 (pupa_putchar): Likewise.
28459 (pupa_putcode): New function.
28460
28461 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
28462 (pupa_console_real_putchar): ... this.
28463 (pupa_vga_set_mode): New function.
28464 (pupa_vga_get_font): Likewise.
28465
28466 * normal/command.c: Include pupa/term.h.
28467 (terminal_command): New function.
28468 (pupa_command_init): Register the command "terminal".
28469
28470 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
28471 (DISP_UP): Likewise.
28472 (DISP_RIGHT): Likewise.
28473 (DISP_DOWN): Likewise.
28474 (DISP_HLINE): Likewise.
28475 (DISP_VLINE): Likewise.
28476 (DISP_UL): Likewise.
28477 (DISP_UR): Likewise.
28478 (DISP_LL): Likewise.
28479 (DISP_LR): Likewise.
28480
28481 * term/i386/pc/console.c (pupa_console_putchar): New function.
28482
28483 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
28484
28485 * util/resolve.c (pupa_util_resolve_dependencies): BUG
28486 FIX. Reverse the path_list.
28487
28488 * include/pupa/normal.h: Export pupa_register_command and
28489 pupa_unregister_command.
28490
28491 * hello/hello.c (pupa_cmd_hello): New module.
28492 * conf/i386-pc.rmk: Added hello.mod.
28493
28494 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
28495
28496 * kern/i386/pc/lzo1x.S: New file.
28497
28498 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
28499 (compress_kernel): New variable.
28500 (generate_image): Heavily modified to support compressing a
28501 large part of the core image.
28502
28503 * util/misc.c (pupa_util_read_image): Fix a file descriptor
28504 leak.
28505 (pupa_util_load_image): New function.
28506
28507 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
28508 (pupa_compressed_size): New variable.
28509 (codestart): Enable Gate A20 here.
28510 Decompress the compressed part of the core image.
28511 Rearrange the code to put functions and variables which are
28512 required for initialization in the non-compressed part.
28513 Include lzo1x.S.
28514
28515 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
28516 here.
28517
28518 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
28519
28520 * include/pupa/i386/pc/kernel.h
28521 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
28522 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
28523 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28524 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28525 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
28526
28527 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
28528
28529 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
28530 (Utility#rule): Likewise.
28531
28532 * configure.ac: Check if LZO is available.
28533
28534 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
28535
28536 * include/pupa/normal.h: New file.
28537 * include/pupa/setjmp.h: Likewise.
28538 * include/pupa/i386/setjmp.h: Likewise.
28539 * normal/cmdline.c: Likewise.
28540 * normal/command.c: Likewise.
28541 * normal/main.c: Likewise.
28542 * normal/menu.c: Likewise.
28543 * normal/i386/setjmp.S: Likewise.
28544
28545 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
28546 (pupa_rescue_cmd_initrd): Likewise.
28547
28548 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
28549 Likewise.
28550
28551 * kern/i386/pc/startup.S (translation_table): New variable.
28552 (translate_keycode): New function.
28553 (pupa_console_getkey): Call translate_keycode.
28554
28555 * kern/rescue.c (attempt_normal_mode): New function.
28556 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
28557 it failed, print a message.
28558
28559 * kern/mm.c (pupa_real_malloc): Print more information when a
28560 free magic is broken.
28561 (pupa_free): If the first free header is not free actually, set
28562 it to P.
28563
28564 * kern/main.c (pupa_load_normal_mode): Just load the module
28565 "normal".
28566 (pupa_main): Don't print the message
28567 "Entering into rescue mode..." here.
28568
28569 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
28570 Declared.
28571 (pupa_rescue_cmd_initrd): Likewise.
28572 (pupa_rescue_cmd_initrd): Likewise.
28573
28574 * include/pupa/symbol.h (FUNCTION): Specify the type.
28575 (VARIABLE): Likewise.
28576
28577 * include/pupa/err.h (pupa_err_t): Added
28578 PUPA_ERR_UNKNOWN_COMMAND.
28579
28580 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
28581 (pupa_dl_get_prefix): Likewise.
28582
28583 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
28584 Added _chain.mod and _linux.mod instead of chain.mod and
28585 linux.mod.
28586 (chain_mod_SOURCES): Renamed to ...
28587 (_chain_mod_SOURCES): ... this.
28588 (chain_mod_CFLAGS): Renamed to ...
28589 (_chain_mod_CFLAGS): ... this.
28590 (linux_mod_SOURCES): Renamed to ...
28591 (_linux_mod_SOURCES): ... this.
28592 (linux_mod_CFLAGS): Renamed to ...
28593 (_linux_mod_CFLAGS): ... this.
28594 (normal_mod_SOURCES): New variable.
28595 (normal_mod_CFLAGS): Likewise.
28596 (normal_mod_ASFLAGS): Likewise.
28597
28598 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
28599
28600 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
28601 possible.
28602
28603 * kern/dl.c (pupa_dl_ref): Refer depending modules
28604 recursively.
28605 (pupa_dl_unref): Unrefer depending modules recursively.
28606 Don't call pupa_dl_unload implicitly, because PUPA can crash if
28607 a module is unloaded before one depending on that module is
28608 unloaded.
28609 (pupa_dl_unload): Unload depending modules explicitly,
28610 if possible.
28611
28612 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
28613
28614 * include/pupa/i386/pc/linux.h: New file.
28615 * loader/i386/pc/linux.c: Likewise.
28616
28617 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
28618 Removed.
28619 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
28620 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
28621 of PUPA_CHAINLOADER_BOOT_SECTOR.
28622
28623 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
28624 (pupa_linux_prot_size): New variable.
28625 (pupa_linux_tmp_addr): Likewise.
28626 (pupa_linux_real_addr): Likewise.
28627 (pupa_linux_boot_zimage): New function.
28628 (pupa_linux_boot_bzimage): Likewise.
28629
28630 * kern/i386/pc/init.c (struct mem_region): New structure.
28631 (MAX_REGIONS): New macro.
28632 (mem_regions): New variable.
28633 (num_regions): Likewise.
28634 (pupa_os_area_addr): Likewise.
28635 (pupa_os_area_size): Likewise.
28636 (pupa_lower_mem): Likewise.
28637 (pupa_upper_mem): Likewise.
28638 (add_mem_region): New function.
28639 (compact_mem_regions): Likewise.
28640 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
28641 the size of the conventional memory and that of so-called upper
28642 memory (before the first memory hole).
28643 Instead of adding each found region to free memory, use
28644 add_mem_region and add them after removing overlaps.
28645 Also, add only 1/4 of the upper memory to free memory. The rest
28646 is used for loading OS images. Maybe this is ad hoc, but this
28647 makes it much easier to relocate OS images when booting.
28648
28649 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
28650 (pupa_enter_rescue_mode): Don't register initrd and module.
28651
28652 * kern/mm.c: Include pupa/dl.h.
28653
28654 * kern/main.c: Include pupa/file.h and pupa/device.h.
28655
28656 * kern/loader.c (pupa_loader_load_module_func): Removed.
28657 (pupa_loader_load_module): Likewise.
28658
28659 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
28660 ``.o''.
28661
28662 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
28663 (pupa_linux_tmp_addr): Likewise.
28664 (pupa_linux_real_addr): Likewise.
28665 (pupa_linux_boot_zimage): Likewise.
28666 (pupa_linux_boot_bzimage): Likewise.
28667
28668 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
28669 (pupa_upper_mem): Likewise.
28670 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
28671 module is too dangerous.
28672
28673 * include/pupa/loader.h (pupa_os_area_addr): Declared.
28674 (pupa_os_area_size): Likewise.
28675 (pupa_loader_set): Remove the first argument. Loader doesn't
28676 manage modules or initrd any longer.
28677 (pupa_loader_load_module): Removed.
28678
28679 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
28680 (linux_mod_SOURCES): New variable.
28681 (linux_mod_CFLAGS): Likewise.
28682
28683 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
28684
28685 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
28686 the length of a blocklist correctly.
28687
28688 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
28689 Use ioctl only if the OS file is a block device.
28690 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
28691 not very useful for normal files.
28692
28693 * kern/main.c (pupa_set_root_dev): New function.
28694 (pupa_load_normal_mode): Likewise.
28695 (pupa_main): Call those above.
28696
28697 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
28698 pupa_uint16_t.
28699
28700 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
28701
28702 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28703
28704 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
28705 (setup): Configure the installed partition information and the
28706 dl prefix.
28707
28708 * loader/i386/pc/chainloader.c (my_mod): New variable.
28709 (pupa_chainloader_unload): New function.
28710 (pupa_rescue_cmd_chainloader): Refer itself.
28711 (PUPA_MOD_INIT): Save its own module in MY_MOD.
28712
28713 * kern/i386/pc/startup.S (install_partition): Removed.
28714 (version_string): Likewise.
28715 (config_file): Likewise.
28716 (pupa_install_dos_part): New variable.
28717 (pupa_install_bsd_part): Likewise.
28718 (pupa_prefix): Likewise.
28719 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
28720
28721 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
28722 and pupa/misc.h.
28723 (make_install_device): New function.
28724 (pupa_machine_init): Set the dl prefix.
28725
28726 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
28727 (buf): Renamed to ...
28728 (linebuf): ... this.
28729 (pupa_rescue_cmd_prefix): New function.
28730 (pupa_rescue_cmd_insmod): Likewise.
28731 (pupa_rescue_cmd_rmmod): Likewise.
28732 (pupa_rescue_cmd_lsmod): Likewise.
28733 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
28734 rmmod and lsmod.
28735
28736 * kern/mm.c (pupa_memalign): If failed even after invalidating
28737 disk caches, unload unneeded modules and retry.
28738
28739 * kern/misc.c (pupa_memmove): New function.
28740 (pupa_memcpy): Removed.
28741 (pupa_strcpy): New function.
28742 (pupa_itoa): Made static.
28743
28744 * kern/dl.c (pupa_dl_iterate): New function.
28745 (pupa_dl_ref): Likewise.
28746 (pupa_dl_unref): Likewise.
28747 (pupa_dl_unload): Return if succeeded or not.
28748 (pupa_dl_unload_unneeded): New function.
28749 (pupa_dl_unload_all): Likewise.
28750 (pupa_dl_init): Renamed to ...
28751 (pupa_dl_set_prefix): ... this.
28752 (pupa_dl_get_prefix): New function.
28753
28754 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
28755 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
28756 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
28757 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
28758 (pupa_install_dos_part): Declared.
28759 (pupa_install_bsd_part): Likewise.
28760 (pupa_prefix): Likewise.
28761 (pupa_boot_drive): Likewise.
28762
28763 * include/pupa/types.h: Fix a typo.
28764
28765 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
28766 pupa_memmove.
28767 (pupa_memmove): Declared.
28768 (pupa_strcpy): Likewise.
28769
28770 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
28771 pupa_mod_init takes one argument, its own module.
28772 (pupa_dl_unload_unneeded): Declared.
28773 (pupa_dl_unload_all): Likewise.
28774 (pupa_dl_ref): Likewise.
28775 (pupa_dl_unref): Likewise.
28776 (pupa_dl_iterate): Likewise.
28777 (pupa_dl_init): Renamed to ...
28778 (pupa_dl_set_prefix): ... this.
28779 (pupa_dl_get_prefix): Declared.
28780
28781 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
28782 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
28783 unloaded.
28784 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
28785 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
28786
28787 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
28788 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
28789
28790 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28791
28792 * util/i386/pc/pupa-setup.c (setup): Define the internal
28793 function find_first_partition_start at the top level, because GCC
28794 3.0.x cannot compile internal functions in deeper scopes
28795 correctly.
28796 (find_root_device): Use lstat instead of stat.
28797 Don't follow symbolic links.
28798 Fix the path-constructing code.
28799
28800 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
28801 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
28802 by a BLKGETSIZE ioctl first, because block devices don't fill
28803 the member st_mode of the structure stat on Linux.
28804 [__linux__] (linux_find_partition): Use a temporary buffer
28805 REAL_DEV for the working space. Copy it to DEV before returning.
28806 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
28807 buffer cache consistent.
28808 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
28809 strncmp. The previous value was merely wrong.
28810 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
28811
28812 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
28813 FAT size is 12. The previous value was merely wrong.
28814
28815 * kern/main.c (pupa_main): Don't split the starting message from
28816 newlines.
28817
28818 * kern/term.c (pupa_putchar): Put CR after LF instead of before
28819 LF, because BIOS goes crazy about character attributes in this
28820 case.
28821
28822 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
28823
28824 * include/i386/pc/util/biosdisk.h: New file.
28825 * util/i386/pc/biosdisk.c: Likewise.
28826 * util/i386/pc/pupa-setup.c: Likewise.
28827
28828 * Makefile.in (INCLUDE_DISTFILES): Added
28829 include/pupa/i386/pc/util/biosdisk.h.
28830 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
28831 directory util/i386/pc.
28832 (install-local): Added a rule for sbin_UTILITIES.
28833 (uninstall): Likewise.
28834
28835 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
28836
28837 * util/misc.c (xrealloc): New function.
28838 (pupa_malloc): Likewise.
28839 (pupa_free): Likewise.
28840 (pupa_realloc): Likewise.
28841 (pupa_stop): Likewise.
28842 (pupa_putchar): Likewise.
28843
28844 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
28845
28846 * include/pupa/util/misc.h (xrealloc): Declared.
28847
28848 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
28849 macro.
28850 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
28851 (PUPA_BOOT_MACHINE_BPB_END): ... this.
28852
28853 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
28854 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28855
28856 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
28857 way should be implemented.
28858 [PUPA_UTIL] (pupa_fat_fini): Likewise.
28859
28860 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
28861 the size of NAME for safety.
28862 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
28863 0x88.
28864
28865 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
28866 (pupa_setup_SOURCES): Likewise.
28867
28868 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
28869
28870 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28871
28872 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
28873 bunch of pushl's from pusha, because this destroys the return
28874 value.
28875
28876 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
28877
28878 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
28879 This means that any missing prototypes could be fatal. Also, you
28880 must take care when writing assembly code. See the comments at
28881 the beginning of startup.S, for more details.
28882
28883 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
28884 compilation mechanism.
28885 (pupa_chainloader_real_boot): Likewise.
28886 (pupa_biosdisk_rw_int13_extensions): Likewise.
28887 (pupa_biosdisk_rw_standard): Likewise.
28888 (pupa_biosdisk_check_int13_extensions): Likewise.
28889 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
28890 (pupa_biosdisk_get_diskinfo_standard): Likewise.
28891 (pupa_get_memsize): Likewise.
28892 (pupa_get_mmap_entry): Likewise.
28893 (pupa_console_putchar): Likewise.
28894 (pupa_console_setcursor): Likewise.
28895 (pupa_getrtsecs): Use pushl instead of push.
28896
28897 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
28898 memory instead of the stack for a mmap entry, because some
28899 BIOSes may ignore the maximum size and overflow.
28900
28901 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
28902
28903 * genmk.rb (PModule#rule): Compile automatically generated
28904 sources with module-specific CFLAGS as well as other sources.
28905
28906 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28907
28908 * configure.ac: Check ld.
28909 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
28910 respectively, before checking endianness and sizes.
28911
28912 * Makefile.in (LD): New variable.
28913
28914 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28915
28916 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28917
28918 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28919
28920 * Changelog: New file.
28921